Skip to content

Metamodel pa

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

pa

PhysicalArchitecture aims at defining the system's software, middleware and hardware architecture modelling language (close to the OMG's Platform Independent Model (PIM) in addition to OMG's Platform Model (PM)) using notions close to OMG's MARTE Resource concept. It adds the Deployment concern. This concern aggregates a lot of concepts regarding the others. A re-engineering of this concern should make sense.

PhysicalArchitecture

Model describing physical architecture part - hardware components & related items - associated to (created during) a modelling phase

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

Specific fields

Reference Type Range Description
allocatedLogicalArchitectureRealizations LogicalArchitectureRealization 0..*
allocatedLogicalArchitectures LogicalArchitecture 0..*
allocatingEpbsArchitectures EPBSArchitecture 0..*
containedCapabilityRealizationPkg CapabilityRealizationPkg 0..1
containedPhysicalFunctionPkg PhysicalFunctionPkg 0..1
ownedDeployments AbstractDeploymentLink 0..*
ownedLogicalArchitectureRealizations LogicalArchitectureRealization 0..*
ownedPhysicalComponentPkg PhysicalComponentPkg 0..1

Inherited fields (from ComponentArchitecture, BlockArchitecture, AbstractFunctionalArchitecture, ModellingArchitecture, Structure)

Reference Type Range Description
allocatedArchitectures BlockArchitecture 0..*
allocatingArchitectures BlockArchitecture 0..*
ownedAbstractCapabilityPkg AbstractCapabilityPkg 0..1
ownedComponentExchangeCategories ComponentExchangeCategory 0..*
ownedComponentExchangeRealizations ComponentExchangeRealization 0..*
ownedComponentExchanges ComponentExchange 0..*
ownedDataPkg DataPkg 0..1
ownedFunctionalAllocations ComponentFunctionalAllocation 0..*
ownedFunctionPkg FunctionPkg 0..1
ownedInterfacePkg InterfacePkg 0..1
ownedPropertyValuePkgs PropertyValuePkg 0..*
ownedRequirementPkgs RequirementsPkg 0..*
provisionedArchitectureAllocations ArchitectureAllocation 0..*
provisioningArchitectureAllocations ArchitectureAllocation 0..*
system Component 0..1

PhysicalFunction

Function applied at physical level

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

Specific fields

Reference Type Range Description
allocatingPhysicalComponents PhysicalComponent 0..*
childrenPhysicalFunctions PhysicalFunction 0..*
containedPhysicalFunctions PhysicalFunction 0..*
ownedPhysicalFunctionPkgs PhysicalFunctionPkg 0..*
realizedLogicalFunctions LogicalFunction 0..*

Inherited fields (from AbstractFunction, InvolvedElement, AbstractInstance, Property, Feature, TypedElement, AbstractTypedElement, MultiplicityElement, FinalizableElement, AbstractFunctionalChainContainer, CallBehaviorAction, CallAction, InvocationAction, AbstractAction, ExecutableNode, ActivityNode, AbstractEvent, AbstractType)

