Skip to content

Metamodel capellacommon

Philippe DUL edited this page Nov 18, 2022 · 6 revisions

capellacommon

CapellaCommon aims at defining other concepts (mainly used to solve the constraints arisen from the 4.2.1 rationale). It concretises the Activity and the State machines.

AbstractCapabilityPkg

an abstract base class for deriving packages containing Capability entities

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

Known Sub Types: CapabilityPkg, CapabilityRealizationPkg, OperationalCapabilityPkg

Inherited fields (from Structure)

Reference Type Range Value
ownedPropertyValuePkgs PropertyValuePkg 0..*

GenericTrace

a Trace relationship (in the UML sense) to which can be associated a set of key/value pairs characterizing the trace.

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: TransfoLink, JustificationLink

Specific fields

Reference Type Range Value
keyValuePairs KeyValue 0..*
source TraceableElement 1..1 sourceElement.filter(TraceableElement)
target TraceableElement 1..1 targetElement.filter(TraceableElement)

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

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

TransfoLink

specialized trace to keep track of relationships between source elements of a transformation, and destination elements.

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

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

Reference Type Range Value
keyValuePairs KeyValue 0..*
realizedFlow AbstractInformationFlow 0..1
source TraceableElement 1..1 sourceElement.filter(TraceableElement)
sourceElement TraceableElement 1..1
target TraceableElement 1..1 targetElement.filter(TraceableElement)
targetElement TraceableElement 1..1

JustificationLink

specialized trace to keep track of relationships between source elements of a transformation, and destination elements.

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

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

Reference Type Range Value
keyValuePairs KeyValue 0..*
realizedFlow AbstractInformationFlow 0..1
source TraceableElement 1..1 sourceElement.filter(TraceableElement)
sourceElement TraceableElement 1..1
target TraceableElement 1..1 targetElement.filter(TraceableElement)
targetElement TraceableElement 1..1

CapabilityRealizationInvolvement

an involvement relationship of an entity in the capability that it realizes

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Value
involvedCapabilityRealizationInvolvedElement CapabilityRealizationInvolvedElement 1..1 involved.filter(CapabilityRealizationInvolvedElement)

Inherited fields (from Involvement, Relationship, AbstractRelationship)

Reference Type Range Value
involved InvolvedElement 1..1
involver InvolverElement 1..1 opposite(InvolverElement.involvedInvolvements)
realizedFlow AbstractInformationFlow 0..1

CapabilityRealizationInvolvedElement

a model element involved in the realization of a Capability

Common Types: CapellaElement, TraceableElement, ModelElement, PublishableElement

Known Sub Types: ConfigurationItem, LogicalComponent, PhysicalComponent

Specific fields

Reference Type Range Value
capabilityRealizationInvolvements CapabilityRealizationInvolvement 0..* involvingInvolvements.filter(CapabilityRealizationInvolvement)
involvingCapabilityRealizations CapabilityRealization 0..* derived

Inherited fields (from InvolvedElement)

Reference Type Range Value
involvingInvolvements Involvement 0..* opposite(Involvement.involved)

StateMachine

State machines can be used to express the behavior of part of a system. Behavior is modeled as a traversal of a graph of state nodes interconnected by one or more joined transition arcs that are triggered by the dispatching of series of (event) occurrences. During this traversal, the state machine executes a series of activities associated with various elements of the state machine. [source: UML superstructure v2.2]

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

Specific fields

Reference Type Range Value
ownedConnectionPoints Pseudostate 0..*
ownedRegions Region 0..*

Inherited fields (from AbstractBehavior)

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

Region

A region is an orthogonal part of either a composite state or a state machine. It contains states and transitions. [source: UML superstructure v2.2]

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

Specific fields

Reference Type Range Value
involvedStates AbstractState 0..*
ownedStates AbstractState 0..*
ownedTransitions StateTransition 0..*

State

A state models a situation during which some (usually implicit) invariant condition holds. [source: UML superstructure v2.2]

A condition of a system or element, as defined by some of its properties, which can enable system behaviors and/or structure to occur. Note: The enabled behavior may include no actions, such as associated with a wait state. Also, the condition that defines the state may be dependent on one or more previous states

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

