staticstructure
KlasseCompositeStructure

This abstract entity represents an entity composed of subcomponents. The ports of a composite structure are on the inner side connected to ports of its subcomponents using delegation connectors. The ports of subcomponents may be, in addition, connected via assembly connectors to each other. CompositeStructure is a superclass for both CompositeComponent and ServiceArchitecturesModel.

Attribute
<Class> SubcomponentInstance subcomponents subcomponents

This property represents the subcomponents forming this CompositeStructure.

<Class> Connector connector connector

This property represents the set of connectors connecting both ports of subcomponents to each other and ports of subcomponents to ports of this CompositeStructure.

!!TableHeading.InheritedAttributes!!samm::core::NamedEntity samm::core::NamedEntity
name name

!!TableHeading.InheritedAttributes!!samm::core::Entity samm::core::Entity
documentation documentation

!!TableHeading.InheritedAttributes!!identifier::Identifier identifier::Identifier
id id

!!TableHeading.InheritedOperations!!samm::core::NamedEntity samm::core::NamedEntity

!!TableHeading.InheritedOperations!!samm::core::Entity samm::core::Entity

!!TableHeading.InheritedOperations!!identifier::Identifier identifier::Identifier

Eigenschaften:

Alias
Classifier Behavior
Is Abstracttrue
Is Activefalse
Is Leaffalse
Keywords
NameCompositeStructure
Name Expression
Namespace<<ePackage>> <Package> staticstructure
Owned Template Signature
Owner<<ePackage>> <Package> staticstructure
Owning Template Parameter
Package<<ePackage>> <Package> staticstructure
Qualified Namesamm::staticstructure::CompositeStructure
Representation
Stereotype
Template Parameter
VisibilityPublic

Details für Attribute

 connector
Public <Class> Connector connector

This property represents the set of connectors connecting both ports of subcomponents to each other and ports of subcomponents to ports of this CompositeStructure.

Eigenschaften:

AggregationComposite
Alias
Association<Association> A_connector_compositeStructure
Association End
Class<Class> CompositeStructure
Datatype
Default
Default Value
Is Compositetrue
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity*
Nameconnector
Name Expression
Namespace<Class> CompositeStructure
Opposite
Owned Template Signature
Owner<Class> CompositeStructure
Owning Association
Owning Template Parameter
Qualified Namesamm::staticstructure::CompositeStructure::connector
Stereotype
Template Parameter
Type<Class> Connector
Upper*
Upper Value<Literal Unlimited Natural> *
VisibilityPublic


 subcomponents
Public <Class> SubcomponentInstance subcomponents

This property represents the subcomponents forming this CompositeStructure.

Eigenschaften:

AggregationComposite
Alias
Association<Association> A_subcomponents_parent
Association End
Class<Class> CompositeStructure
Datatype
Default
Default Value
Is Compositetrue
Is Derivedfalse
Is Derived Unionfalse
Is Leaffalse
Is Orderedfalse
Is Read Onlyfalse
Is Staticfalse
Is Uniquetrue
Keywords
Lower0
Lower Value<Literal Integer> 0
Multiplicity*
Namesubcomponents
Name Expression
Namespace<Class> CompositeStructure
Opposite
Owned Template Signature
Owner<Class> CompositeStructure
Owning Association
Owning Template Parameter
Qualified Namesamm::staticstructure::CompositeStructure::subcomponents
Stereotype
Template Parameter
Type<Class> SubcomponentInstance
Upper*
Upper Value<Literal Unlimited Natural> *
VisibilityPublic

Integritätsbedingungen
AllAssemblyConnectorsAreOnTheSameLevel-- for all assembly connectors: -- check if all referenced subcomponentendpoints reference a subcomponent that is directly nested in the composed structure self.connector->select(con|con.isDelegation = false)->forAll(asconnector | asconnector.endpoints->forAll(sce | self.subcomponents->exists(subcomp | subcomp.id = sce.oclAsType(SubcomponentEndpoint).subcomponent.id)))
AllDelegationConnectorsReferenceOnlyOneLevelNestedSubcomponents-- for all delegation connectors: -- check if all referenced subcomponentendpoints reference a subcomponent that is directly nested in the composed structure self.connector->select(con|con.isDelegation = true)->forAll(delconnector | delconnector.endpoints->select (endpoint | endpoint.oclIsTypeOf(SubcomponentEndpoint))->forAll(sce | self.subcomponents->exists(subcomp | subcomp.id = sce.oclAsType(SubcomponentEndpoint).subcomponent.id)))