UML behavioral modeling
UML behavioral modeling includes refers to a set of modeling languages
Behavioral modeling in the UML architecture
The UML specification is fairly complex and its organisation is not so easy to understand. Within each UML part, the concepts are grouped into clauses according to modeling capability and that covers a specific modeling formalism. For instance, all concepts related to the state machine modeling capability are gathered in the State Machines clause and all concepts related to the activities modeling capability are in the Activities clause.
Part II - Behavior specifies the dynamic, behavioral constructs (e.g., activities, interactions, state machines) used in various behavioral diagrams:
- UML activity diagrams
- UML use case diagrams
- State machine diagrams
- Various interaction diagrams, i.e. sequence diagrams, communication diagrams, interaction overview diagram and timin diagram.
Actions in the UML framework are "lower-level behaviors". The basic concept of activity and all other behavior diagrams are actions. “An action is the fundamental unit of behavior specification. An action may takes a set of inputs and may convert them into a set of outputs. Some of the actions modify the state of the system in which the action executes. The values that are the inputs to an action may be described by value specifications. (See UML, version 2.1.2)”.
UML activity metaclasses
UML defines activities with activity packages, each of which is modeled with aa UML class diagram. There several kinds of activity packages. (however, it is not clear to us whether these are really use in practice or whether they just represent a modular way to define languages).
- Fundamental activities: defines activites as nodes that include actions
- Basic activities: adds squencing (without forks/joins and decision)
- Intermediate activities: Supports modeling of activity diagrams. Supports activity diagrams, e.g. includes dataflow, concurrent control and decision.
- Complete activities: adds constraints such as edge weights
- Structured activities: supports structured programming constructs and is compatible with intermediate and complete activities.
- Complete structured activities: Adds support for data flow output pins os sequences, conditions and loops to structured activities.
- Extra structured activities: Adds exception handling to structured activities.