UML (layer M2) defines the rules for its own semantics. The language units are terms defined in UML 2.0 superstructure. This means a formal representation that everyone involved can understand is possible. Language units abstract similarly structured and similarly functioning objects and processes, and give them a visually representable form. Depending on the hierarchy level within the model, elements take on more specialized tasks or define other elements more closely.
Class: As a language unit, classes are a core aspect of UML. You define what a class is and how classes interact with each other. This language unit has four levels, ranging from simple elements to more complex relationships:
- Core (describes elements from the UML 2.0 infrastructure such as package, namespace, attribute, etc.)
- Association classes
- Interfaces
- Powertypes (classes whose instances are subclasses within this class)
Components: Components are software modules that separate their contents from the external system. There is only a connection to the outside through interfaces or port. A composition connector establishes a connection to another component via the interface. The delegation connector links internal elements with an interface at the external border. Components are modular and interchangeable.
Composite structure: The composite structure of language units describes elements that are shielded inwards and outwards like components. Only ports connect the content to the external system. The so-called encapsulated classifiers are composed of elements called parts. Parts communicate via connectors.
Profile: A profile configures UML 2.0 for specific needs. Abstract terms such as activity or object must be specified for some projects to increase understanding. You can use a profile to adjust semantics and notations that are loosely set.
Model: The model includes all elements necessary to represent a specific view of the structure or behavior of a system. This also includes external influences such as actors.
Action: When it comes to depicting behavior, actions are central. They represent a single step within an activity – an activity, in turn, is a behavior which is made up of a collection of actions. Here are some examples of actions:
- Fill order
- Show error page
- Process order
Behavior: The language unit “behavior” or “behavior description” means the modeling of dynamic aspects within a system. It contains three specifications:
- Activity: Actions interact through data and control flows. This results in a complex system of behaviors - the activities.
- Interaction: This meta-model describes how message flows are exchanged between objects, when a message is sent and to which object, and which other elements are affected by it.
- State machines: In a state diagram, this meta-model shows states (situations with unchangeable properties) and pseudo-states (states without value assignment) along with their transitions. Objects in a state can be assigned to actions or activities.
Distribution: A network consists of objects that are connected to each other in meshes. A special case of application exists if these elements represent executable software or artifacts. These artifacts run on execution environments or devices that UML 2.0 categorizes as nodes. The artifact is therefore dependent on the node. The distribution represents this dependency relationship that arises during installation.
Application case: The application case (as a language unit) represents system requirements. The actor (a person or a system) is an element that determines who or what is to perform a particular activity through the system. The system can also be a class or component, and is therefore described as a subject. The use case (as a model element) only informs that a named behavior is expected that is visible to the outside world. It does not usually show the exact actions. Within a behavioral description, modeling assigns the detailed requirements to the application case.
Information flow: This UML language unit describes the elements information unit and information flow. These model elements define techniques for describing behavior that can be very detail-oriented, such as activities or interactions. This simplified representation allows the universal use of these modeling elements in all UML diagram types.