Interface ComposedProvidingRequiringEntity

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

public interface ComposedProvidingRequiringEntity extends ComposedStructure, InterfaceProvidingRequiringEntity
A representation of the model object 'Composed Providing Requiring Entity'. The ComposedProvidingRequiringEntity combines the properties of an InterfaceProvidingRequiringEntity and a ComposedStructure. It is inherited by all classes that, on the one hand, claim to implement the functionality specified in an interface as well as to request that functionality, and, on the other hand, are composed out of some inner entities. Valid ComposedProvidingRequiringEntities need to have their ProvidedRoles bound to ProvidedRoles of the contained entities. Prominent examples are System, SubSystem, and CompositeComponents 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: ComposedStructure However, as AssemblyContexts of ComposedStructure always contain InterfaceProvidingRequiringEntities at the moment, the above might not help... and we may just want to merge the meta classes. --Anne
See Also:
Generated class or method.
EMF model class or method.
abstract="true" annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/LPG operationProvidedRolesMustBeBound='self.providedRoles_InterfaceProvidingEntity->selectByKind(pcm::repository::OperationProvidedRole)->forAll(role|self.connectors__ComposedStructure->select(conn | conn.oclIsTypeOf(pcm::core::composition::ProvidedDelegationConnector)).oclAsType(pcm::core::composition::ProvidedDelegationConnector)->exists(connector|connector.outerProvidedRole_ProvidedDelegationConnector = role))'" annotation="http://www.eclipse.org/emf/2002/Ecore constraints='operationProvidedRolesMustBeBound'"