Metamodel interaction - eclipse-capella/capella GitHub Wiki
Interaction aims at defining the components interaction language (close from the UML Sequence diagram, partially).
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 |
|
0..1 |
|
| Reference | Type | Range | Description |
|---|---|---|---|
| exchangeContext |
|
0..1 | |
| exchangedItems |
|
0..* |
|
| invokedOperation |
|
0..1 |
|
| ownedSequenceMessageValuations |
|
0..* | |
| receivingEnd |
|
0..1 | |
| receivingFunction |
|
0..1 |
|
| receivingPart |
|
0..1 |
|
| sendingEnd |
|
0..1 | |
| sendingFunction |
|
0..1 |
|
| sendingPart |
|
0..1 |
|
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 |
|
0..1 |
|
| merged |
|
0..1 |
|
| Reference | Type | Range | Description |
|---|---|---|---|
| containedFunctions |
|
0..* |
|
| containedParts |
|
0..* |
|
| ownedConstraintDurations |
|
0..* |
|
| ownedEvents |
|
0..* | |
| ownedInstanceRoles |
|
0..* |
|
| ownedInteractionFragments |
|
0..* | |
| ownedMessages |
|
0..* |
|
| ownedScenarioRealization |
|
0..* | |
| ownedTimeLapses |
|
0..* |
|
| postCondition |
|
0..1 |
|
| preCondition |
|
0..1 |
|
| realizedScenarios |
|
0..* |
|
| realizingScenarios |
|
0..* |
|
| referencedScenarios |
|
0..* |
|
Inherited fields (from
AbstractBehavior)
| Attribute | Type | Range | Description |
|---|---|---|---|
| isControlOperator |
|
0..1 |
|
| Reference | Type | Range | Description |
|---|---|---|---|
| ownedParameter |
|
0..* | |
| ownedParameterSet |
|
0..* |
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 |
|
1..1 |
|
Inherited fields (from
AbstractEnd,
InteractionFragment)
| Reference | Type | Range | Description |
|---|---|---|---|
| covered |
|
1..1 |
|
| coveredInstanceRoles |
|
1..* | |
| event |
|
1..1 |
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 |
|
1..1 |
|
Inherited fields (from
TimeLapse)
| Reference | Type | Range | Description |
|---|---|---|---|
| finish |
|
1..1 | |
| start |
|
1..1 |
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 |
|
1..1 |
|
Inherited fields (from
AbstractEnd,
InteractionFragment)
| Reference | Type | Range | Description |
|---|---|---|---|
| covered |
|
1..1 |
|
| coveredInstanceRoles |
|
1..* | |
| event |
|
1..1 |
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 |
|
0..* |
|
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 |
|
0..* |
|
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 |
|
0..* |
|
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 |
|
0..* |
|
| representedInstance |
|
1..1 |
|
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 |
|
1..1 |
|
| event |
|
1..1 |
Inherited fields (from
InteractionFragment)
| Reference | Type | Range | Description |
|---|---|---|---|
| coveredInstanceRoles |
|
1..* |
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 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 |
|
0..* |
|
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 |
|
0..1 |
Inherited fields (from
Event,
AbstractEvent,
AbstractType)
| Reference | Type | Range | Description |
|---|---|---|---|
| abstractTypedElements |
|
0..* |
|
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 |
|
0..1 |
Inherited fields (from
Event,
AbstractEvent,
AbstractType)
| Reference | Type | Range | Description |
|---|---|---|---|
| abstractTypedElements |
|
0..* |
|
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 |
|
0..1 | |
| sourceElement |
|
1..1 | |
| targetElement |
|
1..1 |
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 |
|
0..1 | |
| sourceElement |
|
1..1 | |
| targetElement |
|
1..1 |
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 |
|
1..1 |
|
| realizingCapability |
|
1..1 |
|
Inherited fields (from
Allocation,
Relationship,
AbstractRelationship,
AbstractTrace)
| Reference | Type | Range | Description |
|---|---|---|---|
| realizedFlow |
|
0..1 | |
| sourceElement |
|
1..1 | |
| targetElement |
|
1..1 |
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 |
|
0..* | |
| availableInStates |
|
0..* |
|
| extendedAbstractCapabilities |
|
0..* |
|
| extending |
|
0..* |
|
| extendingAbstractCapabilities |
|
0..* |
|
| extends |
|
0..* | |
| includedAbstractCapabilities |
|
0..* |
|
| includes |
|
0..* | |
| including |
|
0..* |
|
| includingAbstractCapabilities |
|
0..* |
|
| incomingCapabilityAllocation |
|
0..* |
|
| involvedAbstractFunctions |
|
0..* |
|
| involvedFunctionalChains |
|
0..* |
|
| outgoingCapabilityAllocation |
|
0..* |
|
| ownedAbstractCapabilityRealizations |
|
0..* | |
| ownedAbstractFunctionAbstractCapabilityInvolvements |
|
0..* | |
| ownedFunctionalChainAbstractCapabilityInvolvements |
|
0..* | |
| ownedScenarios |
|
0..* |
|
| postCondition |
|
0..1 |
|
| preCondition |
|
0..1 |
|
| sub |
|
0..* |
|
| subGeneralizations |
|
0..* |
|
| super |
|
0..* |
|
| superGeneralizations |
|
0..* |
Inherited fields (from
Structure,
InvolverElement,
AbstractFunctionalChainContainer)
| Reference | Type | Range | Description |
|---|---|---|---|
| involvedInvolvements |
|
0..* |
|
| ownedFunctionalChains |
|
0..* |
|
| ownedPropertyValuePkgs |
|
0..* |
|
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 |
|
1..1 | |
| extension |
|
1..1 |
|
| extensionLocation |
|
0..1 |
Inherited fields (from
Relationship,
AbstractRelationship)
| Reference | Type | Range | Description |
|---|---|---|---|
| realizedFlow |
|
0..1 |
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 |
|
1..1 |
|
| extendLinks |
|
0..* |
Inherited fields (from
NamedRelationship,
Relationship,
AbstractRelationship)
| Reference | Type | Range | Description |
|---|---|---|---|
| realizedFlow |
|
0..1 |
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 |
|
1..1 |
|
| super |
|
1..1 |
Inherited fields (from
Relationship,
AbstractRelationship)
| Reference | Type | Range | Description |
|---|---|---|---|
| realizedFlow |
|
0..1 |
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 |
|
1..1 | |
| inclusion |
|
1..1 |
|
Inherited fields (from
Relationship,
AbstractRelationship)
| Reference | Type | Range | Description |
|---|---|---|---|
| realizedFlow |
|
0..1 |
none
Common Types:
| Attribute | Description |
|---|---|
| DATA_FLOW | |
| FUNCTIONAL | |
| INTERACTION | |
| INTERFACE | |
| UNSET |
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 |
|
1..* |
n/a
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| covered |
|
1..1 |
|
| relatedAbstractFunction |
|
0..1 | |
| relatedAbstractState |
|
0..1 |
Inherited fields (from
InteractionFragment)
| Reference | Type | Range | Description |
|---|---|---|---|
| coveredInstanceRoles |
|
1..* |
n/a
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| referencedScenario |
|
0..1 |
Inherited fields (from
AbstractFragment,
TimeLapse)
| Reference | Type | Range | Description |
|---|---|---|---|
| finish |
|
1..1 | |
| start |
|
1..1 |
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 |
|
0..1 |
|
| Reference | Type | Range | Description |
|---|---|---|---|
| referencedOperands |
|
0..* |
Inherited fields (from
AbstractFragment,
TimeLapse)
| Reference | Type | Range | Description |
|---|---|---|---|
| finish |
|
1..1 | |
| start |
|
1..1 |
n/a
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| guard |
|
0..1 |
|
| referencedInteractionFragments |
|
0..* |
Inherited fields (from
InteractionFragment)
| Reference | Type | Range | Description |
|---|---|---|---|
| coveredInstanceRoles |
|
1..* |
n/a
Common Types:
| Attribute | Description |
|---|---|
| ALT | |
| ASSERT | |
| CONSIDER | |
| CRITICAL | |
| IGNORE | |
| LOOP | |
| NEG | |
| OPT | |
| PAR | |
| SEQ | |
| STRICT | |
| UNSET |
n/a
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Known Sub Types:
Execution,
InteractionUse,
CombinedFragment,
StateFragment
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| finish |
|
1..1 | |
| start |
|
1..1 |
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 |
|
1..1 | |
| start |
|
1..1 |
n/a
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| abstractFragment |
|
1..1 |
|
Inherited fields (from
InteractionFragment)
| Reference | Type | Range | Description |
|---|---|---|---|
| coveredInstanceRoles |
|
1..* |
A functional chain can be involved in capability
Common Types:
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| capability |
|
1..1 | |
| functionalChain |
|
1..1 |
Inherited fields (from
Involvement,
Relationship,
AbstractRelationship)
| Reference | Type | Range | Description |
|---|---|---|---|
| involved |
|
1..1 | |
| involver |
|
1..1 |
|
| realizedFlow |
|
0..1 |
A function can be involved in a capability.
Common Types:
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| capability |
|
1..1 | |
| function |
|
1..1 |
Inherited fields (from
Involvement,
Relationship,
AbstractRelationship)
| Reference | Type | Range | Description |
|---|---|---|---|
| involved |
|
1..1 | |
| involver |
|
1..1 |
|
| realizedFlow |
|
0..1 |
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 |
|
0..1 |
|
| realizingScenario |
|
0..1 |
|
Inherited fields (from
Allocation,
Relationship,
AbstractRelationship,
AbstractTrace)
| Reference | Type | Range | Description |
|---|---|---|---|
| realizedFlow |
|
0..1 | |
| sourceElement |
|
1..1 | |
| targetElement |
|
1..1 |
none
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| relatedAbstractFunction |
|
0..1 |
|
| relatedAbstractState |
|
0..1 |
|
Inherited fields (from
TimeLapse)
| Reference | Type | Range | Description |
|---|---|---|---|
| finish |
|
1..1 | |
| start |
|
1..1 |
n/a
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Inherited fields (from
Event,
AbstractEvent,
AbstractType)
| Reference | Type | Range | Description |
|---|---|---|---|
| abstractTypedElements |
|
0..* |
|
n/a
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Inherited fields (from
Event,
AbstractEvent,
AbstractType)
| Reference | Type | Range | Description |
|---|---|---|---|
| abstractTypedElements |
|
0..* |
|
n/a
Common Types:
NamedElement,
AbstractNamedElement,
ModelElement,
CapellaElement,
TraceableElement,
PublishableElement
Specific fields
| Attribute | Type | Range | Description |
|---|---|---|---|
| duration |
|
0..1 |
|
| Reference | Type | Range | Description |
|---|---|---|---|
| finish |
|
0..1 | |
| start |
|
0..1 |
Common Types:
CapellaElement,
TraceableElement,
ModelElement,
PublishableElement
Specific fields
| Reference | Type | Range | Description |
|---|---|---|---|
| exchangeItemElement |
|
0..1 | |
| value |
|
0..1 |