Skip to content

Metamodel interaction

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

interaction

Interaction aims at defining the components interaction language (close from the UML Sequence diagram, partially).

SequenceMessage

A Message defines a particular communication between Lifelines of an Interaction. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Attribute Type Range Description
kind MessageKind 0..1
Reference Type Range Description
exchangeContext Constraint 0..1
exchangedItems ExchangeItem 0..*
invokedOperation AbstractEventOperation 0..1
ownedSequenceMessageValuations SequenceMessageValuation 0..*
receivingEnd MessageEnd 0..1
receivingFunction AbstractFunction 0..1
receivingPart Part 0..1
sendingEnd MessageEnd 0..1
sendingFunction AbstractFunction 0..1
sendingPart Part 0..1

Scenario

Definition of a dynamic behaviour composed of the following information : Context, objective, pre-conditions, post-conditions, used capabilities, involved roles & actors, operational exchanges & interactions, processes and activities. Ability to be validated. Temporal & performance description.Criticity. Scenarios can be gathered in a set of Use Cases.

A scenario describes a temporal dynamic interaction between actors (included the system or possibly its components) through their exchanges, it also describes the initialisation and the evolution of the context of the interaction. [source:ARCADIA encyclopedia v0.8.0]

A scenario is similar to UML Interaction concept : An interaction is a unit of behavior that focuses on the observable exchange of information between ConnectableElements.

A scenario can be compared to an UML sequence diagram : A sequence diagram describes an Interaction by focusing on the sequence of Messages that are exchanged, along with their corresponding OccurrenceSpecifications on the Lifelines. [source:UML Superstructure v2.2]

Common Types: Namespace, NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Attribute Type Range Description
kind ScenarioKind 0..1
merged EBoolean 0..1
Reference Type Range Description
containedFunctions AbstractFunction 0..*
containedParts Part 0..*
ownedConstraintDurations ConstraintDuration 0..*
ownedEvents Event 0..*
ownedInstanceRoles InstanceRole 0..*
ownedInteractionFragments InteractionFragment 0..*
ownedMessages SequenceMessage 0..*
ownedScenarioRealization ScenarioRealization 0..*
ownedTimeLapses TimeLapse 0..*
postCondition Constraint 0..1
preCondition Constraint 0..1
realizedScenarios Scenario 0..*
realizingScenarios Scenario 0..*
referencedScenarios Scenario 0..*

Inherited fields (from AbstractBehavior)

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

MessageEnd

Specifies the occurrence of events, such as sending and receiving of signals or invoking or receiving of operation calls. A message occurrence specification is a kind of message end. Messages are generated either by synchronous operation calls or asynchronous signal sends. They are received by the execution of corresponding accept event actions.

This concept can be compared to UML MessageOccurrenceSpecification. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
message SequenceMessage 1..1

Inherited fields (from AbstractEnd, InteractionFragment)

Reference Type Range Description
covered InstanceRole 1..1
coveredInstanceRoles InstanceRole 1..*
event Event 1..1

Execution

An Execution Specification is a specification of the execution of a unit of behavior or action within the Lifeline. The duration of an ExecutionSpecification is represented by two ExecutionOccurrenceSpecifications, the start ExecutionOccurrenceSpecification and the finish ExecutionOccurrenceSpecification.

Execution can be compared to UML Execution Specification. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
covered InstanceRole 1..1

Inherited fields (from TimeLapse)

Reference Type Range Description
finish InteractionFragment 1..1
start InteractionFragment 1..1

ExecutionEnd

This concept can be compared to UML ExecutionOccurrenceSpecification : An ExecutionOccurrenceSpecification represents moments in time at which actions or behaviors start or finish. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
execution Execution 1..1

Inherited fields (from AbstractEnd, InteractionFragment)

Reference Type Range Description
covered InstanceRole 1..1
coveredInstanceRoles InstanceRole 1..*
event Event 1..1

CreationEvent

