Zicomi Systems Logo
contact us  |  your privacy
Company
Services
Products
Support
Resources
  OMG Standards
OMG Logo
  Have You Heard?
UML Diagrams
Zicomi Systems publishes some UML example diagrams online from the world famous UML dictionary.
more...
Version 2.5 Released
Zicomi Systems is delighted to announce that version 2.5 of Zicomi Mentor is released. With support for UML 2.0 and all thirteen UML diagrams
more...
Zicomi Systems' Director
speaks about the UML at Objects by Design - an informative interview
more...
Partner Programme
Zicom Systems is delighted to announce a new world wide partner programme, become a partner today.
more...
OMG Member
Zicom Systems is made a member of the OMG!
UML Element Description
Actor
Actor    
An actor represents a set of roles that a user plays with an entity (system, subsystem or a class). Actors can be human or other systems, subsystems or classes that represent things outside of the entity. The actor "communicates" with the entity by sending a series of messages backwards and forwards.
Actor Generalization
Actor Generalization    
Actor generalization is a way of factoring out commonality that exists between a number of actors. The actors must be of the same type or family, and have associations with the same set of use cases. The specialized actors may add or remove associations, and can always stand in the place of the parent or more generalized actor. The more generalized actor is often, but not always, abstract.
Actor Generalization (tree)
Actor Generalization (tree)    
Actor generalization can be represented in a single path (tree). When a number of generalization relationships exist and the children have the same parent the lines can be combined into a single path and drawn with a tree. This doesn't change the semantics of the individual relationships; it is simply a more compact and convenient style for representing the relationships. A tree that has three branches represents three discrete and separately defined generalization relationships.
Actor Instance
Actor Instance    
An actor instance is a specific instance of an actor using the entity being modeled, which is most typically a system but could be a subsystem or a class. It has unique identity as well as attribute values, which determine its state at any point in time. An actor instance communicates with one or more instances of use cases sending message instances.
Actor-Use case Association
Actor-Use case Association    
An actor-use case association is a semantic relationship between an actor and a use case. This association is typically not named and consists of exactly two association ends. The association ends are simply the end parts of the association where they connect to the actor at one end and the use case at the other. It is the association's ends that may have a number of adornments that express the rich structural semantics of the relationship.
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.
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 Class
Association Class    
An association class has the behavior of both an association and a class. It gives an association the ability to have attributes and operations like a class. It has two distinct parts to its structure: an association part and a class part.
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.
Asynchronous Message
Asynchronous Message    
An asynchronous message is a visual synonym of an asynchronous message. It adds no additional semantics; it is simply an example of the asynchronous message adapted for use on a communication diagram. This usage of the asynchronous message has the same form as an asynchronous message used on other interaction diagrams: a solid line with an open arrowhead directed from one lifeline to another (possibly reflexive). It is rarely used on a communication diagram as it does little to clarify the sequencing of messages. There is a single form of presentation in the three different types of interaction diagrams and the two different presentations of the timing diagram.
Asynchronous Message
Asynchronous Message    
An asynchronous message means that the caller dispatches the stimulus or message to the receiver and does not wait for a return but continues immediately with the next step in its own execution.
Asynchronous Message (State)
Asynchronous Message (State)    
An asynchronous message (state) is a visual synonym of an asynchronous message. It adds no additional semantics; it is simply an example of the asynchronous message adapted for use on a timing diagram. This usage of the asynchronous message has the same form as an asynchronous message used on other interaction diagrams: a solid line with an open arrowhead directed from one execution occurrence to another (possibly reflexive). It is listed separately because the message ends give it a different appearance from other examples. The points on the execution occurrence where the asynchronous messages end represent event occurrences and are important events in a lifeline. There is a single form of presentation in the three different types of interaction diagrams and the two different presentations of the timing diagram.
Asynchronous Message (Value)
Asynchronous Message (Value)    
An asynchronous message (value) is a visual synonym of a message. It adds no additional semantics; it is simply an example of the asynchronous message adapted for use on a timing diagram. This usage of the asynchronous message has the same form as an asynchronous message used on other interaction diagrams: a solid line with an open arrowhead directed from one lifeline to another (possibly reflexive). It is listed separately because the message ends give it a different appearance from other examples. The point on the execution occurrence where the asynchronous messages end represent event occurrences and are important events in a lifeline. There is a single form of presentation in the three different types of interaction diagrams and the two different presentations of the timing diagram.
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.
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.
Connector
Connector    
A connector is a feature that is used in the description of composite structures. It specifies that two or more instances are able to communicate with each other in some way. The connector does not specify how the communication is achieved but simply that it is possible. In practice the instances may be able to communicate because there is a link (instance of an association) connecting the elements or because one instance has access to another through parameter passing.
Control Flow
Control Flow    
A control flow is a directed connection (flow) between two activity nodes. As soon as the activity node at the source (tail) end of the flow is finished it presents tokens to the control flow at the target (arrowhead) end of the flow. A control flow can only carry control tokens; it cannot carry object (data) tokens. There are rules that determine whether tokens can flow along the control flow and these are determined by the type of activity nodes at the source and target of the flow. In the case of complete activities a control flow may define a weight, which specifies the minimum number of tokens that must flow along the control flow as a group.
Delegation Connector
Delegation Connector    
A delegation connector is a kind of connector that is specialized for use in component modeling. It is used to show how the specification of behavior is realized by a component. When a delegation connector is specified, any signals arriving at the port will be passed (delegated) onto an internal part, which may be another component or a part owned by the component. Similarly when a component needs to communicate with its external environment, these signals are passed from the internal part or component to a port or interface via a delegation connector.
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.
Event Occurrence (General Value)
Event Occurrence (General Value)    
An event occurrence is both a type of interaction fragment and a type of message end. Event occurrences mark the points on a lifeline where events occur. An event occurrence is the basic unit of meaning in an interaction. A lifeline is used to describe the way an instance, or a classifier playing a role, changes over time and event occurrences mark the points on lifelines where messages start or end.
Exception Edge
Exception Edge    
An exception edge is a type of activity edge drawn as a lighting bolt. It connects the executable node that is being protected by an exception handler to an exception input node on the border of the exception handler.
Execution Occurrence
Execution Occurrence    
An execution occurrence (activation) represents a period in the participant 's lifetime when it is performing an action or waiting for another participant to complete an action and return. A lifeline can have a number of execution occurrences that and these will be positioned along the lifeline, obscuring the dashed line.
Fork (Horizontal)
Fork (Horizontal)    
A fork can be orientated horizontally or vertically. Both orientations have exactly the same semantics the difference is simply that when transition are parallel to the x axis a vertically orientated fork is required whereas when transitions are parallel to the y axis a horizontally orientated fork is required.
Fork (Vertical)
Fork (Vertical)    
A fork is a pseudostate that acts to split a single incoming transition into two or more concurrent outgoing transitions. All of the outgoing transitions fire at the same time.
Fork Node
Fork Node    
A fork node can be orientated horizontally or vertically. Both orientations have exactly the same semantics the difference is simply that when flows are parallel to the x-axis a vertically orientated fork node is required, whereas when flows are parallel to the y-axis a horizontally orientated fork is required.
Fork Node
Fork Node    
A fork node is a control node that has a single incoming flow and two or more outgoing flows. Incoming tokens are offered to all outgoing flows (edges). The outgoing flows can be guarded which gives them a mechanism to accept or reject a token. If the token is accepted by an outgoing edge it is duplicated so as to create a copied token for each outgoing flow that has accepted the token. The incoming flow and all outgoing flows must be either all control flows or all object flows. Tokens cannot be detained at the node; the token copying is effectively instantaneous.
Found Message
Found Message    
A found message is a kind of message where the receiver (event occurrence) is known but the sender (event occurrence) is not known. It is assumed that the sender exists but is outside the scope of the model.
Gate
Gate    
A gate is a type of message end that represents the connection point between a message that exists within an interaction fragment and a message outside the interaction fragment. A gate is a formal mechanism for connecting messages ensuring that every message has a sender and a receiver. Gates can exist in a number of contexts: formal gates used in interactions, actual gates used in interaction occurrences and expression gates used in combined fragments.
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.
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.
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.
Interrupting Edge
Interrupting Edge    
An interrupting edge is a type of activity edge drawn as a lighting bolt. It connects a node inside a region to a node outside the region in the same activity. When a token leaves a region via an interrupting edge all other tokens in the region are consumed and all behaviors in the region are halted.
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.
Join (Horizontal)
Join (Horizontal)    
A join can be orientated horizontally or vertically. Both orientations have exactly the same semantics; the difference is simply that when transitions are parallel to the x-axis a vertically orientated join is required whereas when transitions are parallel to the y-axis a horizontally orientated join is required.
Join (Vertical)
Join (Vertical)    
A join is a kind of pseudostate that re-unites two or more incoming transitions. All of the incoming transitions must have fired before the outgoing transition will fire.
Join Node
Join Node    
A join node can be orientated horizontally or vertically. Both orientations have exactly the same semantics; the difference is simply that when flows are parallel to the x-axis a vertically orientated join node is required, whereas when flows are parallel to the y-axis a horizontally orientated join node is required.
Join Node
Join Node    
A join node is a type of control node that synchronizes a number of incoming flows into a single outgoing flow. Each (and every) incoming control flow must present a control token to the join node before the node can offer a single token to the outgoing flow. If some of the incoming flows are object flows, which carry object (data) tokens, these tokens are all offered to the outgoing flow. A join specification (for complete activities) may be used, which further governs the way that the join will evaluate the arrival of tokens.
Lifeline (State)
Lifeline (State)    
A lifeline (State) is a visual synonym of a lifeline. It adds no additional semantics; it is simply an alternative presentation of the element adapted for use on a timing diagram. In this form of the lifeline states are listed on the vertical axis and time on the horizontal axis. A continuous line represents the state of the instance at any point in time. There is no standard form of this element as it has different presentations in the three different types of interaction diagrams and has two different presentations on the timing diagram.
Lifeline (Value)
Lifeline (Value)    
A lifeline (Value) is a visual synonym of a lifeline. It adds no additional semantics; it is simply an alternative presentation of the lifeline element adapted for use on a timing diagram. In this form of the lifeline the instance is represented by two parallel lines that expand and contract, converging at a point, before diverging again. The point of convergence marks an event occurrence where an event changes the lifeline in some way giving the element its characteristic concertina (or sausage) appearance. Time is represented on the horizontal axis. Two contiguous and parallel lines represent the state of the instance at any point in time. There is no standard form of this element as it has different presentations in the three different types of interaction diagrams and has two different presentations on the timing diagram.
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.
Lost Message
Lost Message    
A lost message is a kind of message where the sender (event occurrence) is known but the receiver (event occurrence) is not known. It is assumed that the reason it does not have a receiver (reception) is because it never reached its destination.
Message (Instance Creation)
Message (Instance Creation)    
An instance creation is used if an instance needs to be created during the lifetime represented by the diagram. Many of the instances are assumed to be in existence when the diagram lifetime starts, those that aren't need to be created. Created instances typically appear at a point on the diagram offset from the other instances. When time is represented by the vertical axis they appear lower than the other instances.
Message Synchronous
Message Synchronous    
A synchronous message is a visual synonym of a synchronous message. It adds no additional semantics; it is simply an example of the synchronous message adapted for use on a communication diagram. This usage of the synchronous message has the same form as a synchronous message used on other interaction diagrams: a solid line with a solid arrowhead directed from one lifeline to another (possibly reflexive). It has a different appearance from other forms of the synchronous message as it uses a Dewey decimal system (x.y.z) of message sequence labels that indicate the time ordering of messages. There is a single form of presentation in the three different types of interaction diagrams and the two different presentations of the timing diagram.
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.
Node Association
Node Association    
A node association is a structural relationship between two nodes. It represents a physical connection between the two nodes; the connection may express a communication path or a type of network.
Object Flow
Object Flow    
An object flow is one of two types of activity edges, which are directed connection (flows) between activity nodes, the other being a control flow. As soon as the activity node at the source (tail) end of the flow is finished it presents tokens to the object flow at the target (arrowhead) end of the flow. An object flow can only carry object (data) tokens; it cannot carry control tokens. There are rules that specify whether tokens can flow along the object flow and these are determined by the type of activity node at the source and target of the flow. In the case of complete activities an object flow may define a weight, which specifies the minimum number of tokens that must flow along the object flow as a group.
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.
Recursive Message
Recursive Message    
A recursion message is a message where an instance is both the caller and the receiver of the message.
Stop
Stop    
A stop is used to denote that a participant is destroyed during the lifetime represented by the diagram. The lifeline is ended indicating that the participant no longer exists; the dashed line ends in a small cross positioned at the end of the lifeline. A participant may stop itself.
Swimlanes
Swimlanes    
Swimlanes divide or partition activity diagrams into a number of "lanes", which typically organize the diagram into a number of regions of responsibility. Each lane may have a name, which signifies the responsibility or governance of the elements that lie within it.
Synchronous Message
Synchronous Message    
A synchronous message is a message that pauses the flow of execution within the calling instance. The instance waits until the message is returned.
Synchronous Message (State)
Synchronous Message (State)    
A synchronous message (state) is a visual synonym of a synchronous message. It adds no additional semantics; it is simply an example of the synchronous message adapted for use on a timing diagram. This usage of the synchronous message has the same form as a synchronous message used on other interaction diagrams: a solid line with a solid arrowhead directed from one lifeline to another (possibly reflexive). It is listed separately because the message ends give it a different appearance from other examples. The points on the execution occurrence, where the synchronous messages end, represent event occurrences and are important events in a lifeline. There is a single form of presentation in the three different types of interaction diagrams and the two different presentations of the timing diagram.
Synchronous Message (Value)
Synchronous Message (Value)    
A synchronous message (value) is a visual synonym of a synchronous message. It adds no additional semantics; it is simply an example of the synchronous message adapted for use on a timing diagram. This usage of the synchronous message has the same form as a synchronous message used on other interaction diagrams: a solid line with a solid arrowhead directed from one lifeline to another (possibly reflexive). It is listed separately because the message ends give it a different appearance from other examples. The points on the execution occurrence, where the synchronous messages end, represent event occurrences and are important events in a lifeline. There is a single form of presentation in the three different types of interaction diagrams and the two different presentations of the timing diagram.
Terminate
Terminate    
A terminate is a kind of pseudostate that stops the execution of the enclosing state machine. It can have one or more incoming flows but no outgoing flows. While a final state signifies that execution within the enclosing region is complete, a terminate ends the execution of the entire state machine including all regions contained within the machine.
Transition
Transition    
A transition is an element relating two vertices in a state machine that represents the movement of an instance in the source state changing or "transitioning" into the instance in the second state. The transition takes place when an event occurs and the guard condition evaluates to TRUE
Use Case Generalization
Use Case Generalization    
Use case generalization is a relationship between two use cases indicating that the child (tail end) is more specific than the parent (arrow head end).
Use Case Generalization (tree)
Use Case Generalization (tree)    
Use case generalization can be represented in a single path (tree). When a number of generalization relationships exist and the children have the same parent the lines can be combined into a single path and drawn with a tree. This doesn't change the semantics of the individual relationships; it is simply a more compact and convenient style for representing the relationships. A tree that has three branches represents three discrete and separately defined generalization relationships.
Unified Modeling Language and UML are either registered

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

United States and/or other countries.