Skip to content

Metamodel capellacore

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

capellacore

CapellaCore aims at defining the core concepts of the other languages.

CapellaElement

A Capella element is a model element that is lockable, has a version and has incoming and outgoing traces, it has a summary and a description.

A capella element can be compared to an UML element : An element is a constituent of a model. [source:UML Superstructure v2.2]

Common Types: TraceableElement, ModelElement, PublishableElement

Known Sub Types: Too many elements to be displayed here

Specific fields

Attribute Type Range Description
description EString 0..1
review EString 0..1
summary EString 0..1
Reference Type Range Description
appliedPropertyValueGroups PropertyValueGroup 0..*
appliedPropertyValues AbstractPropertyValue 0..*
appliedRequirements Requirement 0..*
features EnumerationPropertyLiteral 0..*
ownedEnumerationPropertyTypes EnumerationPropertyType 0..*
ownedPropertyValueGroups PropertyValueGroup 0..*
ownedPropertyValues AbstractPropertyValue 0..*
status EnumerationPropertyLiteral 0..1

NamedElement

A named element is a Capella element that has a name

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

Known Sub Types: Too many elements to be displayed here


Relationship

Relationship is an abstract concept that specifies some kind of relationship between elements. [source:UML Superstructure v2.2]

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: Generalization, GenericTrace, TransfoLink, JustificationLink, CapabilityRealizationInvolvement, StateTransition, AbstractStateRealization, StateTransitionRealization, StateEventRealization, ComponentRealization, InterfaceImplementation, InterfaceUse, ExchangeItemAllocation, PhysicalLinkRealization, PhysicalPathInvolvement, PhysicalPathReference, PhysicalPathRealization, PhysicalPortRealization, SystemCommunication, CapabilityInvolvement, MissionInvolvement, CapabilityExploitation, OperationalAnalysisRealization, PhysicalArchitectureRealization, PhysicalArtifactRealization, FunctionalChainReference, ComponentFunctionalAllocation, FunctionalChainRealization, FunctionalExchangeRealization, FunctionRealization, FunctionalExchange, ComponentExchangeAllocation, ComponentExchangeFunctionalExchangeAllocation, ComponentExchangeRealization, ComponentPortAllocation, FunctionalChainInvolvementLink, FunctionalChainInvolvementFunction, Association, KeyPart, OperationAllocation, PortRealization, PortAllocation, InformationRealization, ExchangeItemRealization, MergeLink, RefinementLink, AbstractCapabilityRealization, AbstractCapabilityExtend, AbstractCapabilityExtensionPoint, AbstractCapabilityGeneralization, AbstractCapabilityInclude, FunctionalChainAbstractCapabilityInvolvement, AbstractFunctionAbstractCapabilityInvolvement, ScenarioRealization, SystemAnalysisRealization, ContextInterfaceRealization, ActivityAllocation, RoleAllocation, CommunicationMean, EntityOperationalCapabilityInvolvement, LogicalArchitectureRealization, LogicalInterfaceRealization, RequirementsTrace, MessageReference, PartDeploymentLink, TypeDeploymentLink

