Glossary Page




See also


An object-oriented programming language based on the earlier 'C' language.



An action state that invokes an operation on a classifier.



The number of elements in a set.



Computer Aided Software Engineering. A tool designed for the purpose of modeling and building software systems.



In a Generalization relationship, the specialization of another element, the parent.



A pseudo-state used to compose complex transitional paths, where the outgoing transition path is decided by dynamic, run-time conditions determined by the actions performed by the State Machine on the path leading to the choice.



A description of a set of objects that share the same attributes, operations, methods, relationships and semantics. A Class can use a set of interfaces to specify collections of operations it provides to its environment.

Interface, Object

Class Diagram

A diagram that shows a collection of declarative (static) model elements, such as Classes, types, and their contents and relationships.

Object Diagram


The assignment of an object to a classifier.

Dynamic Classification,

Multiple Classification,

Static Classification.


A mechanism that describes behavioral and structural features. Classifiers include Interfaces, Classes, datatypes, and components.



A classifier that requests a service from another classifier.



The specification of how an operation or classifier, such as a Use Case, is realized by a set of classifiers and Associations playing specific roles used in a specific way. The Collaboration defines an interaction.


Collaboration Diagram

Used pre-UML 2.0. Now called a Communication diagram.


Collaboration Use

Uses an occurrence to apply a pattern defined by a Collaboration to a specific situation.


Combined Fragment

A combined fragment reflects a piece or pieces of interaction (called interaction operands) controlled by an interaction operator, whose corresponding boolean conditions are known as interaction constraints. It appears graphically as a transparent window, divided by horizontal dashed lines for each operand.



An annotation attached to an element or a collection of elements. A comment, or note, has no semantics.


Communication Diagram

A diagram that shows the interactions between elements at run-time in much the same manner as a Sequence diagram. However, Communication diagrams are used to visualize inter-object relationships, while Sequence diagrams are more effective at visualizing processing over time.

Collaboration Diagram, Object Diagram

Compile Time

Refers to something that occurs during the compilation of a software module.

Modeling Time, Run Time, Analysis Time, Design Time


A modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces. A Component is typically specified by one or more classifiers (such as implementation Classes) that reside on it, and can be implemented by one or more artifacts (such as binary, executable, or script files).

Module Artifact, Product

Component Diagram

A diagram that shows the organizations and dependencies among Components.


Composite ( Class )

A Class that is related to one or more Classes by a Composition relationship.


Composite State

A State that consists of either concurrent (orthogonal) substates or sequential (disjoint) substates.

Substate, Concurrent Substate, Disjoint Substate

Composite Structure Diagram

A diagram that reflects the internal collaboration of Classes, Interfaces, or Components to describe a functionality. Composite Structure diagrams are similar to Class diagrams, except that they model a specific usage of the structure.



A form of Aggregation that requires that a part instance be included in at most one Composite at a time, and that the Composite object is responsible for the creation and destruction of the parts. Composition can be recursive.

Composite Aggregation

Concrete Class

A Class that can be directly instantiated.

Abstract Class


The occurrence of two or more activities during the same time interval. Concurrency can be achieved by interleaving or simultaneously executing two or more threads.


Concurrent Substate

A substate that can be held simultaneously with other substates contained in the same composite State.

Composite State

Disjoint Substate


A logical link between model elements. Can be structural, dynamic or possessive.



  1. A semantic condition or restriction. Certain constraints are predefined in the UML, others can be user defined. Constraints are one of three extensibility mechanisms in UML.
  2. A rule or condition that applies to some element. It is often modeled as a pre- or post- condition.

Tagged Value, Stereotype




  1. An instance that exists to contain other instances, and that provides operations to access or iterate over its contents.(for example, arrays, lists, sets).
  2. A component that exists to contain other components.


Containment Hierarchy

A namespace hierarchy consisting of model elements, and the containment relationships that exist between them. A containment hierarchy forms a graph.



A view of a set of related modeling elements for a particular purpose, such as specifying an operation.



A Continuation is used in seq and alt combined fragments, to indicate the branches of continuation an operand follows.



A stereotyped Class that represents a controlling entity or manager. A Control organizes and schedules other activities and elements. It is the controller of the Model-View-Controller pattern.


Control Flow

A connector linking two nodes in an activity diagram. Control Flow connectors start a node's activity when the preceding node's action is finished.