You are on page 1of 30

Class diagram Class Diagram provides an overview of the target system by describing the objects and classes inside

the system and the relationships between them. It provides a wide variety of usages; from modeling the domain-specific data structure to detailed design of the target system. With the share model facilities, you can reuse your class model in the interaction diagram for modeling the detailed design of the dynamic behavior. The Form Diagram allows you to generate diagram automatically with user-defined scope. Use case diagram | Class diagram | Sequence diagram | Communication diagram | State machine diagram | Activity diagram | Component diagram | Deployment diagram | Package diagram | Object diagram | Composite structure diagram | Timing diagram | Interaction overview diagram

Class diagram

Notation Abstraction Aggregation (Shared association) Association Class Class Class <<Interface>> Class <<ORMPersistable>> Class <<ORM-UserType>> Class <<Entity Bean>> Composition (Composite association) Dependency Generalization Instantiation Model Note Realization Substitution Usage Access Association (Without aggregation) Binding Class <<Enumeration>> Class <<Primitive>> Class <<ORMAbstractPersistable>> Class <<ORMParameterizedType>> Collaboration Constraint Derive Import Merge NARY Permission Refine Trace

Definition Class Diagram provides an overview of the target system by describing the objects and classes inside the system and the relationships between them. It provides a wide variety of usages; from modeling the domain-specific data structure to detailed design of the target system. With the share model facilities, you can reuse your class model in the interaction diagram for modeling the detailed design of the dynamic behavior. The Form Diagram allows you to generate diagram automatically with user-defined scope.

Abstraction Definition An abstraction is a relationship that relates two elements or sets of elements that represent the same concept at different levels of abstraction or from different viewpoints. In the metamodel, an Abstraction is a Dependency in which there is a mapping between the supplier and the client. Properties Name The name of abstraction relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the abstraction relationship appears within different namespaces within the

Supplier

Client

Visibility

overall model, and its accessibility. A composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and Mapping unidirectional. In other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of abstraction relationship. Access Definition An element import is defined as a directed relationship between an importing namespace and a packageable element. The name of the packageable element or its alias is to be added to the namespace of the importing namespace. It is also possible to control whether the imported element can be further imported. An element import is shown using a dashed arrow with an open arrowhead from the importing namespace to the imported element. The keyword <<import>> is shown near the dashed arrow if the visibility is public; otherwise, the keyword <<access>> is shown to indicate private visibility. Properties Name The name of access relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Specifies the visibility of the imported PackageableElement within the importing Package. The default visibility is the same as Visibility that of the imported element. If the imported element does not have a visibility, it is possible to add visibility to the element import. Default value is public. Documentation Description of access relationship. Aggregation (Shared association) Definition A kind of association that has one of its end marked shared as kind of aggregation, meaning that it has a shared aggregation. Properties Name Visibility The name of aggregation. Determines where the aggregation appears within different namespaces within the overall model, and its accessibility.

Association The source of aggregation. End From Association The target of aggregation. End To Documentation Description of aggregation. If true, the aggregation does not provide a complete declaration and can typically not be Abstract instantiated. An abstract aggregation is intended to be used by other aggregations. Indicates whether it is possible to further specialize an aggregation. If the value is true, Leaf then it is not possible to further specialize the aggregation. Specifies whether the aggregation is derived Derived from other model elements such as other

aggregations or constraints. Association (Without aggregation) Definition An association specifies a semantic relationship that can occur between typed instances. It has at least two ends represented by properties, each of which is connected to the type of the end. More than one end of the association may have the same type. An end property of an association that is owned by an end class or that is a navigable owned end of the association indicates that the association is navigable from the opposite ends; otherwise, the association is not navigable from the opposite ends. Properties Name Visibility The name of association. Determines where the association appears within different namespaces within the overall model, and its accessibility.

Association The source of association. End From Association The target of association. End To Documentation Description of association. If true, the association does not provide a complete declaration and can typically not be Abstract instantiated. An abstract association is intended to be used by other associations. Indicates whether it is possible to further specialize an association. If the value is true, Leaf then it is not possible to further specialize the association. Specifies whether the association is derived Derived from other model elements such as other associations or constraints. Association Class Definition A model element that has both association and class properties. An AssociationClass can be seen as an association that also has class properties, or as a class that also has association properties. It not only connects a set of classifiers but also defines a set of features that belong to the relationship itself and not to any of the classifiers. Properties Name The name of association class. The source classifier the association class From connecting to. The target classifier the association class To connecting to. Determines where the association class Visibility appears within different namespaces within the overall model, and its accessibility. Documentation Description of association class. Related Links [VP Know-how] Drawing association class Binding Definition TemplateBinding is a directed relationship from a bound templateable element to the template signature of the target template. A TemplateBinding owns a set of template parameter substitutions. Properties Name The name of binding relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite

Supplier

Client Template info

this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation.

Determines where the binding relationship appears within different namespaces within the overall model, and its accessibility. A composition of an Expression that states the binding relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and unidirectional. In other Mapping cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of binding relationship. Visibility Class Definition A class describes a set of objects that share the same specifications of features, constraints, and semantics. Class is a kind of classifier whose features are attributes and operations. Attributes of a class are represented by instances of Property that are owned by the class. Some of these attributes may represent the navigable ends of binary associations. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other

Template Parameters

Class Code Details Java Annotations ORM Query

templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Related Links [Tutorial] Generate and synchronize Java code Class <<Enumeration>> Definition A form of class that act as a container of enumeration literals. For instance, an enumeration Color holds enumeration literials red, gree and blue. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a

Template Parameters

Class Code Details Java Annotations ORM Query

canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Class <<Interface>> Definition An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and postconditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface. Since interfaces are declarations, they are not instantiable. Instead, an interface specification is implemented by an instance of an instantiable classifier, which means that the instantiable classifier presents a public facade that conforms to the interface specification. Note that a given classifier may implement more than one interface and that an interface may be implemented by a number of different classifiers. Properties Name Parent The name of interface. The model element that owns the interface. Determines where the interface appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of interface. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template

Template Parameters

parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Class Code Details Java Annotations ORM Query

Class <<Primitive>> Definition A form of class that represents a predefined data type. For instance, a boolean class (type). Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a

Template Parameters

Class Code Details Java Annotations ORM Query

canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Class <<ORM-Persistable>> Definition A special form of class that can be used to model an object model of a relational database. ORM code can be generated from a set of ORM Persistable. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the

Template Parameters

bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) Class Code level. Settings in this page is programming Details language specific, and will affect the code being generated. ORM Class Settings that affects the ORM code being Details generated from object model. A Java annotation is a metadata that can be Java added to Java source code for annotation Annotations purposes. Business key is made for generating equals Business Key and hasCode operations in ORM code. Available only to ORM Persistable class, ORM ORM Query Query lets you define the ORM Qualifiers and named queries of the class. Class <<ORM-Abstract-Persistable>> Definition A special form of class that captures common attributes of subORM-Persistable classes. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code)

Template Parameters

Class Code Details Java Annotations ORM Query

level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Class <<ORM-User-Type>> Definition A user type class defines an object type for object mode that can be access in generated ORM code, and persist in database as a column instead of an entity. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes.

Gallery Home Visual Modeling UML Modeling Use Case Modeling Requirements Capturing Data Modeling Business Process Modeling Object Relational Mapping Documentation Generation Code Engineering Interoperability User Interface Cross-Platform Visual Studio Integration Eclipse Integration NetBeans Integration

Template Parameters

Class Code Details Java Annotations

ORM Query

Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Related Links [VP Resources] Hibernate User Type Support Class <<ORM-Parameterized-Type>> Definition An ORM Parameterized type provides you with opportunity to enforce the correctness of data by implementing correctness checking in generated ORM code. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Template Parameters

Class Code Details Java Annotations ORM Query

