Zicomi Systems Logo
contact us  |  your privacy
Company
Services
Products
Support
Resources
  OMG Standards
OMG Logo
UML Element Description
Class
Class    
A class represents some concept, physical or otherwise, in the system being modeled. Classes describe sets of things or concepts that have similar attributes, behavior and relationships. They are a higher order concept to objects, which represent instances of the class.
Attribute
Attribute    
An attribute is a string item listed in the attribute compartment of a classifier. An attribute defines an aspect or dimension of a classifier. An attribute may be assigned a value when an instance of a classifier is created. It is semantically equivalent to a classifier having a composite association with another classifier of the type specified in the attribute expression.
Operation
Operation    
An operation is a string item listed in the operation compartment of a classifier. The operations define the behavior of the classifier and the work that the classifier can carry out. An operation can take a list of parameters and return a type. Its visibility can be restricted and other factors, such as concurrency, can be specified using the property-string.
Association
Association    
An association is a semantic or structural relationship between classifiers. An association has a name and consists of at least two association ends. The association ends are simply the end parts of the association where they connect to classifiers. It is the association's ends that may have a number of adornments that express the rich structural semantics of the relationship.
Association End
Association End    
An association end is the endpoint of an association that marks the point at which the line connects with a classifier. An association end has a name (role name) and a series of properties that determine the semantics of how the classifier participates in the relationship. A binary association has exactly two association ends and an n-ary association has 'n' association ends.
Multiplicity
Multiplicity    
multiplicity is a property of an association end that specifies the number of instances of the classifier connected at the target end (near end) that can be associated with a single instance of the classifier at the source end (far end). It is specified in the form of a string stipulating a possible infinite number governed by a lower and upper bound.
Aggregate
Aggregate    
The value of aggregate for the aggregation property of an association end signifies a whole-part relationship between two classifiers. An association, with one of its ends specifying a value of aggregate is commonly called an aggregation relationship. It is a stronger than an unadorned association end, adding a concept of a whole (hollow diamond end) part relationship. The whole does not have responsibility for the lifetime of the parts. Only one end of a binary association can be adorned with an aggregation symbol. Formally it is one of three values that can be set for the aggregation property of an association end the others being none and composite.
Composite
Composite    
The value of composite for the aggregation property of an association end signifies a whole-part relationship between two classifiers where the whole has responsibility for the parts. An association, with one of its ends specifying a value of composite, is commonly called a composition relationship. It is stronger than an unadorned association end, adding the concept of whole (filled diamond end) and part relationship. It is also stronger than an aggregate, because the classifier at the whole end has responsibility for the lifetime of any parts. Only one end of a binary association can be adorned with a composition symbol. Formally it is one of three values that can be set for the aggregation property of an association end the others being none and aggregate.
IsNavigable
IsNavigable    
The value of the isNavigable property specifies whether an association can be traversed from the source (far end) to the target (near end). It is indicated graphically by an open headed arrow.
Non-Navigable
Non-Navigable    
An association end is non-navigable if it is marked with an x. This icon is optional and is used to indicate that the classifier at the other end (source) of the association has no access to the classifier at the end (target) marked with the x.
N-ary Association
N-ary Association    
An n-ary association is the more general form of association, it is an association between three or more classifiers that all participate in the relationship. It is the more general case of the more specific binary association, but has different semantics. Multiplicity may be used on any of the roles, but no role can contain an aggregation or composition symbol, or a qualifier.
Package
Package    
A package is a grouping of model elements. Packages group any set of zero or more model elements, including packages themselves, with the condition that no model element exists in more than one package. The package also defines the extent of names.
Package Contents
Package Contents    
Package Contents can be indicated using the anchor symbol. This denotes that the packages that are attached to the non-anchor end of the relationship are contained within the anchor package. This is an alternative notation to packages being graphically contained or placed inside other packages.
Object
Object    
An object represents a distinct instance of a class. It has unique identity as well as attribute values, which determine its state at any point in time. An object can exhibit behavior, but only as a result of being an instance of a class. An object is an instance of one and only one class.
Link
Link    
A link is an instance of an association. While an association connects classifiers to show structural relationships, the link (association instance) connects classifier instances. It is a list of the references between classifier instances. Its most common expression is a reference to two classifier instances in its binary form: an n-ary association will have n-ary links. Properties such as aggregation can be used with a link, however multiplicity and ordering may not as they have no meaning.
Interface
Interface    
An interface can be represented by a classifier (rectangular) symbol. Both this form, and the more commonly seen "lollipop" (small circle and stem) form, have the same semantics. The circular form is often used when a structural view of a system is required. When an interface has operations and these need to be displayed as part of a diagram the rectangular form can be used, the operations appear in a separate compartment.
Abstract Class
Abstract Class    
An abstract class is a class that cannot be directly instantiated. . It cannot have attributes or methods and but can contain abstract operations. It is semantically equivalent to an interface, and can participate in relationships such as generalization dependencies, and association with some restrictions.
Comment (Note)
Comment (Note)    
A comment can contain textual information or graphical symbols that add additional information to a diagram or model. The information can take many forms from very formal, in the case of constraints, to conversational, in the case of working notes. Comments can be placed anywhere in a model or diagram, and simply by their proximity and alignment; they can be applicable to one or more elements. They may also be attached either to one or more elements by a comment attaching line.
Interface (Provided)
Interface (Provided)    
An interface (provided) specifies a set of abstract operations. The operations are the external view of the classifier and do not reveal to the client the way that the operations are implemented by the classifier. An interface is conceptually an abstract classifier without attributes. A classifier is said to "implement an interface" if it provides the implementation of all or some of the operations declared by the interface. This relationship is shown by a realization drawn from the classifier with the arrow pointing to the interface. An interface cannot have instances.
Comment (Note) Attaching Line
Comment (Note) Attaching Line    
A comment attaching line is a dashed line that is used to attach a comment (note) to a model element in a diagram. The comment (note) attaching line is not a UML relationship and has no semantics beyond signifying that the contents of a comment apply to the model element it is attached to. A comment may be attached to any number of model elements or may exist in isolation and by placement in proximity to one or more model elements signify that it applies to those elements.
Boundary
Boundary    
A boundary is a stereotyped class that is located on the periphery of the entity being modeled. Most commonly the entity is an entire system but can also be a subsystem. The boundary class communicates with actors, who exist outside the system and control, entity and other boundary classes inside the system.
Control
Control    
A control is a stereotyped class whose responsibility is to manage other classes and their interactions. It communicates with boundary classes positioned on the entity periphery, other control classes and entity classes.
Entity
Entity    
An entity is a stereotyped class, that has the responsibility of providing services to a number of entity classes and thus in turn to boundary classes.
Generalization
Generalization    
Generalization is a relationship of classification between a more general element (parent) and a more specific element (child). The head of the arrow is attached to the "parent" and the tail is attached to the "child". It is a taxonomic relationship that can exist between a number of types of UML elements including classifiers and associations.
Generalization (tree)
Generalization (tree)    
When a number of children are "siblings" and thus share a generalization relationship with the same parent, the individual lines may be combined together to form a branching tree. This is simply a convenient way of representing the "family " as it reduces the visual complexity of the diagram. It does not add any other meaning, and each line can be considered a separate relationship in its own right.
Package Visibility
Package Visibility    
When the value of package is specified for the visibility property of an association end it signifies that any classifier that is contained in the same package as the association (or any nested sub package) may traverse the relationship and use the role name in expressions.
Private Visibility
Private Visibility    
When the value of private is specified for the visibility property of an association end it signifies only the classifier connected at the source (far) end may traverse the relationship and use the role name in expressions.
Protected Visibility
Protected Visibility    
When the value of protected is specified for the visibility property of an association end it signifies that the classifier at the source (far) end of the association and its descendants may traverse the relationship and use the role name in expressions.
Public Visibility
Public Visibility    
When the value of public is specified for the visibility property of an association end it signifies that other classifiers in addition to the classifier connected at the source end of the association can traverse the relationship and use the role name in expressions.
Redefines
Redefines    
A value of redefines specified for the property string indicates that the association end is redefined with the name specified. This mechanism allows an association end to be recast using a new name and potentially new properties that are more appropriate at any given level of specialization (redefinition).
Sequence
Sequence    
A value of sequence specified for the property string of an association end indicates that the collection of instances are an ordered bag. This means that the collection is ordered but can contain duplicated instances. It does not specify the basis for the order.
Bag
Bag    
A value of bag specified for the property string of an association end indicates that the same instance can appear more than once in the collection. By default an association end is a set of instances, meaning that there cannot be duplicate elements. By setting the value to bag this default behavior is overridden and duplicates can occur.
Subsets
Subsets    
A value of subsets specified for the property string of an association end indicates that the collection does not contain all the available instances defined by the named property. This is an application of the mathematical concept of subset, which means that every instance at the association end marked as subsets, must exist in the parent property.
Union
Union    
A value of union specified for the property string indicates that the association end is derived by the union of the subsets with the name specified. This mechanism allows the classifier at the association end marked with union to specify its instances based on the union of its subsets. This is an application of the mathematical concept of union of sets and subsets. This implies that the collection is a set and cannot be a bag since a union results in a set, which means it cannot have duplicate elements.
Ordered
Ordered    
The value ordered can be set for the ordering property of an association end. This signifies that instances of the classifiers at the target end of the association are ordered. Any operation that adds or changes the instances is responsible for maintaining the order. The multiplicity at the target end must be greater than one since a value of one or less would specify a set with one or less elements, for which ordering would be meaningless.
Unordered
Unordered    
The value unordered for the ordering property signifies that instances of the classifiers at the target end of the association are not ordered. This is the default value for this property and if a value for the property is not specified then the value by default is unordered. The multiplicity at the target end must be greater than one since a value of one or less would specify a set with one or less elements, for which ordering would be meaningless.
Package Import
Package Import    
A package import is a directed relationship between a package (arrowhead end) and an importing namespace (tail end). The members of the referenced package can be used in the importing namespace without any qualification of the element name. A name can be added to the package import relationship, which is used as an alias (alternative name) for the elements in the importing namespace. The visibility of the elements in the importing namespace is by default public.
Package Import (Access)
Package Import (Access)    
A package import with the keyword access is a directed relationship between a package (arrowhead end) and an importing namespace (tail end). The members of the referenced package can be used in the importing namespace without any qualification of the element name. It is different from a package import with keyword import because it does not import the members of the other package into the namespace, but rather just allows them to be referenced. The visibility of the elements in the importing namespace is by default public.
Element Import
Element Import    
An element import is a directed relationship between a packageable element (arrowhead end) and an importing namespace (tail end). The element that is pointed to is added to the namespace, allowing the element to be used in the namespace without any qualification. A name can be added to the element import relationship, which is used as an alias (alternative name) for the element in the importing namespace. The visibility of the element in the importing namespace is by default public.
Element Import (Access)
Element Import (Access)    
An element import with the keyword access is a directed relationship between a packageable element (arrowhead end) and an importing namespace (tail end). The element that is pointed to is made accessible to the namespace, allowing the element to be used in the namespace without any qualification. It is different from an element import with keyword import because it does not import the element into the namespace but rather just allows it to be accessed. A name can be added to the element import relationship, which is used as an alias (alternative name) for the element in the importing namespace. The visibility of the element in the importing namespace is by default public.
Package Merge
Package Merge    
A package merge is a directed relationship between two packages that is used when elements of one package (tail end) represent the same concept as those in another package (arrowhead end). It is a convenient way of representing a set of generalizations and redefinitions between two packages. It is termed a merge because the relationship means that elements with the same name and of the same type from one or more packages will be merged into a single element in the merging package (tail end). This is achieved by the use of generalizations and redefinitions.
Derived
Derived    
A value of derived indicated by a forward slash (/) either prefixing the name or in isolation, indicates that the association end is derived. This means that its value can be calculated from other properties of the instance.
Complete
Complete    
Complete is a constraint added to a set of generalization relationships to indicate that all children have been specified. This means that any instance of the parent must be an instance of at least one of the children within the set. All children that are governed by the constraint must have the same discriminator.
Disjoint
Disjoint    
Disjoint is a constraint added to a set of generalization relationships to indicate that an instance of the parent may be an instance of one and only one of the children within the set.
Incomplete
Incomplete    
Incomplete is a constraint added to a set of generalization relationships to indicate that all children have not been specified. This means that an instance of the parent is not necessarily an instance of any of the children. All children that are governed by the constraint must have the same discriminator.
Overlapping
Overlapping    
Overlapping is a constraint added to a set of generalization relationships to indicate that an instance of one child may simultaneously be an instance of another.
Model Library
Model Library    
A model library is a stereotyped package that has been created with the express purpose of providing model elements that can be used by other elements or packages in the model. A model library is typically reused by a number of different models at different times or locations or by different modelers or teams of modelers.
Framework
Framework    
A framework is a stereotyped package that contains elements that specify an architecture or part of an architecture that can be reused. The extent of the framework may be for an entire system or may be restricted to a part of a system.
Unified Modeling Language and UML are either registered

trademarks or trademarks of Object Management Group, Inc. in the

United States and/or other countries.