A CreationEvent models the creation of an object. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Inherited fields (from Event, AbstractEvent, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

DestructionEvent

A DestructionEvent models the destruction of an object. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Inherited fields (from Event, AbstractEvent, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

ExecutionEvent

An ExecutionEvent models the start or finish of an execution occurrence. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Inherited fields (from Event, AbstractEvent, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

InstanceRole

Instance role can be compared to UML Lifeline : A lifeline represents an individual participant in the Interaction. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
abstractEnds AbstractEnd 0..*
representedInstance AbstractInstance 1..1

AbstractEnd

This concept can be compared to UML OccurrenceSpecification : The semantics of an OccurrenceSpecification is just the trace of that single OccurrenceSpecification. The understanding and deeper meaning of the OccurrenceSpecification is dependent upon the associated Message and the information that it conveys. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: MessageEnd, ExecutionEnd

Specific fields

Reference Type Range Description
covered InstanceRole 1..1
event Event 1..1

Inherited fields (from InteractionFragment)

Reference Type Range Description
coveredInstanceRoles InstanceRole 1..*

MessageKind

This concept is similar to UML MessageSort : This is an enumerated type that identifies the type of message. [source:UML Superstructure v2.2]

Common Types:

Attribute Description
ASYNCHRONOUS_CALL
CREATE
DELETE
REPLY
SYNCHRONOUS_CALL
TIMER
UNSET

Event

Event is similar to UML MessageEvent : A message event specifies the receipt by an object of either a call or a signal. MessageEvent is an abstract metaclass. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: CreationEvent, DestructionEvent, ExecutionEvent, EventReceiptOperation, EventSentOperation, ArmTimerEvent, CancelTimerEvent

Inherited fields (from AbstractEvent, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

EventReceiptOperation

This concept is similar to UML ReceiveOperationEvent : This specifies the event of receiving an operation invocation for a particular operation by the target entity. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
operation AbstractEventOperation 0..1

Inherited fields (from Event, AbstractEvent, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

EventSentOperation

This concept is similar to UML SendOperationEvent : A SendOperationEvent models the invocation of an operation call. [source:UML Superstructure v2.2]

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
operation AbstractEventOperation 0..1

Inherited fields (from Event, AbstractEvent, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

MergeLink

a specific kind of trace, indicating an operation of merge between two entities, for example two scenarios, merged into one in the refinement process towards the lower abstraction level

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Inherited fields (from Trace, Relationship, AbstractRelationship, AbstractTrace)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1
sourceElement TraceableElement 1..1
targetElement TraceableElement 1..1

RefinementLink

a kind of trace between a model element at a given design level, and a model element at a low design level, refining the source element.

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Inherited fields (from Trace, Relationship, AbstractRelationship, AbstractTrace)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1
sourceElement TraceableElement 1..1
targetElement TraceableElement 1..1

AbstractCapabilityRealization

An abstract capability realization describes an realization between an realizing capability and an realized capability

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
realizedCapability AbstractCapability 1..1
realizingCapability AbstractCapability 1..1

Inherited fields (from Allocation, Relationship, AbstractRelationship, AbstractTrace)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1
sourceElement TraceableElement 1..1
targetElement TraceableElement 1..1

AbstractCapability

Base class for Capabilities (Capability and Capability Realization) [source:UML Superstructure v2.2]

Common Types: Namespace, NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: Capability, CapabilityRealization, OperationalCapability

Specific fields

Reference Type Range Description
abstractCapabilityExtensionPoints AbstractCapabilityExtensionPoint 0..*
availableInStates State 0..*
extendedAbstractCapabilities AbstractCapability 0..*
extending AbstractCapabilityExtend 0..*
extendingAbstractCapabilities AbstractCapability 0..*
extends AbstractCapabilityExtend 0..*
includedAbstractCapabilities AbstractCapability 0..*
includes AbstractCapabilityInclude 0..*
including AbstractCapabilityInclude 0..*
includingAbstractCapabilities AbstractCapability 0..*
incomingCapabilityAllocation AbstractCapabilityRealization 0..*
involvedAbstractFunctions AbstractFunction 0..*
involvedFunctionalChains FunctionalChain 0..*
outgoingCapabilityAllocation AbstractCapabilityRealization 0..*
ownedAbstractCapabilityRealizations AbstractCapabilityRealization 0..*
ownedAbstractFunctionAbstractCapabilityInvolvements AbstractFunctionAbstractCapabilityInvolvement 0..*
ownedFunctionalChainAbstractCapabilityInvolvements FunctionalChainAbstractCapabilityInvolvement 0..*
ownedScenarios Scenario 0..*
postCondition Constraint 0..1
preCondition Constraint 0..1
sub AbstractCapability 0..*
subGeneralizations AbstractCapabilityGeneralization 0..*
super AbstractCapability 0..*
superGeneralizations AbstractCapabilityGeneralization 0..*

Inherited fields (from Structure, InvolverElement, AbstractFunctionalChainContainer)

Reference Type Range Description
involvedInvolvements Involvement 0..*
ownedFunctionalChains FunctionalChain 0..*
ownedPropertyValuePkgs PropertyValuePkg 0..*

AbstractCapabilityExtend

A relationship from an extending use case to an extended use case that specifies how and when the behavior defined in the extending use case can be inserted into the behavior defined in the extended use case.

This concept is similar to UML Extend concept. [source:UML Superstructure v2.2]

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
extended AbstractCapability 1..1
extension AbstractCapability 1..1
extensionLocation AbstractCapabilityExtensionPoint 0..1

Inherited fields (from Relationship, AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

AbstractCapabilityExtensionPoint

An extension point identifies a point in the behavior of a use case where that behavior can be extended by the behavior of some other (extending) use case, as specified by an extend relationship.

This concept is similar to UML ExtensionPoint. [source:UML Superstructure v2.2]

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement, NamedElement, AbstractNamedElement

Specific fields

Reference Type Range Description
abstractCapability AbstractCapability 1..1
extendLinks AbstractCapabilityExtend 0..*

Inherited fields (from NamedRelationship, Relationship, AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

AbstractCapabilityGeneralization

A specific kind of generalization link between Capabilities.

The generalization is useful for Capability reuse (override or extension of Capability).

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
sub AbstractCapability 1..1
super AbstractCapability 1..1

Inherited fields (from Relationship, AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

AbstractCapabilityInclude

The Include is a relationship between two use cases, implying that the behavior of the included use case is inserted into the behavior of the including use case. It is also a kind of NamedElement so that it can have a name in the context of its owning use case. The including use case may only depend on the result (value) of the included use case. This value is obtained as a result of the execution of the included use case.

This concept is similar to UML Include concept. [source:UML Superstructure v2.2]

Note that the included use case is not optional, and is always required for the including use case to execute correctly.

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
included AbstractCapability 1..1
inclusion AbstractCapability 1..1

Inherited fields (from Relationship, AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

ScenarioKind

none

Common Types:

Attribute Description
DATA_FLOW
FUNCTIONAL
INTERACTION
INTERFACE
UNSET

InteractionFragment

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: MessageEnd, ExecutionEnd, InteractionState, InteractionOperand, FragmentEnd

Specific fields

Reference Type Range Description
coveredInstanceRoles InstanceRole 1..*

InteractionState

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
covered InstanceRole 1..1
relatedAbstractFunction AbstractFunction 0..1
relatedAbstractState AbstractState 0..1

Inherited fields (from InteractionFragment)

Reference Type Range Description
coveredInstanceRoles InstanceRole 1..*

InteractionUse

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
referencedScenario Scenario 0..1

Inherited fields (from AbstractFragment, TimeLapse)

Reference Type Range Description
finish InteractionFragment 1..1
start InteractionFragment 1..1

CombinedFragment

A Combined Fragment.

The concept is closed to the UML Combined Fragment.

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Attribute Type Range Description
operator InteractionOperatorKind 0..1
Reference Type Range Description
referencedOperands InteractionOperand 0..*

Inherited fields (from AbstractFragment, TimeLapse)

Reference Type Range Description
finish InteractionFragment 1..1
start InteractionFragment 1..1

InteractionOperand

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
guard Constraint 0..1
referencedInteractionFragments InteractionFragment 0..*

Inherited fields (from InteractionFragment)

Reference Type Range Description
coveredInstanceRoles InstanceRole 1..*

InteractionOperatorKind

n/a

Common Types:

Attribute Description
ALT
ASSERT
CONSIDER
CRITICAL
IGNORE
LOOP
NEG
OPT
PAR
SEQ
STRICT
UNSET

TimeLapse

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: Execution, InteractionUse, CombinedFragment, StateFragment

Specific fields

Reference Type Range Description
finish InteractionFragment 1..1
start InteractionFragment 1..1

AbstractFragment

Base class for Fragments in Scenarios.

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: InteractionUse, CombinedFragment

Specific fields

Inherited fields (from TimeLapse)

Reference Type Range Description
finish InteractionFragment 1..1
start InteractionFragment 1..1

FragmentEnd

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
abstractFragment AbstractFragment 1..1

Inherited fields (from InteractionFragment)

Reference Type Range Description
coveredInstanceRoles InstanceRole 1..*

FunctionalChainAbstractCapabilityInvolvement

A functional chain can be involved in capability

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
capability AbstractCapability 1..1
functionalChain FunctionalChain 1..1

Inherited fields (from Involvement, Relationship, AbstractRelationship)

Reference Type Range Description
involved InvolvedElement 1..1
involver InvolverElement 1..1
realizedFlow AbstractInformationFlow 0..1

AbstractFunctionAbstractCapabilityInvolvement

A function can be involved in a capability.

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
capability AbstractCapability 1..1
function AbstractFunction 1..1

Inherited fields (from Involvement, Relationship, AbstractRelationship)

Reference Type Range Description
involved InvolvedElement 1..1
involver InvolverElement 1..1
realizedFlow AbstractInformationFlow 0..1

ScenarioRealization

an allocation link between a scenario, and the scenario that it realizes

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
realizedScenario Scenario 0..1
realizingScenario Scenario 0..1

Inherited fields (from Allocation, Relationship, AbstractRelationship, AbstractTrace)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1
sourceElement TraceableElement 1..1
targetElement TraceableElement 1..1

StateFragment

none

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Description
relatedAbstractFunction AbstractFunction 0..1
relatedAbstractState AbstractState 0..1

Inherited fields (from TimeLapse)

Reference Type Range Description
finish InteractionFragment 1..1
start InteractionFragment 1..1

ArmTimerEvent

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Inherited fields (from Event, AbstractEvent, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

CancelTimerEvent

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Inherited fields (from Event, AbstractEvent, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

ConstraintDuration

n/a

Common Types: NamedElement, AbstractNamedElement, ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Attribute Type Range Description
duration EString 0..1
Reference Type Range Description
finish InteractionFragment 0..1
start InteractionFragment 0..1

SequenceMessageValuation

Common Types: CapellaElement, TraceableElement, ModelElement, PublishableElement

Specific fields

Reference Type Range Description
exchangeItemElement ExchangeItemElement 0..1
value ValueSpecification 0..1

Clone this wiki locally