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.
See also: subclass, subtype
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.
See also: interface, object
A diagram that shows a collection of declarative (static) model elements, such as Classes, types, and their contents and relationships.
See also: object diagram
The assignment of an object to a classifier.
See also: dynamic classification, multiple classification and 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.
See also: interaction
Used pre-UML 2.0. Now called a Communication diagram.
Uses an Occurrence to apply a pattern defined by a Collaboration to a specific situation.
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.
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.
See also: collaboration diagram, object diagram
Refers to something that occurs during the compilation of a software module.
See also: 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).
See also: module
Contrast: artifact, product
A diagram that shows the organizations and dependencies among Components.
A Class that is related to one or more Classes by a Composition relationship.
See also: composition
A State that consists of either concurrent (orthogonal) substates or sequential (disjoint) substates.
See also: 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.
Synonym: composite aggregation
See also: composite, aggregation
A Class that can be directly instantiated.
Contrast: 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.
See also: thread
A substate that can be held simultaneously with other substates contained in the same composite State.
See also: composite state
Contrast: disjoint substate
A logical link between model elements. Can be structural, dynamic or possessive.
- 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.
See also: tagged value, stereotype
- A rule or condition that applies to some element. It is often modeled as a pre- or post- condition.
- An instance that exists to contain other instances, and that provides operations to access or iterate over its contents.(for example, arrays, lists, sets).
- A component that exists to contain other components.
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.
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.