3C Clear Clean Concise UML
Previous Contents
Next
communityUML 2torial
An action is used when the modeler wishes to represent something that happens in the system or its environment.
The granularity of actions is a design choice.
Several objects may participate in an action.
An action need not be instantaneous. Actions may overlap in time. A model may specify that an action has happened, is happening, or may happen.
Q: In what ways does UML 2 action differ from UML 1 action?
A: UML 1 uses a fair number of unrelated concepts to model something that happens.
UML 1 has:
Action: "a specification of an executable statement that forms an
abstraction of a computational procedure"
Action Sequence: "a collection of actions"
Operation: "a property within a
classifier" "which performs a service"
Stimulus: "reifies a
communication between two instances"
Signal: "a specification of an asynchronous stimulus"
Message: "a particular communication between instances that is specified in an
interaction"
Reception: "a declaration stating that a classifier is prepared to react to the
receipt of a signal"
Interaction: "a unit of
behavior that focuses on the observable exchange of information"
Event: "a specification of a type of observable occurrence"
[These are all types, not particular occurences, except for Event, which is used both for a type and for a particular occurence.]
The U2P submission adds more, including:
Behavior: "the realization or implementation of a behavioral feature"
Action Occurence: "a
concrete instantiation of a (composite) action"
Interaction Fragment: "a piece of an
interaction"
Interaction Occurence: an occurence or instance of an
interaction type ("The meaning of an InteractionOccurrence is that the meaning of the
interaction definition that it refers is substituted for the InteractionOccurrence.")
Gate: "a point that represents the conceptual interface between
InteractionFragments"
3C UML 2, on the other hand, has a smaller set of concepts, which is clear, clean and concise.
The invocation of an operation of another object, the raising of a signal, the generation of an event, the sending of a message and any combination of these are all actions in UML 2.
(Interaction diagrams, collaboration diagrams, activity diagrams and use cases, all in the superstructure, are various ways of specifying UML 2 actions.)
Q: In what ways does UML 2 action differ from UML 1 action?
A: UML 1 action "is always executed within the context of an instance of the classifier that constitutes the context of the action, so the target set expression and the argument expressions are evaluated within an instance." [quoted text is from the U2P submission]
UML 2 removes this restriction and allows the modeler to specify joint actions: actions in which several object take part. The context of a joint action is the several objects participating in that action.
Q: In what ways does UML 2 action differ from UML 1 action?
A: The definitions of the different kinds of UML 1 actions come from different places in the metamodel. Likewise with the U2P submission. For example, in the U2P submission (as of the date of creating this 2torial page):
Collaboration and Signal are Classifiers.
Action and Event are Namespaces
Interaction and Interaction Occurence are both Behaviors,
though one is a type of occurence and the other a particular occurence
Interaction Fragment is not a Behavior
Interaction and Interaction Occurence are both Interaction Fragments
on the other hand Action Occurence is an Interaction Fragment, but Action is a
Namespace
Operation and Reception are Behavioral Features
not to be confused with Behaviors
In UML 2 of the 3C submission:
Operations, Receptions, and Events are all kinds of
Actions.
A combination of actions is an Action.
A Behaviors is a collections of Actions with constraints on when they may happen
Use Cases, Collaborations, State Machines, Processes (or Activities) and Data Flows
are all ways of specifying Behaviors
UML 2 also provides for specification of types of
actions which can not be specified in UML 1 (or the U2P submission), such as:
-- atomic shared actions, in which, if there is a failure, it is observable by all
objects participating in the action, and
-- flows of information, including analog and multimedia flows.
Previous Contents Next RunningExample
The OMG
mark, UML, is a trademark of
Object Management Group, Inc. (OMG).
During development of this web site, please send
comments to Joaquin Miller. mailto:joaquin@acm.org
Copyright © 2000 Financial Systems Architects