Attribute Type Range Description
aggregationKind AggregationKind 0..1
condition EString 0..1
final EBoolean 0..1
isAbstract EBoolean 0..1
isDerived EBoolean 0..1
isPartOfKey EBoolean 0..1
isReadOnly EBoolean 0..1
isStatic EBoolean 0..1
kind FunctionKind 0..1
maxInclusive EBoolean 0..1
minInclusive EBoolean 0..1
ordered EBoolean 0..1
unique EBoolean 0..1
visibility VisibilityKind 0..1
Reference Type Range Description
abstractType AbstractType 0..1
abstractTypedElements AbstractTypedElement 0..*
allocationBlocks AbstractFunctionalBlock 0..*
arguments InputPin 0..*
association Association 0..1
availableInStates State 0..*
behavior AbstractBehavior 0..1
componentFunctionalAllocations ComponentFunctionalAllocation 0..*
context AbstractType 0..1
inActivityPartition ActivityPartition 0..1
incoming ActivityEdge 0..*
inFunctionRealizations FunctionRealization 0..*
inInterruptibleRegion InterruptibleActivityRegion 0..1
inputs InputPin 0..*
inStructuredNode InterruptibleActivityRegion 0..1
involvingCapabilities Capability 0..*
involvingCapabilityRealizations CapabilityRealization 0..*
involvingFunctionalChains FunctionalChain 0..*
involvingInvolvements Involvement 0..*
linkedStateMachine StateMachine 0..1
localPostcondition AbstractConstraint 0..1
localPrecondition AbstractConstraint 0..1
outFunctionRealizations FunctionRealization 0..*
outgoing ActivityEdge 0..*
outputs OutputPin 0..*
ownedDefaultValue DataValue 0..1
ownedFunctionalChains FunctionalChain 0..*
ownedFunctionalExchanges FunctionalExchange 0..*
ownedFunctionRealizations FunctionRealization 0..*
ownedFunctions AbstractFunction 0..*
ownedHandlers ExceptionHandler 0..*
ownedMaxCard NumericValue 0..1
ownedMaxLength NumericValue 0..1
ownedMaxValue DataValue 0..1
ownedMinCard NumericValue 0..1
ownedMinLength NumericValue 0..1
ownedMinValue DataValue 0..1
ownedNullValue DataValue 0..1
representingInstanceRoles InstanceRole 0..*
results OutputPin 0..*
subFunctions AbstractFunction 0..*
type Type 0..1

PhysicalFunctionPkg

container for physical functions

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

Specific fields

Reference Type Range Description
ownedPhysicalFunctionPkgs PhysicalFunctionPkg 0..*
ownedPhysicalFunctions PhysicalFunction 0..*

Inherited fields (from FunctionPkg, Structure)

Reference Type Range Description
ownedCategories ExchangeCategory 0..*
ownedPropertyValuePkgs PropertyValuePkg 0..*

PhysicalComponent

Physical Components are the artifacts enabling to describe architectural solutions to satisfy the logical architecture identified at the upper abstraction level. Physical components are identified according to physical rationals (i.e. components reuse, available COTS, non functional constraints...) Examples: Software component, executable, hardware component (mechanical devices, electronical boards, equipments)

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

Specific fields

Attribute Type Range Description
kind PhysicalComponentKind 0..1
nature PhysicalComponentNature 0..1
Reference Type Range Description
allocatedPhysicalFunctions PhysicalFunction 0..*
deployedPhysicalComponents PhysicalComponent 0..*
deployingPhysicalComponents PhysicalComponent 0..*
logicalInterfaceRealizations LogicalInterfaceRealization 0..*
ownedDeploymentLinks AbstractDeploymentLink 0..*
ownedPhysicalComponentPkgs PhysicalComponentPkg 0..*
ownedPhysicalComponents PhysicalComponent 0..*
realizedLogicalComponents LogicalComponent 0..*
subPhysicalComponents PhysicalComponent 0..*

Inherited fields (from AbstractPhysicalArtifact, Component, Block, ModellingBlock, Type, AbstractType, AbstractFunctionalBlock, Classifier, GeneralizableElement, InterfaceAllocator, CommunicationLinkExchanger, CapabilityRealizationInvolvedElement, InvolvedElement, DeployableElement, DeploymentTarget)