Related Links [VP Resources] Hibernate User Type Support Class <<Entity Bean>> Definition A special form of class for modeling EJB entity bean. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further Leaf specialize a class. If the value is true, then it is not possible to further specialize the class. Indicates whether the class has no ancestors. Root (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then the owning Active class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business model class" Refers to all of the Properties that are direct Attributes (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and Operations constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A set of EJB -related attributes to aid in EJB code generation. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Template Parameters

Class Code Details EJB Class Code Details Java Annotations ORM Query

Collaboration

Definition A collaboration is represented as a kind of classifier and defines a set of cooperating entities to be played by instances (its roles), as well as a set of connectors that define communication paths between the participating instances. The cooperating entities are the properties of the collaboration. A collaboration specifies a view (or projection) of a set of cooperating classifiers. It describes the required links between instances that play the roles of the collaboration, as well as the features required of the classifiers that specify the participating instances. Several collaborations may describe different projections of the same set of classifiers. Properties Name The name of collaboration. Determines where the collaboration appears Visibility within different namespaces within the overall model, and its accessibility. Documentation Description of collaboration. If true, the collaboration does not provide a complete declaration and can typically not be Abstract instantiated. An abstract collaboration is intended to be used by other collaborations. Indicates whether it is possible to further specialize a collaboration. If the value is true, Leaf then it is not possible to further specialize the collaboration. Indicates whether the collaboration has no Root ancestors. (true for no ancestors) Children The children of collaboration Composition (Composite association) Definition An association may represent a composite aggregation (i.e., a whole/part relationship). Only binary associations can be aggregations. Composite aggregation is a strong form of aggregation that requires a part instance be included in at most one composite at a time. If a composite is deleted, all of its parts are normally deleted with it. Note that a part can (where allowed) be removed from a composite before the composite is deleted, and thus not be deleted as part of the composite. Compositions may be linked in a directed acyclic graph with transitive deletion characteristics; that is, deleting an element in one part of the graph will also result in the deletion of all elements of the subgraph below that element. Composition is represented by the isComposite attribute on the part end of the association being set to true. Properties Name Visibility The name of composition. Determines where the association appears within different namespaces within the overall model, and its accessibility.

Association The source of association. End From Association The target of association. End To Documentation Description of association. If true, the composition does not provide a complete declaration and can typically not be Abstract instantiated. An abstract composition is intended to be used by other compositions. Indicates whether it is possible to further specialize a composition. If the value is true, Leaf then it is not possible to further specialize the composition. Specifies whether the composition is derived Derived from other model elements such as other compositions or constraints. Constraint Definition A condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element. Properties

The name of constraint. It is optional and is commonly omitted. The condition that must be true when evaluated Expression in order for the constraint to be satisfied. Documentation Description of constraint. Name Dependency Definition A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation. This means that the complete semantics of the depending elements is either semantically or structurally dependent on the definition of the supplier element(s). Properties Name The name of dependency. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the dependency appears Visibility within different namespaces within the overall model, and its accessibility. Documentation Description of dependency. Derive Definition Specifies a derivation relationship among model elements that are usually, but not necessarily, of the same type. A derived dependency specifies that the client may be computed from the supplier. The mapping specifies the computation. The client may be implemented for design reasons, such as efficiency, even though it is logically redundant. Properties Name The name of derive relationship. The element(s) independent of the client element(s), in the same respect and the same derive relationship. In some directed derive relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the derive relationship Visibility appears within different namespaces within the overall model, and its accessibility. A composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and Mapping unidirectional. In other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of derive relationship.

Generalization Definition A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier. Properties Name General The name of generalization. References the general classifier in the Generalization relationship. References the specializing classifier in the Specific Generalization relationship. Determines where the generalization relationship appears within different Visibility namespaces within the overall model, and its accessibility. Documentation Description of generalization relationship. Indicates whether the specific classifier can be used wherever the general classifier can be Substitutable used. If true, the execution traces of the specific classifier will be a superset of the execution traces of the general classifier. Import Definition A package import is defined as a directed relationship that identifies a package whose members are to be imported by a namespace. Properties Name The name of import relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Specifies the visibility of the imported PackageableElements within the importing Namespace, i.e., whether imported elements will in turn be visible to other packages that use Visibility that importingPackage as an importedPackage. If the PackageImport is public, the imported elements will be visible outside the package, while if it is private they will not. Documentation Description of import relationship. Instantiation Definition A usage dependency among classifiers indicating that operations on the client create instances of the supplier. Properties Name The name of instantiation relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier

Supplier

element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the instantiation relationship Visibility appears within different namespaces within the overall model, and its accessibility. Documentation Description of instantiation relationship. Client Merge Definition A package merge is a directed relationship between two packages that indicates that the contents of the two packages are to be combined. It is very similar to Generalization in the sense that the source element conceptually adds the characteristics of the target element to its own characteristics resulting in an element that combines the characteristics of both. This mechanism should be used when elements defined in different packages have the same name and are intended to represent the same concept. Most often it is used to provide different definitions of a given concept for different purposes, starting from a common base definition. A given base concept is extended in increments, with each increment defined in a separate merged package. By selecting which increments to merge, it is possible to obtain a custom definition of a concept for a specific end. Package merge is particularly useful in metamodeling and is extensively used in the definition of the UML metamodel. Conceptually, a package merge can be viewed as an operation that takes the contents of two packages and produces a new package that combines the contents of the packages involved in the merge. In terms of model semantics, there is no difference between a model with explicit package merges, and a model in which all the merges have been performed. Properties Name The name of merge relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the merge relationship Visibility appears within different namespaces within the overall model, and its accessibility. Documentation Description of merge relationship. Model Definition Properties Name The name of model. Documentation Description of model. If true, the model does not provide a complete declaration and can typically not be Abstract instantiated. An abstract model is intended to be used by other model. Indicates whether it is possible to further Leaf specialize a model. If the value is true, then it is not possible to further specialize the model. Indicates whether the model has no ancestors. Root (true for no ancestors) Children The children of model

NARY Definition Properties Name

The name of association NARY. Determines where the NARY appears within Visibility different namespaces within the overall model, and its accessibility. Documentation Description of NARY. Note Definition A note (comment) gives the ability to attach various remarks to elements. A comment carries no semantic force, but may contain information that is useful to a modeler. Properties Name The name of note. Documentation Specifies a string that is the comment. Permission Definition Permission is a kind of dependency. It grants a model element permission to access elements in another namespace. Properties Name The name of permission relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the permission relationship Visibility appears within different namespaces within the overall model, and its accessibility. Documentation Description of permission relationship. Realization Definition Realization is a specialized abstraction relationship between two sets of model elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client). Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc. Properties Name The name of realization relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation.

