Interface ComposedStructure

All Superinterfaces:
org.eclipse.emf.cdo.CDOObject, org.eclipse.emf.cdo.common.id.CDOWithID, Entity, EObject, de.uka.ipd.sdq.identifier.Identifier, NamedElement, Notifier, PCMBaseClass, PCMClass
All Known Subinterfaces:
ComposedProvidingRequiringEntity, CompositeComponent, SubSystem, System
All Known Implementing Classes:
ComposedProvidingRequiringEntityImpl, ComposedStructureImpl, CompositeComponentImpl, SubSystemImpl, SystemImpl

public interface ComposedStructure extends Entity
A representation of the model object 'Composed Structure'. TODO/FIXME: The distinction between ComposedStructure and ComposedProvidingRequiringStructure does not make sense at the moment, because the ComposedStructure already talks about inner provided / required delegation connectors, which only make sense if there are outer roles for interfaces -> ComposedProvidingRequiringStructure. IDEA: Move the delegation connector attributes to ComposedProvidingRequiringStructure. I'm not sure about the assembly connectors. SEE ALSO: ComposedProvidingRequiringStructure However, as AssemblyContexts of ComposedStructure always contain InterfaceProvidingRequiringEntities at the moment, the above might not help... -- Anne

The following features are supported:

See Also:
Generated class or method.
EMF model class or method.
abstract="true" annotation="http://www.eclipse.org/emf/2002/Ecore constraints='multipleConnectorsConstraint multipleConnectorsConstraintForAssemblyConnectors'" annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/LPG multipleConnectorsConstraint='self.connectors__ComposedStructure->select(conn | conn.oclIsTypeOf(pcm::core::composition::ProvidedDelegationConnector)).oclAsType(pcm::core::composition::ProvidedDelegationConnector)->forAll( c1, c2 | c1 <> c2 implies c1.outerProvidedRole_ProvidedDelegationConnector <> c2.outerProvidedRole_ProvidedDelegationConnector)\r\n' multipleConnectorsConstraintForAssemblyConnectors='self.connectors__ComposedStructure->select(conn | conn.oclIsTypeOf(pcm::core::composition::AssemblyConnector)).oclAsType(AssemblyConnector)->forAll( c1, c2 | ( (c1 <> c2) and ( c1.requiringAssemblyContext_AssemblyConnector = c2.requiringAssemblyContext_AssemblyConnector ) ) implies c1.requiredRole_AssemblyConnector <> c2.requiredRole_AssemblyConnector )\r\n'"