Known Sub Types: Mode, FinalState

Specific fields

Reference Type Range Value
availableAbstractCapabilities AbstractCapability 0..* opposite(AbstractCapability.availableInStates)
availableAbstractFunctions AbstractFunction 0..* opposite(AbstractFunction.availableInStates)
availableFunctionalChains FunctionalChain 0..* opposite(FunctionalChain.availableInStates)
doActivity AbstractEvent 0..*
entry AbstractEvent 0..*
exit AbstractEvent 0..*
ownedConnectionPoints Pseudostate 0..*
ownedRegions Region 0..*
stateInvariant AbstractConstraint 0..1

Inherited fields (from AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

Mode

A condition which characterizes an expected behaviour through the set of functions or elements available at a point in time.

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

Inherited fields (from State, AbstractState, IState)

Reference Type Range Value
availableAbstractCapabilities AbstractCapability 0..* opposite(AbstractCapability.availableInStates)
availableAbstractFunctions AbstractFunction 0..* opposite(AbstractFunction.availableInStates)
availableFunctionalChains FunctionalChain 0..* opposite(FunctionalChain.availableInStates)
doActivity AbstractEvent 0..*
entry AbstractEvent 0..*
exit AbstractEvent 0..*
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
ownedConnectionPoints Pseudostate 0..*
ownedRegions Region 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*
stateInvariant AbstractConstraint 0..1

FinalState

A special kind of state signifying that the enclosing region is completed. If the enclosing region is directly contained in a state machine and all other regions in the state machine also are completed, then it means that the entire state machine is completed. [source: UML superstructure v2.2]

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

Inherited fields (from State, AbstractState, IState)

Reference Type Range Value
availableAbstractCapabilities AbstractCapability 0..* opposite(AbstractCapability.availableInStates)
availableAbstractFunctions AbstractFunction 0..* opposite(AbstractFunction.availableInStates)
availableFunctionalChains FunctionalChain 0..* opposite(FunctionalChain.availableInStates)
doActivity AbstractEvent 0..*
entry AbstractEvent 0..*
exit AbstractEvent 0..*
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
ownedConnectionPoints Pseudostate 0..*
ownedRegions Region 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*
stateInvariant AbstractConstraint 0..1

AbstractState

an abstract base class to define various kinds of states (typically real states and pseudo states)

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

Known Sub Types: State, Mode, FinalState, Pseudostate, InitialPseudoState, JoinPseudoState, ForkPseudoState, ChoicePseudoState, TerminatePseudoState, ShallowHistoryPseudoState, DeepHistoryPseudoState, EntryPointPseudoState, ExitPointPseudoState

Specific fields

Reference Type Range Value
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived

Inherited fields (from IState)

Reference Type Range Value
exploitedStates IState 0..*
referencedStates IState 0..*

StateTransition

A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type. [source: UML superstructure v2.2]

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

Specific fields

Attribute Type Range
kind TransitionKind 0..1
triggerDescription EString 0..1
Reference Type Range Value
effect AbstractEvent 0..*
guard Constraint 0..1
ownedStateTransitionRealizations StateTransitionRealization 0..*
realizedStateTransitions StateTransition 0..* derived
realizingStateTransitions StateTransition 0..* derived
source AbstractState 1..1
target AbstractState 1..1
triggers AbstractEvent 0..*

Inherited fields (from Relationship, AbstractRelationship)

Reference Type Range Value
realizedFlow AbstractInformationFlow 0..1

Pseudostate

A pseudostate is an abstraction that encompasses different types of transient vertices in the state machine graph. [source: UML superstructure v2.2]

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

Known Sub Types: InitialPseudoState, JoinPseudoState, ForkPseudoState, ChoicePseudoState, TerminatePseudoState, ShallowHistoryPseudoState, DeepHistoryPseudoState, EntryPointPseudoState, ExitPointPseudoState

Inherited fields (from AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

InitialPseudoState

An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard. [source: UML superstructure v2.2]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

JoinPseudoState

join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers [source: UML superstructure v2.2]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

ForkPseudoState

fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e., vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers. [source: UML superstructure v2.2]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

ChoicePseudoState

choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same runto- completion step [source: UML superstructure v2.2]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

TerminatePseudoState

Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate [source: UML superstructure v2.2]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

AbstractStateRealization

an AbstractStateRealization is a specific kind of allocation link between two AbstractStates (typically of different design levels, or of different nature)

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Value
realizedAbstractState AbstractState 1..1 targetElement.filter(AbstractState)
realizingAbstractState AbstractState 1..1 sourceElement.filter(AbstractState)

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

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

StateTransitionRealization

a StateTransitionRealization is a specific kind of allocation link between two StateTransitions (typically of different design levels, or of different nature)

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Value
realizedStateTransition StateTransition 1..1 targetElement.filter(StateTransition)
realizingStateTransition StateTransition 1..1 sourceElement.filter(StateTransition)

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

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

TransitionKind

TransitionKind is an enumeration type. [source:UML Superstructure v2.2]

Common Types:


ShallowHistoryPseudoState

Shallow history represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. The entry action of the state represented by the shallow history is performed. [source: UML superstructure v2.4]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

DeepHistoryPseudoState

Deep history represents the most recent active configuration of the composite state that directly contains this pseudostate (e.g., the state configuration that was active when the composite state was last exited). A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the implicit direct path from the deep history to the innermost state(s) represented by a deep history are performed. The entry action is preformed only once for each state in the active state configuration being restored. [source: UML superstructure v2.4]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

EntryPointPseudoState

An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has at most a single transition to a vertex within the same region. [source: UML superstructure v2.4]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

ExitPointPseudoState

An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state. [source: UML superstructure v2.4]

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

Inherited fields (from Pseudostate, AbstractState, IState)

Reference Type Range Value
exploitedStates IState 0..*
incoming StateTransition 0..* opposite(StateTransition.target)
involverRegions Region 0..* opposite(Region.involvedStates)
outgoing StateTransition 0..* opposite(StateTransition.source)
ownedAbstractStateRealizations AbstractStateRealization 0..*
realizedAbstractStates AbstractState 0..* derived
realizingAbstractStates AbstractState 0..* derived
referencedStates IState 0..*

StateEventRealization

a StateEventRealization is a specific kind of realization link between two StateEvent (typically of different design levels, or of different nature)

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

Reference Type Range Value
realizedEvent StateEvent 1..1 targetElement.filter(StateEvent)
realizingEvent StateEvent 1..1 sourceElement.filter(StateEvent)

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

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

StateEvent

An event used in statemachine definition which occurs at a given condition.

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

Known Sub Types: ChangeEvent, TimeEvent

Specific fields

Reference Type Range Value
expression Constraint 0..1
ownedStateEventRealizations StateEventRealization 0..*

Inherited fields (from AbstractEvent, AbstractType)

Reference Type Range Value
abstractTypedElements AbstractTypedElement 0..* opposite(AbstractTypedElement.abstractType)

ChangeEvent

A change event occurs when a Boolean-valued expression becomes true. For example, as a result of a change in the value held in a slot corresponding to an attribute, or a change in the value referenced by a link corresponding to an association. A change event is raised implicitly and is not the result of an explicit action [source: UML superstructure v2.4]

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

Specific fields

Attribute Type Range
kind ChangeEventKind 0..1

Inherited fields (from StateEvent, AbstractEvent, AbstractType)

Reference Type Range Value
abstractTypedElements AbstractTypedElement 0..* opposite(AbstractTypedElement.abstractType)
expression Constraint 0..1
ownedStateEventRealizations StateEventRealization 0..*

TimeEvent

A time event specifies a point in time by an expression. The expression might be absolute or might be relative to some other point in time. [source: UML superstructure v2.4]

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

Specific fields

Attribute Type Range
kind TimeEventKind 0..1

Inherited fields (from StateEvent, AbstractEvent, AbstractType)

Reference Type Range Value
abstractTypedElements AbstractTypedElement 0..* opposite(AbstractTypedElement.abstractType)
expression Constraint 0..1
ownedStateEventRealizations StateEventRealization 0..*

TimeEventKind

TimeEventKind is an enumeration type.

Common Types:


ChangeEventKind

ChangeEventKind is an enumeration type.

Common Types:


Clone this wiki locally