Supplier

Client

Determines where the realization relationship appears within different namespaces within the overall model, and its accessibility. A composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and Mapping unidirectional. In other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of realization relationship. Visibility Refine Definition Specifies a refinement relationship between model elements at different semantic levels, such as analysis and design. The mapping specifies the relationship between the two elements or sets of elements. The mapping may or may not be computable, and it may be unidirectional or bidirectional. Refinement can be used to model transformations from analysis to design and other such changes. Properties Name The name of refinement relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the refinement relationship Visibility appears within different namespaces within the overall model, and its accessibility. A composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and Mapping unidirectional. In other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of refinement relationship. Substitution Definition A substitution is a relationship between two classifiers which signifies that the substitutingClassifier complies with the contract specified by the contract classifier. This implies that instances of the substitutingClassifier are runtime substitutable where instances of the contract classifier are expected. Properties Name The name of substitution relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace

Supplier

Client

Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the substitution relationship Visibility appears within different namespaces within the overall model, and its accessibility. Documentation Description of substitution relationship. Trace Definition Specifies a trace relationship between model elements or sets of model elements that represent the same concept in different models. Traces are mainly used for tracking requirements and changes across models. Since model changes can occur in both directions, the directionality of the dependency can often be ignored. The mapping specifies the relationship between the two, but it is rarely computable and is usually informal. Properties Name The name of trace relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the trace relationship Visibility appears within different namespaces within the overall model, and its accessibility. A composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and Mapping unidirectional. In other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of trace relationship. Usage Definition A usage is a relationship in which one element requires another element (or set of elements) for its full implementation or operation. In the metamodel, a Usage is a Dependency in which the client requires the presence of the supplier. Properties Name The name of usage relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the Supplier domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Client Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the usage relationship Visibility appears within different namespaces within the overall model, and its accessibility. Documentation Description of usage relationship.

Definition of notations is quoted from Object Management Group Unified Modeling Language (OMG UML) Superstructure Version 2.2 and former versions (for notations that do not exist anymore in latest specification). Use case diagram | Class diagram | Sequence diagram | Communication diagram | State machine diagram | Activity diagram | Component diagram | Deployment diagram | Package diagram | Object diagram | Composite structure diagram | Timing diagram | Interaction overview diagram

Class diagram Class Diagram provides an overview of the target system by describing the objects and classes inside the system and the relationships between them. It provides a wide variety of usages; from modeling the domain-specific data structure to detailed design of the target system. With the share model facilities, you can reuse your class model in the interaction diagram for modeling the detailed design of the dynamic behavior. The Form Diagram allows you to generate diagram automatically with user-defined scope. Use case diagram | Class diagram | Sequence diagram | Communication diagram | State machine diagram | Activity diagram | Component diagram | Deployment diagram | Package diagram | Object diagram | Composite structure diagram | Timing diagram | Interaction overview diagram

Class diagram