Inherited fields (from AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

Namespace

A namespace is an element in a model that contains a set of named elements that can be identified by name. [source: UML superstructure v2.2]

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

Known Sub Types: Too many elements to be displayed here

Specific fields

Reference Type Range Description
containedGenericTraces GenericTrace 0..*
containedRequirementsTraces RequirementsTrace 0..*
ownedTraces Trace 0..*

NamedRelationship

A named relationship is a relationship that has a name

A named relationship can be compared to an UML Association : An association specifies a semantic relationship that can occur between typed instances. It has at least two ends represented by properties, each of which is connected to the type of the end. More than one end of the association may have the same type. An end property of an association that is owned by an end class or that is a navigable owned end of the association indicates that the association is navigable from the opposite ends; otherwise, the association is not navigable from the opposite ends. [source:UML Superstructure v2.2]

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

Known Sub Types: Association, AbstractCapabilityExtensionPoint, CommunicationMean

Specific fields

Inherited fields (from Relationship, AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

Structure

The relationships between the components that contribute to the properties of the whole, and enable them to interact (inter-relate). [source: SysML glossary for SysML v1.0]

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

Known Sub Types: PropertyValuePkg, Project, SystemEngineering, Library, InterfacePkg, SystemAnalysis, SystemFunctionPkg, MissionPkg, Capability, CapabilityPkg, SystemComponentPkg, EPBSArchitecturePkg, EPBSArchitecture, ConfigurationItemPkg, Collection, DataPkg, LogicalArchitecture, LogicalFunctionPkg, LogicalComponentPkg, CapabilityRealization, CapabilityRealizationPkg, OperationalAnalysis, OperationalActivityPkg, OperationalCapabilityPkg, OperationalCapability, RolePkg, EntityPkg, PhysicalArchitecture, PhysicalFunctionPkg, PhysicalComponentPkg, RequirementsPkg, SharedPkg, GenericPkg, Exception, Message, Signal, BooleanType, Enumeration, StringType, NumericType, PhysicalQuantity

Specific fields

Reference Type Range Description
ownedPropertyValuePkgs PropertyValuePkg 0..*

AbstractModellingStructure

An abstract modelling structure is a base structure for a model. For example, a system engineering is an abstract modelling structure.

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

Known Sub Types: SystemEngineering

Specific fields

Reference Type Range Description
ownedArchitectures ModellingArchitecture 0..*

Inherited fields (from ReuserStructure, Structure)

Reference Type Range Description
ownedPropertyValuePkgs PropertyValuePkg 0..*

ModellingBlock

A modular unit that describes the structure of a system or element. A class (or block) that cannot be directly instantiated. Contrast: concrete class. [source:SysML v1.1]

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

Known Sub Types: SystemComponent, ConfigurationItem, LogicalComponent, Entity, PhysicalComponent

Inherited fields (from Type, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*
typedElements TypedElement 0..*

ModellingArchitecture

the base class supporting the definition of the structure of the model at a given design level.

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

Known Sub Types: SystemAnalysis, EPBSArchitecture, LogicalArchitecture, OperationalAnalysis, PhysicalArchitecture

Inherited fields (from Structure)

Reference Type Range Description
ownedPropertyValuePkgs PropertyValuePkg 0..*

Type

A type represents a set of values. A typed element that has this type is constrained to represent values within this set. [source:UML Superstructure v2.2]

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

Known Sub Types: Interface, SystemComponent, ConfigurationItem, Class, Collection, DomainElement, Union, ExchangeItem, LogicalComponent, Entity, PhysicalComponent, Exception, Message, Signal, BooleanType, Enumeration, StringType, NumericType, PhysicalQuantity

Specific fields

Reference Type Range Description
typedElements TypedElement 0..*

Inherited fields (from AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*

TypedElement

A typed element is an element that has a type that serves as a constraint on the range of values the element can represent. Typed element is an abstract metaclass. [source:UML Superstructure v2.2]

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

Known Sub Types: Part, PhysicalPort, SystemFunction, FunctionInputPort, FunctionOutputPort, ComponentPort, Parameter, Property, UnionProperty, ExchangeItemElement, ExchangeItemInstance, LogicalFunction, OperationalActivity, Role, PhysicalFunction, SignalInstance

Specific fields

Reference Type Range Description
type Type 0..1

Inherited fields (from AbstractTypedElement)

Reference Type Range Description
abstractType AbstractType 0..1

Trace

A dependency that indicates a historical or process relationship between two elements that represent the same concept without specific rules for deriving one from the other. Trace dependencies are used to track requirements and changes across models. [source: SysML glossary for SysML v1.0]

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: GenericTrace, TransfoLink, JustificationLink, MergeLink, RefinementLink, RequirementsTrace

Inherited fields (from Relationship, AbstractRelationship, AbstractTrace)

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

AbstractAnnotation

An abstract Annotation can be compared to an UML comment : A comment gives the ability to attach various remarks to elements. A comment carries no semantic force, but may contain information that is useful to a modeler. [source:UML Superstructure v2.2]

Common Types: CapellaElement, TraceableElement, ModelElement, PublishableElement

Specific fields

Attribute Type Range Description
content EString 0..1

Constraint

A constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element [source:UML Superstructure v2.2]

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

Inherited fields (from AbstractConstraint)

Reference Type Range Description
constrainedElements ModelElement 0..*
context ModelElement 0..1
ownedSpecification ValueSpecification 0..1

KeyValue

a generic key/value pair used to index data

Common Types: CapellaElement, TraceableElement, ModelElement, PublishableElement

Specific fields

Attribute Type Range Description
key EString 0..1
value EString 0..1

ReuseableStructure

specialization of a structure, to add the semantic of a package that is intended to be reused across various architectures

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

Known Sub Types: SharedPkg

Specific fields

Inherited fields (from Structure)

Reference Type Range Description
ownedPropertyValuePkgs PropertyValuePkg 0..*

ReuserStructure

a structure that is capable of leveraging existing other structures to build upon them, i.e. reuse them.

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

Known Sub Types: SystemEngineering

Specific fields

Inherited fields (from Structure)

Reference Type Range Description
ownedPropertyValuePkgs PropertyValuePkg 0..*

GeneralizableElement

A generalizable element is an abstract metaclass. A generalizable element is a type and can own generalizations, thereby making it possible to define generalization relationships to other generalizable elements. A generalizable element can specify a generalization hierarchy by referencing its general classifiers. A generalizable element is a redefinable element, meaning that it is possible to redefine nested classifiers. [source:UML Superstructure v2.2]

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

Known Sub Types: Interface, SystemComponent, ConfigurationItem, Class, Collection, DomainElement, Union, ExchangeItem, LogicalComponent, Entity, PhysicalComponent, Exception, Message, Signal, BooleanType, Enumeration, StringType, NumericType, PhysicalQuantity

Specific fields

Attribute Type Range Description
abstract EBoolean 0..1
Reference Type Range Description
ownedGeneralizations Generalization 0..*
sub GeneralizableElement 0..*
subGeneralizations Generalization 0..*
super GeneralizableElement 0..*
superGeneralizations Generalization 0..*

Inherited fields (from Type, AbstractType)

Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*
typedElements TypedElement 0..*

Classifier

A classifier is a namespace whose members can include features. A classifier is an abstract metaclass. A classifier is a type. A classifier is a redefinable element, meaning that it is possible to redefine nested classifiers. [source:UML Superstructure v2.2]

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

Known Sub Types: Interface, SystemComponent, ConfigurationItem, Class, Collection, DomainElement, Union, LogicalComponent, Entity, PhysicalComponent, Exception, Message, Signal

Specific fields

Reference Type Range Description
containedProperties Property 0..*
ownedFeatures Feature 0..*

Inherited fields (from GeneralizableElement, Type, AbstractType)

Attribute Type Range Description
abstract EBoolean 0..1
Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*
ownedGeneralizations Generalization 0..*
sub GeneralizableElement 0..*
subGeneralizations Generalization 0..*
super GeneralizableElement 0..*
superGeneralizations Generalization 0..*
typedElements TypedElement 0..*

GeneralClass

an abstract concept allowing the nesting of classes in classes

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

Known Sub Types: Interface, Class, DomainElement, Union

Specific fields

Attribute Type Range Description
visibility VisibilityKind 0..1
Reference Type Range Description
containedOperations Operation 0..*
nestedGeneralClasses GeneralClass 0..*

Inherited fields (from Classifier, GeneralizableElement, Type, AbstractType, FinalizableElement)

Attribute Type Range Description
abstract EBoolean 0..1
final EBoolean 0..1
Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*
containedProperties Property 0..*
ownedFeatures Feature 0..*
ownedGeneralizations Generalization 0..*
sub GeneralizableElement 0..*
subGeneralizations Generalization 0..*
super GeneralizableElement 0..*
superGeneralizations Generalization 0..*
typedElements TypedElement 0..*

Generalization

A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier.

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Specific fields

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

Inherited fields (from Relationship, AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

Feature

A feature declares a behavioral or structural characteristic of instances of classifiers. [source:UML Superstructure v2.2]

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

Known Sub Types: Part, PhysicalPort, SystemFunction, ComponentPort, Property, Service, UnionProperty, ExchangeItemInstance, LogicalFunction, OperationalActivity, Role, PhysicalFunction, SignalInstance

Specific fields

Attribute Type Range Description
isAbstract EBoolean 0..1
isStatic EBoolean 0..1
visibility VisibilityKind 0..1

AbstractExchangeItemPkg

a container for exchange items

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

Known Sub Types: InterfacePkg, DataPkg

Specific fields

Reference Type Range Description
ownedExchangeItems ExchangeItem 0..*

Inherited fields (from Structure)

Reference Type Range Description
ownedPropertyValuePkgs PropertyValuePkg 0..*

Allocation

Allocation is similar to SysML Allocate concept : It is a mechanism for associating elements of different types, or in different hierarchies, at an abstract level. Allocate is used for assessing user model consistency and directing future design activity. It is expected that an "allocate" relationship between model elements is a precursor to a more concrete relationship between the elements, their properties, operations, attributes, or sub-classes. [source:SysML v1.1]

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: AbstractStateRealization, StateTransitionRealization, StateEventRealization, ComponentRealization, PhysicalLinkRealization, PhysicalPathRealization, PhysicalPortRealization, OperationalAnalysisRealization, PhysicalArchitectureRealization, PhysicalArtifactRealization, ComponentFunctionalAllocation, FunctionalChainRealization, FunctionalExchangeRealization, FunctionRealization, ComponentExchangeAllocation, ComponentExchangeFunctionalExchangeAllocation, ComponentExchangeRealization, ComponentPortAllocation, OperationAllocation, PortRealization, PortAllocation, InformationRealization, ExchangeItemRealization, AbstractCapabilityRealization, ScenarioRealization, SystemAnalysisRealization, ContextInterfaceRealization, ActivityAllocation, RoleAllocation, LogicalArchitectureRealization, LogicalInterfaceRealization

Inherited fields (from Relationship, AbstractRelationship, AbstractTrace)

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

Involvement

Link that denotes some involvement relationship of an element that is involved in another one [Capella study]

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

Known Sub Types: CapabilityRealizationInvolvement, PhysicalPathInvolvement, PhysicalPathReference, CapabilityInvolvement, MissionInvolvement, FunctionalChainReference, FunctionalChainInvolvementLink, FunctionalChainInvolvementFunction, FunctionalChainAbstractCapabilityInvolvement, AbstractFunctionAbstractCapabilityInvolvement, EntityOperationalCapabilityInvolvement

Specific fields

Reference Type Range Description
involved InvolvedElement 1..1
involver InvolverElement 1..1

Inherited fields (from Relationship, AbstractRelationship)

Reference Type Range Description
realizedFlow AbstractInformationFlow 0..1

InvolverElement

An involver element is a capella element that is, at least, involved in an involvement relationship with the role of the element that involves the other one [source:Meleody light-like study]

Common Types: CapellaElement, TraceableElement, ModelElement, PublishableElement

Known Sub Types: PhysicalPath, Mission, Capability, FunctionalChain, CapabilityRealization, OperationalProcess, OperationalCapability

Specific fields

Reference Type Range Description
involvedInvolvements Involvement 0..*

InvolvedElement

An involved element is a capella element that is, at least, involved in an involvement relationship with the role of the element that is involved [source:Meleody light-like study]

Common Types: CapellaElement, TraceableElement, ModelElement, PublishableElement

Known Sub Types: Part, PhysicalLink, PhysicalPath, SystemFunction, SystemComponent, ConfigurationItem, FunctionalChain, FunctionalExchange, LogicalFunction, LogicalComponent, OperationalActivity, OperationalProcess, Entity, PhysicalFunction, PhysicalComponent

Specific fields

Reference Type Range Description
involvingInvolvements Involvement 0..*

AbstractPropertyValue

It is a way to define extension properties for any capella elements A property value is a named element that has a value. This value has no specific format, it is described as a string. [Capella study]

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

Known Sub Types: StringPropertyValue, IntegerPropertyValue, BooleanPropertyValue, FloatPropertyValue, EnumerationPropertyValue

Specific fields

Reference Type Range Description
involvedElements CapellaElement 0..*
valuedElements CapellaElement 0..*

StringPropertyValue

It is a way to define extension properties for any capella elements A property value is a named element that has a value. This value has no specific format, it is described as a string. [Capella study]

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

Specific fields

Attribute Type Range Description
value EString 0..1

Inherited fields (from AbstractPropertyValue)

Reference Type Range Description
involvedElements CapellaElement 0..*
valuedElements CapellaElement 0..*

IntegerPropertyValue

It is a way to define extension properties for any capella elements A property value is a named element that has a value. This value has no specific format, it is described as a string. [Capella study]

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

Specific fields

Attribute Type Range Description
value EInt 0..1

Inherited fields (from AbstractPropertyValue)

Reference Type Range Description
involvedElements CapellaElement 0..*
valuedElements CapellaElement 0..*

BooleanPropertyValue

It is a way to define extension properties for any capella elements A property value is a named element that has a value. This value has no specific format, it is described as a string. [Capella study]

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

Specific fields

Attribute Type Range Description
value EBoolean 0..1

Inherited fields (from AbstractPropertyValue)

Reference Type Range Description
involvedElements CapellaElement 0..*
valuedElements CapellaElement 0..*

FloatPropertyValue

It is a way to define extension properties for any capella elements A property value is a named element that has a value. This value has no specific format, it is described as a string. [Capella study]

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

Specific fields

Attribute Type Range Description
value EFloat 0..1

Inherited fields (from AbstractPropertyValue)

Reference Type Range Description
involvedElements CapellaElement 0..*
valuedElements CapellaElement 0..*

EnumerationPropertyValue

It is a way to define extension properties for any capella elements A property value is a named element that has a value. This value has no specific format, it is described as a string. [Capella study]

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

Specific fields

Reference Type Range Description
type EnumerationPropertyType 0..1
value EnumerationPropertyLiteral 0..1

Inherited fields (from AbstractPropertyValue)

Reference Type Range Description
involvedElements CapellaElement 0..*
valuedElements CapellaElement 0..*

EnumerationPropertyType

It is a way to define extension properties for any capella elements A property value is a named element that has a value. This value has no specific format, it is described as a string. [Capella study]

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

Specific fields

Reference Type Range Description
ownedLiterals EnumerationPropertyLiteral 0..*

EnumerationPropertyLiteral

A literal value, used in an EnumerationPropertyType [Capella study]

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


PropertyValueGroup

Package that contain property values [Capella study]

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

Specific fields

Reference Type Range Description
valuedElements CapellaElement 0..*

PropertyValuePkg

A container for PropertyValues/PropertyValueGroups.

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

Inherited fields (from Structure)

Reference Type Range Description
ownedPropertyValuePkgs PropertyValuePkg 0..*

AbstractDependenciesPkg

a base class for structures that need to contain dependency links

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

Known Sub Types: InterfacePkg, DataPkg

Inherited fields (from Structure)

Reference Type Range Description
ownedPropertyValuePkgs PropertyValuePkg 0..*

VisibilityKind

enumeration listing the various possibilities regarding the visibility of a feature of a class

Common Types:

Attribute Description
PACKAGE
PRIVATE
PROTECTED
PUBLIC
UNSET

Clone this wiki locally