Skip to content

Metamodel activity

Philippe DUL edited this page Mar 1, 2023 · 5 revisions

activity

Activity aims at completing the implementation of the UML Activity provided by the FunctionalArchitecture in order to make it fully supportable anytime.

AbstractActivity

An activity specifies the coordination of executions of subordinate behaviors, using a control and data flow model [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement, TraceableElement

Specific fields

Attribute Type Range Description
isReadOnly EBoolean 0..1
isSingleExecution EBoolean 0..1
Reference Type Range Description
ownedEdges ActivityEdge 0..*
ownedGroups ActivityGroup 0..*
ownedNodes ActivityNode 0..*
ownedStructuredNodes StructuredActivityNode 0..*

Inherited fields (from AbstractBehavior)

Attribute Type Range Description
isControlOperator EBoolean 0..1
Reference Type Range Description
ownedParameter AbstractParameter 0..*
ownedParameterSet AbstractParameterSet 0..*

ExceptionHandler

An exception handler is an element that specifies a body to execute in case the specified exception occurs during the execution of the protected node [source: UML superstructure specification v2.2]

Common Types: ModelElement

Specific fields

Reference Type Range Description
exceptionInput ObjectNode 1..1
exceptionTypes AbstractType 1..*
handlerBody ExecutableNode 1..1
protectedNode ExecutableNode 1..1

ActivityGroup

Activity groups are a generic grouping construct for nodes and edges. Nodes and edges can belong to more than one group. They have no inherent semantics and can be used for various purposes. Subclasses of ActivityGroup may add semantics. [source: UML superstructure v2.2]

Common Types: ModelElement

Specific fields

Reference Type Range Description
ownedEdges ActivityEdge 0..*
ownedNodes ActivityNode 0..*
subGroups ActivityGroup 0..*
superGroup ActivityGroup 0..1

InterruptibleActivityRegion

An interruptible region contains activity nodes. When a token leaves an interruptible region via edges designated by the region as interrupting edges, all tokens and behaviors in the region are terminated [source: UML superstructure v2.2]

Common Types: ModelElement

Specific fields

Reference Type Range Description
interruptingEdges ActivityEdge 0..*

Inherited fields (from ActivityGroup)

Reference Type Range Description
ownedEdges ActivityEdge 0..*
ownedNodes ActivityNode 0..*
subGroups ActivityGroup 0..*
superGroup ActivityGroup 0..1

ObjectNodeOrderingKind

ObjectNodeOrderingKind is an enumeration indicating queuing order within a node [source: UML superstructure v2.2]

Common Types:

Attribute Description
FIFO
LIFO
ordered
unordered

ObjectNodeKind

specifies the type of behavior of the object node with respect to incoming data

Common Types:

Attribute Description
NoBuffer [](#nobuffer "When the "nobuffer" stereotype is applied to object nodes, tokens arriving at the node are discarded if they are refused byoutgoing edges, or refused by actions for object nodes that are input pins[source: SysML specification v1.1]")
Overwrite [](#overwrite "When the "overwrite" stereotype is applied to object nodes, a token arriving at a full object node replaces the onesalready there (a full object node has as many tokens as allowed by its upper bound)[source: SysML specification v1.1]")
Unspecified

ActivityEdge

ActivityEdge is an abstract class for the connections along which tokens flow between activity nodes. It covers control and data flow edges. Activity edges can control token flow [source: UML superstructure v2.2]

Common Types: ModelElement

Known Sub Types: FunctionalExchange

Specific fields

Attribute Type Range Description
kindOfRate RateKind 0..1
Reference Type Range Description
guard ValueSpecification 0..1
inActivityPartition ActivityPartition 0..1
inInterruptibleRegion InterruptibleActivityRegion 0..1
inStructuredNode StructuredActivityNode 0..1
interrupts InterruptibleActivityRegion 0..1
probability ValueSpecification 0..1
rate ValueSpecification 0..1
source ActivityNode 1..1
target ActivityNode 1..1
weight ValueSpecification 0..1

Inherited fields (from AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

ControlFlow

A control flow is an edge that starts an activity node after the previous one is finished [Source : UML superstructure specification v2.2]

Common Types: ModelElement

Inherited fields (from ActivityEdge, AbstractRelationship)

Attribute Type Range Description
kindOfRate RateKind 0..1
Reference Type Range Description
guard ValueSpecification 0..1
inActivityPartition ActivityPartition 0..1
inInterruptibleRegion InterruptibleActivityRegion 0..1
inStructuredNode StructuredActivityNode 0..1
interrupts InterruptibleActivityRegion 0..1
probability ValueSpecification 0..1
rate ValueSpecification 0..1
realizedFlow AbstractInformationFlow 0..1
source ActivityNode 1..1
target ActivityNode 1..1
weight ValueSpecification 0..1

ObjectFlow

An object flow models the flow of values to or from object nodes [source: UML superstructure v2.2]

Common Types: ModelElement

Known Sub Types: FunctionalExchange

Specific fields

Attribute Type Range Description
isMulticast EBoolean 0..1
isMultireceive EBoolean 0..1
Reference Type Range Description
selection AbstractBehavior 0..1
transformation AbstractBehavior 0..1

Inherited fields (from ActivityEdge, AbstractRelationship)

Attribute Type Range Description
kindOfRate RateKind 0..1
Reference Type Range Description
guard ValueSpecification 0..1
inActivityPartition ActivityPartition 0..1
inInterruptibleRegion InterruptibleActivityRegion 0..1
inStructuredNode StructuredActivityNode 0..1
interrupts InterruptibleActivityRegion 0..1
probability ValueSpecification 0..1
rate ValueSpecification 0..1
realizedFlow AbstractInformationFlow 0..1
source ActivityNode 1..1
target ActivityNode 1..1
weight ValueSpecification 0..1

ActivityPartition

An activity partition is a kind of activity group for identifying actions that have some characteristic in common. [source: UML superstructure v2.2]

Common Types: ModelElement, AbstractNamedElement

Specific fields

Attribute Type Range Description
isDimension EBoolean 0..1
isExternal EBoolean 0..1
Reference Type Range Description
representedElement AbstractType 0..1
subPartitions ActivityPartition 0..*
superPartition ActivityPartition 0..1

Inherited fields (from ActivityGroup)

Reference Type Range Description
ownedEdges ActivityEdge 0..*
ownedNodes ActivityNode 0..*
subGroups ActivityGroup 0..*
superGroup ActivityGroup 0..1

ActivityExchange

Interactions between Ports to support Functions, (e.g. Exchanges can be composed of system data, events, analogic signals...). Exchanges are a refinement of the interfaces requirements identified through behavioral modeling, and expressed through Functions. Hence any Function may identify a series of Exchanges to fully transfer the required element

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: ComponentExchange, CommunicationMean

Specific fields

Reference Type Range Description
realizingActivityFlows ActivityEdge 0..*

Inherited fields (from AbstractInformationFlow, AbstractRelationship)

Reference Type Range Description
convoyedInformations AbstractExchangeItem 0..*
realizations AbstractRelationship 0..*
realizedFlow AbstractInformationFlow 0..1
source InformationsExchanger 1..1
target InformationsExchanger 1..1

ActivityNode

An activity node is an abstract class for the steps of an activity. It covers executable nodes, control nodes, and object nodes. [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: SystemFunction, FunctionInputPort, FunctionOutputPort, LogicalFunction, OperationalActivity, PhysicalFunction

Specific fields

Reference Type Range Description
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inStructuredNode InterruptibleActivityRegion 0..1
outgoing ActivityEdge 0..*

ExecutableNode

An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers. [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: SystemFunction, LogicalFunction, OperationalActivity, PhysicalFunction

Specific fields

Reference Type Range Description
ownedHandlers ExceptionHandler 0..*

Inherited fields (from ActivityNode)

Reference Type Range Description
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inStructuredNode InterruptibleActivityRegion 0..1
outgoing ActivityEdge 0..*

StructuredActivityNode

A structured activity node represents a structured portion of the activity that is not shared with any other structured node, except for nesting [source: UML superstructure v2.2]

Common Types: ModelElement, AbstractNamedElement

Inherited fields (from ActivityGroup, AbstractAction, ExecutableNode, ActivityNode)

Reference Type Range Description
context AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inputs InputPin 0..*
inStructuredNode InterruptibleActivityRegion 0..1
localPostcondition AbstractConstraint 0..1
localPrecondition AbstractConstraint 0..1
outgoing ActivityEdge 0..*
outputs OutputPin 0..*
ownedEdges ActivityEdge 0..*
ownedHandlers ExceptionHandler 0..*
ownedNodes ActivityNode 0..*
subGroups ActivityGroup 0..*
superGroup ActivityGroup 0..1

AbstractAction

An Action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: SystemFunction, LogicalFunction, OperationalActivity, PhysicalFunction

Specific fields

Reference Type Range Description
context AbstractType 0..1
inputs InputPin 0..*
localPostcondition AbstractConstraint 0..1
localPrecondition AbstractConstraint 0..1
outputs OutputPin 0..*

Inherited fields (from ExecutableNode, ActivityNode)

Reference Type Range Description
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inStructuredNode InterruptibleActivityRegion 0..1
outgoing ActivityEdge 0..*
ownedHandlers ExceptionHandler 0..*

AcceptEventAction

AcceptEventAction is an action that waits for the occurrence of an event meeting specified condition [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Specific fields

Attribute Type Range Description
isUnmarshall EBoolean 0..1
Reference Type Range Description
result OutputPin 0..*

Inherited fields (from AbstractAction, ExecutableNode, ActivityNode)

Reference Type Range Description
context AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inputs InputPin 0..*
inStructuredNode InterruptibleActivityRegion 0..1
localPostcondition AbstractConstraint 0..1
localPrecondition AbstractConstraint 0..1
outgoing ActivityEdge 0..*
outputs OutputPin 0..*
ownedHandlers ExceptionHandler 0..*

InvocationAction

In addition to targeting an object, invocation actions can also invoke behavioral features on ports from where the invocation requests are routed onwards on links deriving from attached connectors. Invocation actions may also be sent to a target via a given port, either on the sending object or on another object. [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: SystemFunction, LogicalFunction, OperationalActivity, PhysicalFunction

Specific fields

Reference Type Range Description
arguments InputPin 0..*

Inherited fields (from AbstractAction, ExecutableNode, ActivityNode)

Reference Type Range Description
context AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inputs InputPin 0..*
inStructuredNode InterruptibleActivityRegion 0..1
localPostcondition AbstractConstraint 0..1
localPrecondition AbstractConstraint 0..1
outgoing ActivityEdge 0..*
outputs OutputPin 0..*
ownedHandlers ExceptionHandler 0..*

SendSignalAction

SendSignalAction is an action that creates a signal instance from its inputs, and transmits it to the target object, where it may cause the firing of a state machine transition or the execution of an activity. The argument values are available to the execution of associated behaviors. The requestor continues execution immediately. Any reply message is ignored and is not transmitted to the requestor. If the input is already a signal instance, use SendObjectAction [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Specific fields

Reference Type Range Description
signal AbstractSignal 1..1
target InputPin 1..1

Inherited fields (from InvocationAction, AbstractAction, ExecutableNode, ActivityNode)

Reference Type Range Description
arguments InputPin 0..*
context AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inputs InputPin 0..*
inStructuredNode InterruptibleActivityRegion 0..1
localPostcondition AbstractConstraint 0..1
localPrecondition AbstractConstraint 0..1
outgoing ActivityEdge 0..*
outputs OutputPin 0..*
ownedHandlers ExceptionHandler 0..*

CallAction

CallAction is an abstract class for actions that invoke behavior and receive return values [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: SystemFunction, LogicalFunction, OperationalActivity, PhysicalFunction

Specific fields

Reference Type Range Description
results OutputPin 0..*

Inherited fields (from InvocationAction, AbstractAction, ExecutableNode, ActivityNode)

Reference Type Range Description
arguments InputPin 0..*
context AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inputs InputPin 0..*
inStructuredNode InterruptibleActivityRegion 0..1
localPostcondition AbstractConstraint 0..1
localPrecondition AbstractConstraint 0..1
outgoing ActivityEdge 0..*
outputs OutputPin 0..*
ownedHandlers ExceptionHandler 0..*

CallBehaviorAction

CallBehaviorAction is a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. The argument values of the action are available to the execution of the invoked behavior. For synchronous calls the execution of the call behavior action waits until the execution of the invoked behavior completes and a result is returned on its output pin. The action completes immediately without a result, if the call is asynchronous. [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: SystemFunction, LogicalFunction, OperationalActivity, PhysicalFunction

Specific fields

Reference Type Range Description
behavior AbstractBehavior 0..1

Inherited fields (from CallAction, InvocationAction, AbstractAction, ExecutableNode, ActivityNode)

Reference Type Range Description
arguments InputPin 0..*
context AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inputs InputPin 0..*
inStructuredNode InterruptibleActivityRegion 0..1
localPostcondition AbstractConstraint 0..1
localPrecondition AbstractConstraint 0..1
outgoing ActivityEdge 0..*
outputs OutputPin 0..*
ownedHandlers ExceptionHandler 0..*
results OutputPin 0..*

ObjectNode

An object node is an activity node that indicates an instance of a particular classifier, possibly in a particular state, may be available at a particular point in the activity [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: FunctionInputPort, FunctionOutputPort

Specific fields

Attribute Type Range Description
isControlType EBoolean 0..1
kindOfNode ObjectNodeKind 0..1
ordering ObjectNodeOrderingKind 0..1
Reference Type Range Description
inState IState 0..*
selection AbstractBehavior 0..1
upperBound ValueSpecification 0..1

Inherited fields (from ActivityNode, AbstractTypedElement)

Reference Type Range Description
abstractType AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inStructuredNode InterruptibleActivityRegion 0..1
outgoing ActivityEdge 0..*

Pin

A pin is a typed element and multiplicity element that provides values to actions and accepts result values from them [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: FunctionInputPort, FunctionOutputPort

Specific fields

Attribute Type Range Description
isControl EBoolean 0..1

Inherited fields (from ObjectNode, ActivityNode, AbstractTypedElement)

Attribute Type Range Description
isControlType EBoolean 0..1
kindOfNode ObjectNodeKind 0..1
ordering ObjectNodeOrderingKind 0..1
Reference Type Range Description
abstractType AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inState IState 0..*
inStructuredNode InterruptibleActivityRegion 0..1
outgoing ActivityEdge 0..*
selection AbstractBehavior 0..1
upperBound ValueSpecification 0..1

InputPin

An input pin is a pin that holds input values to be consumed by an action [source: UML superstructure v2.2]

An action input pin is a kind of pin that executes an action to determine the values to input to another. [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: FunctionInputPort

Specific fields

Reference Type Range Description
inputEvaluationAction AbstractAction 0..1

Inherited fields (from Pin, ObjectNode, ActivityNode, AbstractTypedElement)

Attribute Type Range Description
isControl EBoolean 0..1
isControlType EBoolean 0..1
kindOfNode ObjectNodeKind 0..1
ordering ObjectNodeOrderingKind 0..1
Reference Type Range Description
abstractType AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inState IState 0..*
inStructuredNode InterruptibleActivityRegion 0..1
outgoing ActivityEdge 0..*
selection AbstractBehavior 0..1
upperBound ValueSpecification 0..1

ValuePin

A value pin is an input pin that provides a value by evaluating a value specification [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Specific fields

Reference Type Range Description
value ValueSpecification 1..1

Inherited fields (from InputPin, Pin, ObjectNode, ActivityNode, AbstractTypedElement)

Attribute Type Range Description
isControl EBoolean 0..1
isControlType EBoolean 0..1
kindOfNode ObjectNodeKind 0..1
ordering ObjectNodeOrderingKind 0..1
Reference Type Range Description
abstractType AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inputEvaluationAction AbstractAction 0..1
inState IState 0..*
inStructuredNode InterruptibleActivityRegion 0..1
outgoing ActivityEdge 0..*
selection AbstractBehavior 0..1
upperBound ValueSpecification 0..1

OutputPin

An output pin is a pin that holds output values produced by an action [source: UML superstructure v2.2]

An action input pin is a kind of pin that executes an action to determine the values to input to another. [source: UML superstructure v2.2]

Common Types: AbstractNamedElement, ModelElement

Known Sub Types: FunctionOutputPort

Inherited fields (from Pin, ObjectNode, ActivityNode, AbstractTypedElement)

Attribute Type Range Description
isControl EBoolean 0..1
isControlType EBoolean 0..1
kindOfNode ObjectNodeKind 0..1
ordering ObjectNodeOrderingKind 0..1
Reference Type Range Description
abstractType AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inState IState 0..*
inStructuredNode InterruptibleActivityRegion 0..1
outgoing ActivityEdge 0..*
selection AbstractBehavior 0..1
upperBound ValueSpecification 0..1

Clone this wiki locally