Notation Abstraction Aggregation (Shared association) Association Class Class Class <<Interface>> Class <<ORMPersistable>> Class <<ORM-UserType>> Class <<Entity Bean>> Composition (Composite association) Dependency Generalization Instantiation Model Note Realization Substitution Usage Access Association (Without aggregation) Binding Class <<Enumeration>> Class <<Primitive>> Class <<ORMAbstractPersistable>> Class <<ORMParameterizedType>> Collaboration Constraint Derive Import Merge NARY Permission Refine Trace

Definition Class Diagram provides an overview of the target system by describing the objects and classes inside the system and the relationships between them. It provides a wide variety of usages; from modeling the domain-specific data structure to detailed design of the target system. With the share model facilities, you can reuse your class model in the interaction diagram for modeling the detailed design of the dynamic behavior. The Form Diagram allows you to generate diagram automatically with user-defined scope.

Abstraction Definition An abstraction is a relationship that relates two elements or sets of elements that represent the same concept at different levels of abstraction or from different viewpoints. In the metamodel, an Abstraction is a Dependency in which there is a mapping between the supplier and the client. Properties Name The name of abstraction relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation.

Supplier

Client

Determines where the abstraction relationship appears within different namespaces within the overall model, and its accessibility. A composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal Mapping and unidirectional. In other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of abstraction relationship. Visibility Access Definition An element import is defined as a directed relationship between an importing namespace and a packageable element. The name of the packageable element or its alias is to be added to the namespace of the importing namespace. It is also possible to control whether the imported element can be further imported. An element import is shown using a dashed arrow with an open arrowhead from the importing namespace to the imported element. The keyword <<import>> is shown near the dashed arrow if the visibility is public; otherwise, the keyword <<access>> is shown to indicate private visibility. Properties Name The name of access relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based Supplier OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Client Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Specifies the visibility of the imported PackageableElement within the importing Package. The default visibility is the same as that of the imported element. If the Visibility imported element does not have a visibility, it is possible to add visibility to the element import. Default value is public. Documentation Description of access relationship. Aggregation (Shared association) Definition A kind of association that has one of its end marked shared as kind of aggregation, meaning that it has a shared aggregation. Properties Name Visibility The name of aggregation. Determines where the aggregation appears within different namespaces within the overall model, and its accessibility.

Association The source of aggregation. End From Association The target of aggregation. End To Documentation Description of aggregation. If true, the aggregation does not provide a complete declaration and can typically Abstract not be instantiated. An abstract aggregation is intended to be used by other aggregations. Indicates whether it is possible to further specialize an aggregation. If the value is Leaf true, then it is not possible to further specialize the aggregation. Specifies whether the aggregation is derived from other model elements such as Derived other aggregations or constraints. Association (Without aggregation) Definition An association specifies a semantic relationship that can occur between typed instances. It has at least two ends represented by properties, each of which is connected to the type of the end. More than one end of the association may have the same type. An end property of an association that is owned by an end class or that is a navigable owned end of the association indicates that the association is navigable from the opposite ends; otherwise, the association is not navigable from the opposite ends. Properties Name Visibility Association End From Association The name of association. Determines where the association appears within different namespaces within the overall model, and its accessibility. The source of association. The target of association.

The target of association. End To Documentation Description of association. If true, the association does not provide a complete declaration and can typically Abstract not be instantiated. An abstract association is intended to be used by other associations. Indicates whether it is possible to further specialize an association. If the value is Leaf true, then it is not possible to further specialize the association. Specifies whether the association is derived from other model elements such as Derived other associations or constraints. Association Class Definition A model element that has both association and class properties. An AssociationClass can be seen as an association that also has class properties, or as a class that also has association properties. It not only connects a set of classifiers but also defines a set of features that belong to the relationship itself and not to any of the classifiers. Properties Name From To The name of association class. The source classifier the association class connecting to. The target classifier the association class connecting to. Determines where the association class appears within different namespaces Visibility within the overall model, and its accessibility. Documentation Description of association class. Related Links [VP Know-how] Drawing association class Binding Definition TemplateBinding is a directed relationship from a bound templateable element to the template signature of the target template. A TemplateBinding owns a set of template parameter substitutions. Properties Name The name of binding relationship. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation.

Supplier

Client Template info

