# Glossary of Unified Modeling Language terms

Glossary of Unified Modeling Language (UML) terms provides a compilation of terminology used in all versions of UML, along with their definitions. Any notable distinctions that may exist between versions are noted with the individual entry it applies to.
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## A

* Abstract - An indicator applied to a classifier (e.g., actor, class, use case) or to some features of a classifier (e.g., a class's operations) showing that the feature is incomplete and is intended not to be instantiated, but to be specialized by other definitions.
* Abstract class - A class that does not provide a complete declaration, perhaps because it has no implementation method identified for an operation. By declaring a class as abstract, one intends to prohibit direct instantiation of the class. An abstract class cannot directly instantiate objects; it must be inherited from before it can be used.
* Abstract data type
* Abstract operation - Unlike attributes, class operations can be abstract, meaning that there is no provided implementation. Generally, a class containing an abstract operation should be marked as an abstract class. An Operation must have a method supplied in some specialized Class before it can be used.
* Abstraction is the process of picking out common features and deriving essential characteristics from objects and procedure entities that distinguish it from other kinds of entities.
* Action - An action is the fundamental unit of behaviour specification and represents some transformation or processing in the modeled system, such as invoking a method of a class or a sub activity
* Action sequence -
* Action state -
* Action steps -
* Activation - the time during which an object has a method executing. It is often indicated by a thin box or bar superimposed on the Object's lifeline in a Sequence Diagram
* Activity diagram - a diagram that describes procedural logic, business process or work flow. An activity diagram contains a number of Activities and connected by Control Flows and Object Flows.
* Active class - a class defining active objects
* Active object - an object running under its own thread
* Activity - carrying out behaviour in a State machine diagram
** Do - a type of Activity which may be interrupted, as opposed to normal Activities which may not be interrupted
** Internal - an Activity that is executed within a State
*** Entry - an Activity that is executed when a State is entered
*** Exit - an Activity that is executed when a State is exited
* Activity final - the end point of an activity diagram. When a thread reaches an Activity Final node, all the threads of the activity terminate. (Contrast with Flow Final node, which marks the end of one thread.)
* Actor - a role that a user takes when invoking a use case. Also see actor modeling.
* Aggregation - 1. a special type of association used to represent a stronger relationship between two classes than a regular association; typically read as "owns a", as in, "Class A owns a Class B". A hierarchy of classes where the child object may or may not continue to exist if the parent object is destroyed; see 'composition'. 2. An aggregation is a structural relationship that specifies that one class represents a large thing which constitute of smaller things and represents "has-a" relationship.
* Artifact - items that model physical pieces of information in your system, such as a user's manual, training material, or password file
* Association - 1. a relationship with 2 or more ends, where each end is on a class (or other classifier). Each end is called a Role, and may have a role name, Multiplicity, and may be Navigable. 2. An association is a structural relationship that specifies that the objects of one thing are connected with the objects of another.
* Association class - a class that describes an association.
* Asynchronous - The sender of an asynchronous message does not wait for a response.
* Attribute - a significant piece of data owned by a Class, often containing values describing each instance of the class. Besides the attribute name and a slot for the attribute value, an attribute may have specified Visibility, Type, Multiplicity, Default value, and Property-string.
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## B

* Block - Block is a place where all the aggregates are collected at one place
* BPM - Business Process Model, is used to define the process followed by the business. It is a high level design for the business process.
* BPMN - Business Process Modelling Notations, are used to define the process on paper with the help of predefined shapes of UML.
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## C

* Call -
* Cardinality - the current number of occurrences of a Property. The cardinality must be a value that is allowed by the multiplicity
* Child -
* Class - the primary declarative construct of object-oriented programming; a cohesive unit of Attributes and Operations; a compile-time template for an Object
* Class diagram - a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes and the relationships between the classes.
* Classifier - a category of UML elements that have some common features, such as attributes or methods.
* Client -
* Collaboration - A collaboration is a society of classes, interfaces and other elements that work together to provide some cooperative behavior that is bigger than the sum of its parts.
* Communication diagram
* Component - A component represents a software module (source code, binary code, executable, DLL, etc.) with a well-defined interface. The interface of a component is represented by one or several interface elements that the component provides. Components are used to show compiler and run-time dependencies, as well as interface and calling dependencies among software modules. They also show which components implement a specific class.
* Component diagram
* Composite structure diagram
* Composition - a specific type of relationship describing how one Object is composed of another Object; a form of Aggregation where the child object is destroyed if the parent object is destroyed.
* Condition -
* Connection -
* Constraint - natural language, programming language or Object Constraint Language boolean condition which may not be false if a Class is to be considered valid
* Containment - containment by value and containment by reference. Containment by value implies that an object contains another object; containment by reference implies that an object contains a pointer to another object.
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## D

* Decision - a point in an Activity diagram where a Flow splits into several, mutually exclusive, Guarded flows. A Merge marks the end of the optional behaviour started by the Decision
* Dependency - a dependency exists between two defined elements if a change to the definition of one would result in a change to the other. In UML this is indicated by a line pointing from the dependent to the independent element.
* Deployment diagram
* Derived property - a property that can be calculated or inferred from other properties
* Diagram - a visual representation of a subset of features of a UML Model
* Directed relationship -
* Domain - a logical grouping that explicitly declares a rule which defines ownership of objects based upon some type or property.

## E

* Edge - a synonym for Flow
* Encapsulation - a means to bind together code and the data it uses. It is the basis of object oriented programming.
* Entity -
* Enumeration - a set of constant values for a new data type
* Event - when it occurs on an Object it may cause a Transition in a State machine diagram
* Expansion region - a set of Actions in an Activity diagram that occur once for each of a collection of input Tokens to the Expansion Region
* Extend - a means to use a class as a starting point for creation of a new class. The new class inherits all of the attributes, properties, and methods of the class it extends.
* Exception -

## F

* File -
* Final state - the state at which an object ceases to exist
* Flow - a navigational connection between two Actions
* Flow Final - the point at which a Flow ends without ending the complete Activity
* Fork - a point in an Activity diagram where a Flow of logic splits into several concurrent Flows (Threads)
* Found Message - starting point for a Sequence diagram
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## G

* Generalization - a relationship between a specific classifier (typically a class) to a more general classifier asserting that the general classifer contains common features among both the specific classifier and the general classifier. Features include, for example, properties, and constraints. The use of generalization is often logically restricted to cases where the specific classifier is a "kind-of" or "sort-of" the general classifier: for example, a Boxer is a "kind-of" Dog. When the classifiers involved are software engineering classes, generalization usually involves reusing code; it is often implemented using inheritance, where the more specific code reuses the more general code.
* Generalization Tree - Several specialized classifiers may point to the same general classifier, forming a generalization tree, where the general classifer contains common features shared by all the specialized versions. As generalization is a relationship, it is possible for a classifer to participate in several generalizations, often being on the specific end or on the general end, forming a directed acyclic graph (DAG) (i.e., no loops).
* Generic -
* Guard - a boolean test that must be satisfied for a Flow of an activity diagram or a Transition of a state machine diagram to be allowed to start

## H

* Hierarchy -
* History pseudostate - points to the initial state of an object where no previous state history was saved

## I

* Inheritance - where a new more specific Class derives part of its definition from an existing more general Class
* Initial node - the start point of an Activity diagram
* Initial pseudostate - points to the initial State of an Object
* Instance - An instance is a concrete manifestation of an abstraction to which a set of operations can be applied and which has a state that stores the effect of the operation.
* Interaction diagram
* Interaction overview diagram
* Interaction Frame - a section of a Sequence diagram, divided into fragments, which is subject to an algorithmic Operator such as iteration, parallelism or optionality.
* Interface - a defined communication boundary.
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## J

* Join - a point in an activity diagram where several concurrent flows (threads) synchronize, waiting until all are complete before continuing with a single flow

## L

* Lifeline - indicates a participating Object or Part in a sequence diagram. The Lifeline may show activation, Object creation, and Object deletion.
* Link - a relationship between objects. While an Object is an instantiation of a Class a Link can be seen as an instantiation of an Association.

## M

* Merge - a point in an activity diagram marking the end of the optional behavior started by a Decision
* Message - a signal from one object (or similar entity) to another, often with parameters. Often implemented as a call to a Method, including the Constructor and Destructor, of an Object in a Sequence diagram.
* Metadata -
* Metamodel -
* Metamodeling -
* Metamodeling technique -
* Meta-Object Facility -
* Method -
* Modeling -
** Domain - the representation of real world conceptual entities
** Design - the representation of software Classes and Interfaces
** Dynamic - use of Interaction diagrams to describe collaborations and behavior
* model -
* Model-driven architecture (MDA) -
* Multiplicity - 1. A specification of the number of possible occurrences of a property, or the number of allowable elements that may participate in a given relationship. In UML 1.x, it was also possible to have a discrete list of values, but this was eliminated in UML 2.0. 2. It specifies how many objects may be connected across an instance of an association which is written as a range of values (like 1..*).
** Mandatory - A required multiplicity, the lower bound is at least one, usually 1..1 or 1
** Optional - The lower bound is at most zero, usually, 0..1
** Many - A multiplicity with no upper limit, either 0..* or *
** Forbidden - No elements allowed, 0..0 (in UML 2.2)
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## N

* Namespace - a context in which an identifier exists.
* Navigable - the ability for objects of a Class at one end of an Association to retrieve Objects from the other end. Associations need not be navigable.
* Node -
* Note - It is an explanatory part of UML models. A note is a symbol for rendering constraints and comments attached to an element or collection of elements.

## O

* Object - a runtime instance of a Class. Objects are rarely shown on diagrams (because there are usually too many) unless they are used to illustrate some scenario, test, etc. Such Objects are often shown with the Attributes of the Class populated with sample data
* Object Constraint Language (OCL) - a declarative language for describing rules and constraints that apply to UML models
* Object diagram
* Operation - the signature of a Method of a Class; consists of the Operation Name, Visibility, Parameter list, Return Type, and Property-string
* Operator - an algorithmic feature of Interaction Frame that defines the behavior of that frame. Examples include:
** alt - multiple alternatives each with a guard condition. Only one alternative can be true.
** critical - a fragment within a larger parallel Interaction Frame that when entered suspends the interleaving of events from the other fragments.
** loop - the fragment iterates according to a guard condition.
** neg - an invalid interaction.
** opt - single alternative with a guard condition.
** par - each fragment is run in parallel.
** ref - an interaction defined in another diagram.
** strict - a fragment with the ordering of reception events across multiple lifelines follow strictly their graphical arrangement.
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## P

* Package - A package is a collection or grouping of related classes or of classes with related functionality.
* Package diagram
* Parameter - data passed in a Message to be used within the Method
* Partition - section of an Activity diagram or Sequence diagram occupied by a single Class or Object
* Pin - a parameter of an Action
* Polymorphism - the ability of Objects belonging to different Classes to respond to Operations of the same name, each one according to the right Class-specific behaviour
* Profile - Provides a generic extension mechanism for building UML models. Other extension mechanisms include stereotypes.
* Property - an Attribute or an Association
* Property-string - a qualifier for Attributes and Operations. Examples include {ordered}, {readonly}, {unique}.

## Q

* Qualified association - tightens the multiplicity or role of an association between 2 classes by dividing the set of objects into subsets based on a value of the qualifier—an attribute of the target objects, association objects, or some a derived attribute of the target or association objects.

## R

* Realization - Realization shows the relationship between an Interface and the class that provides the implementation for the interface.
* Reference -
* Request - The input to the system for finding the related abstracts from different operations (Add, Del, Mod, Inq.). Request could be for only one for every operation
* Response - The output of the "Request". Response could be 1 or more for a single request.
* Relation -
* Return - a reply that may be issued from a Method following a Message
* Role - description of the part played in an Association by one of the Classes in the Association
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## S

* Scenario - a narrative describing foreseeable interactions
* Self-call - a Message from an Object to one of its own Methods
* Sequence diagram - describes the Messages sent between a number of participating Objects in a Scenario
* Signal - an Event which can occur in an Activity diagram in three different ways: as a Time Signal, as a signal which an Activity can listen for and a signal which an Activity can send
* State - an Object exists at one of the States described in a State machine diagram. A state encompasses all the properties of the object along with the values of each of these properties.
* State diagram - synonym for State machine diagram
* State machine diagram - describes the lifetime behaviour of a single Object in terms of in which State it exists and the Transition between those States
* Static attribute - an attribute that does not relate to a specific object but is at class level; that is, an attribute that is common among all objects of that class
* Static modeling - use of class diagrams to describe structure
* Static operation - an operation that does not relate to a specific object but is at class level
* Stereotype - a notation allowing the extension of UML symbols. Some are defined within Profiles. Examples of predefined UML stereotypes are Actor, Exception, Powertype and Utility.
* Structure diagram
* Superstate - construct allowing several States which share common Transitions and Internal Activities
* Swim lane - synonym for Partition
* System model - The logical UML model being represented through one or more UML diagrams
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z

## T

* Tagged values - In extensibility
* Template - a Class that accepts a compile-time parameter defining the Type to be used within the Class; often to implement Collections of any Type
* Thread - a sequence of instructions whose execution is being scheduled by the Operating System and may run in parallel with other threads
* Timing Diagram
* Token - symbolises the Thread of an Activity diagram
* Transition - 1. movement from one State to another in a State machine diagram. The transition is specified by its Trigger-signature [Guard]/Activity 2. a relationship between two states indicating that when a specific event occurs and specific conditions are satisfied an object in the first state will perform certain actions and enter the second state.
* Type - the options are: an elementary Value type such as integer, string, date, or Boolean or a Reference type defined in a Class

## U

* Use case - A use case can be defined as a sequence of actions, including variations, that the system can execute and that produce an observable result which has some value for an actor that interacts with the system
* Use case diagram
* Uses dependency -

## V

* Visibility - the availability for access of elements in a model. Typically used to limit the visibility of features defined by a Class (e.g., attributes, operations). When applied to features defined by a class, the standard options are:
** private (-): available only within the Class in which it was defined. This is the most limited visibility
** protected (#): available within any subclass of this class and within the package which directly contains the defining Class
** package (~): available only within the Package which directly contains the defining Class
** public (+): available to any Class that can see the defining Class. This is the least limited visibility.

## W

* Workflow - Set of sequential steps which must be done to get a job done

## X

* XMI - An OMG standard for exchanging metadata information via Extensible Markup Language (XML).
* xUML - an UML profile or generic extension mechanism for customizing Unified Modeling Language (UML).
* Top
* 0–9
* A
* B
* C
* D
* E
* F
* G
* H
* I
* J
* K
* L
* M
* N
* O
* P
* Q
* R
* S
* T
* U
* V
* W
* X
* Y
* Z