Attribute Type Range Description
abstract EBoolean 0..1
actor EBoolean 1..1
human EBoolean 1..1
Reference Type Range Description
abstractTypedElements AbstractTypedElement 0..*
access CommunicationLink 0..*
acquire CommunicationLink 0..*
allocatedFunctions AbstractFunction 0..*
allocatedInterfaces Interface 0..*
allocatorConfigurationItems ConfigurationItem 0..*
call CommunicationLink 0..*
capabilityRealizationInvolvements CapabilityRealizationInvolvement 0..*
consume CommunicationLink 0..*
containedComponentPorts ComponentPort 0..*
containedParts Part 0..*
containedPhysicalPorts PhysicalPort 0..*
containedProperties Property 0..*
deployingLinks AbstractDeploymentLink 0..*
deploymentLinks AbstractDeploymentLink 0..*
execute CommunicationLink 0..*
functionalAllocations ComponentFunctionalAllocation 0..*
implementedInterfaceLinks InterfaceImplementation 0..*
implementedInterfaces Interface 0..*
involvingCapabilityRealizations CapabilityRealization 0..*
involvingInvolvements Involvement 0..*
ownedAbstractCapabilityPkg AbstractCapabilityPkg 0..1
ownedCommunicationLinks CommunicationLink 0..*
ownedComponentExchangeCategories ComponentExchangeCategory 0..*
ownedComponentExchanges ComponentExchange 0..*
ownedComponentRealizations ComponentRealization 0..*
ownedDataPkg DataPkg 0..1
ownedFeatures Feature 0..*
ownedFunctionalAllocation ComponentFunctionalAllocation 0..*
ownedGeneralizations Generalization 0..*
ownedInterfaceAllocations InterfaceAllocation 0..*
ownedInterfaceImplementations InterfaceImplementation 0..*
ownedInterfacePkg InterfacePkg 0..1
ownedInterfaceUses InterfaceUse 0..*
ownedPhysicalLinkCategories PhysicalLinkCategory 0..*
ownedPhysicalLinks PhysicalLink 0..*
ownedPhysicalPath PhysicalPath 0..*
ownedStateMachines StateMachine 0..*
produce CommunicationLink 0..*
providedInterfaces Interface 0..*
provisionedInterfaceAllocations InterfaceAllocation 0..*
realizedComponents Component 0..*
realizingComponents Component 0..*
receive CommunicationLink 0..*
representingParts Part 0..*
requiredInterfaces Interface 0..*
send CommunicationLink 0..*
sub GeneralizableElement 0..*
subGeneralizations Generalization 0..*
super GeneralizableElement 0..*
superGeneralizations Generalization 0..*
transmit CommunicationLink 0..*
typedElements TypedElement 0..*
usedInterfaceLinks InterfaceUse 0..*
usedInterfaces Interface 0..*
write CommunicationLink 0..*

PhysicalComponentPkg

a container for physical component entities

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

Specific fields

Reference Type Range Description
ownedDeployments AbstractDeploymentLink 0..*
ownedKeyParts KeyPart 0..*
ownedPhysicalComponentPkgs PhysicalComponentPkg 0..*
ownedPhysicalComponents PhysicalComponent 0..*

Inherited fields (from ComponentPkg, Structure, AssociationPkg)

Attribute Type Range Description
visibility VisibilityKind 0..1
Reference Type Range Description
ownedAssociations Association 0..*
ownedComponentExchangeCategories ComponentExchangeCategory 0..*
ownedComponentExchangeRealizations ComponentExchangeRealization 0..*
ownedComponentExchanges ComponentExchange 0..*
ownedFunctionalAllocations ComponentFunctionalAllocation 0..*
ownedParts Part 0..*
ownedPhysicalLinkCategories PhysicalLinkCategory 0..*
ownedPhysicalLinks PhysicalLink 0..*
ownedPropertyValuePkgs PropertyValuePkg 0..*
ownedStateMachines StateMachine 0..*

PhysicalComponentKind

allows to categorize a physical component, with respect to real life physical entities

Common Types:

Attribute Description
DATA
FACILITIES
FIRMWARE
HARDWARE
HARDWARE_COMPUTER
MATERIALS
PERSON
PROCESSES
SERVICES
SOFTWARE
SOFTWARE_APPLICATION
SOFTWARE_DEPLOYMENT_UNIT
SOFTWARE_EXECUTION_UNIT
UNSET

LogicalArchitectureRealization

mediator class supporting the implementation of the allocation link between a physical architecture, and the logical architecture(s) that it realizes

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

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

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

LogicalInterfaceRealization

mediator class supporting the implementation of the allocation link between a physical interface, and the logical interface(s) that it realizes

Common Types: ModelElement, CapellaElement, TraceableElement, PublishableElement

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

Reference Type Range Description
allocatedInterface Interface 1..1
allocatingInterfaceAllocator InterfaceAllocator 1..1
realizedFlow AbstractInformationFlow 0..1
sourceElement TraceableElement 1..1
targetElement TraceableElement 1..1

PhysicalComponentNature

characterizes a physical component, with respect to its property of being a host of behavioral components, or a behavioral component

Common Types:

Attribute Description
BEHAVIOR
NODE
UNSET

Clone this wiki locally