Determines where the binding relationship appears within different namespaces within the overall model, and its accessibility. A composition of an Expression that states the binding relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and Mapping unidirectional. In other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of binding relationship. Visibility Class Definition A class describes a set of objects that share the same specifications of features, constraints, and semantics. Class is a kind of classifier whose features are attributes and operations. Attributes of a class are represented by instances of Property that are owned by the class. Some of these attributes may represent the navigable ends of binary associations. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business

Business model Attributes Operations

Set it to make the class become a "business class" Refers to all of the Properties that are direct (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Template Parameters

Class Code Details Java Annotations ORM Query

Related Links [Tutorial] Generate and synchronize Java code Class <<Enumeration>> Definition A form of class that act as a container of enumeration literals. For instance, an enumeration Color holds enumeration literials red, gree and blue. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business class" model Refers to all of the Properties that are direct (i.e., not inherited or imported) Attributes attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, Operations parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM

Template Parameters

Class Code Details Java Annotations ORM Query

ORM Query

Qualifiers and named queries of the class. Class <<Interface>>

Definition An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and postconditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface. Since interfaces are declarations, they are not instantiable. Instead, an interface specification is implemented by an instance of an instantiable classifier, which means that the instantiable classifier presents a public facade that conforms to the interface specification. Note that a given classifier may implement more than one interface and that an interface may be implemented by a number of different classifiers. Properties Name Parent The name of interface. The model element that owns the interface. Determines where the interface appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of interface. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business class" model Refers to all of the Properties that are direct (i.e., not inherited or imported) Attributes attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, Operations parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class. Class <<Primitive>> Definition A form of class that represents a predefined data type. For instance, a boolean class (type). Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business

Template Parameters

Class Code Details Java Annotations ORM Query

Business model Attributes Operations

Set it to make the class become a "business class" Refers to all of the Properties that are direct (i.e., not inherited or imported) attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class. Class <<ORM-Persistable>>

Template Parameters

Class Code Details Java Annotations ORM Query

Definition A special form of class that can be used to model an object model of a relational database. ORM code can be generated from a set of ORM Persistable. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business class" model Refers to all of the Properties that are direct (i.e., not inherited or imported) Attributes attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, Operations parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. Settings that affects the ORM code being generated from object model.

Template Parameters

Class Code Details ORM Class Details Java Annotations

A Java annotation is a metadata that can be added to Java source code for annotation purposes. Business key is made for generating equals and hasCode operations in ORM Business Key code.

ORM Query

Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Class <<ORM-Abstract-Persistable>> Definition A special form of class that captures common attributes of sub-ORM-Persistable classes. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business class" model Refers to all of the Properties that are direct (i.e., not inherited or imported) Attributes attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, Operations parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class. Class <<ORM-User-Type>> Definition A user type class defines an object type for object mode that can be access in generated ORM code, and persist in database as a column instead of an entity. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business class" model Refers to all of the Properties that are direct (i.e., not inherited or imported) Attributes attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, Operations parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a

Template Parameters

Class Code Details Java Annotations ORM Query

template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Template Parameters

Class Code Details Java Annotations ORM Query

Related Links [VP Resources] Hibernate User Type Support Class <<ORM-Parameterized-Type>> Definition An ORM Parameterized type provides you with opportunity to enforce the correctness of data by implementing correctness checking in generated ORM code. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business class" model Refers to all of the Properties that are direct (i.e., not inherited or imported) Attributes attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, Operations parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class.

Template Parameters

Class Code Details Java Annotations ORM Query

Related Links [VP Resources] Hibernate User Type Support Class <<Entity Bean>>

Definition A special form of class for modeling EJB entity bean. Properties Name Parent The name of class. The model element that owns the class. Determines where the class appears within different namespaces within the Visibility overall model, and its accessibility. Documentation Description of class. If true, the class does not provide a complete declaration and can typically not be Abstract instantiated. An abstract class is intended to be used by other classes. Indicates whether it is possible to further specialize a class. If the value is true, Leaf then it is not possible to further specialize the class. Root Indicates whether the class has no ancestors. (true for no ancestors) Determines whether an object specified by this class is active or not. If true, then Active the owning class is referred to as an active class. If false, then such a class is referred to as a passive class. Business Set it to make the class become a "business class" model Refers to all of the Properties that are direct (i.e., not inherited or imported) Attributes attributes of the class. An operation is a behavioral feature of a class that specifies the name, type, Operations parameters, and constraints for invoking an associated behavior. Operations here refers to the operations owned by the class. A TemplateableElement that has a template signature is a specification of a template. A template is a parameterized element that can be used to generate other model elements using TemplateBinding relationships. The template parameters for the template signature specify the formal parameters that will be substituted by actual parameters (or the default) in a binding. A template parameter is defined in the namespace of the template, but the template parameter represents a model element that is defined in the context of the binding. A templateable element can be bound to other templates. This is represented by the bound element having bindings to the template signatures of the target templates. In a canonical model a bound element does not explicitly contain the model elements implied by expanding the templates it binds to, since those expansions are regarded as derived. The semantics and well-formedness rules for the bound element must be evaluated as if the bindings were expanded with the substitutions of actual elements for formal parameters Properties of class in implementation (code) level. Settings in this page is programming language specific, and will affect the code being generated. A set of EJB -related attributes to aid in EJB code generation. A Java annotation is a metadata that can be added to Java source code for annotation purposes. Available only to ORM Persistable class, ORM Query lets you define the ORM Qualifiers and named queries of the class. Collaboration Definition A collaboration is represented as a kind of classifier and defines a set of cooperating entities to be played by instances (its roles), as well as a set of connectors that define communication paths between the participating instances. The cooperating entities are the properties of the collaboration. A collaboration specifies a view (or projection) of a set of cooperating classifiers. It describes the required links between instances that play the roles of the collaboration, as well as the features required of the classifiers that specify the participating instances. Several collaborations may describe different projections of the same set of classifiers. Properties Name The name of collaboration. Determines where the collaboration appears within different namespaces within Visibility the overall model, and its accessibility. Documentation Description of collaboration. If true, the collaboration does not provide a complete declaration and can typically Abstract not be instantiated. An abstract collaboration is intended to be used by other collaborations. Indicates whether it is possible to further specialize a collaboration. If the value is Leaf true, then it is not possible to further specialize the collaboration. Root Indicates whether the collaboration has no ancestors. (true for no ancestors) Children The children of collaboration Composition (Composite association) Definition An association may represent a composite aggregation (i.e., a whole/part relationship). Only

Template Parameters

Class Code Details EJB Class Code Details Java Annotations ORM Query

binary associations can be aggregations. Composite aggregation is a strong form of aggregation that requires a part instance be included in at most one composite at a time. If a composite is deleted, all of its parts are normally deleted with it. Note that a part can (where allowed) be removed from a composite before the composite is deleted, and thus not be deleted as part of the composite. Compositions may be linked in a directed acyclic graph with transitive deletion characteristics; that is, deleting an element in one part of the graph will also result in the deletion of all elements of the subgraph below that element. Composition is represented by the isComposite attribute on the part end of the association being set to true. Properties Name Visibility The name of composition. Determines where the association appears within different namespaces within the overall model, and its accessibility.

Association The source of association. End From Association The target of association. End To Documentation Description of association. If true, the composition does not provide a complete declaration and can typically Abstract not be instantiated. An abstract composition is intended to be used by other compositions. Indicates whether it is possible to further specialize a composition. If the value is Leaf true, then it is not possible to further specialize the composition. Specifies whether the composition is derived from other model elements such as Derived other compositions or constraints. Constraint Definition A condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element. Properties Name The name of constraint. It is optional and is commonly omitted. The condition that must be true when evaluated in order for the constraint to be Expression satisfied. Documentation Description of constraint. Dependency Definition A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation. This means that the complete semantics of the depending elements is either semantically or structurally dependent on the definition of the supplier element(s). Properties Name The name of dependency. The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based Supplier OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a Client Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the dependency appears within different namespaces within Visibility the overall model, and its accessibility. Documentation Description of dependency. Derive Definition Specifies a derivation relationship among model elements that are usually, but not necessarily, of the same type. A derived dependency specifies that the client may be computed from the supplier. The mapping specifies the computation. The client may be implemented for design reasons, such as efficiency, even though it is logically redundant. Properties Name The name of derive relationship. The element(s) independent of the client element(s), in the same respect and the same derive relationship. In some directed derive relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific. The element(s) dependent on the supplier element(s). In some cases (such as a

Supplier

Client

Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation. Determines where the derive relationship appears within different namespaces Visibility within the overall model, and its accessibility. A composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal Mapping and unidirectional. In other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified. Documentation Description of derive relationship. Generalization Definition A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier. Properties Name General Specific Visibility The name of generalization. References the general classifier in the Generalization relationship. References the specializing classifier in the Generalization relationship.