Interface ServiceEffectSpecification

  • All Superinterfaces:
    org.eclipse.emf.cdo.CDOObject, org.eclipse.emf.cdo.common.id.CDOWithID, EObject, Notifier
    All Known Subinterfaces:
    ResourceDemandingSEFF
    All Known Implementing Classes:
    ResourceDemandingSEFFImpl, ServiceEffectSpecificationImpl

    public interface ServiceEffectSpecification
    extends org.eclipse.emf.cdo.CDOObject
    A representation of the model object ' Service Effect Specification'. Service Effect Specification Models the effect of invoking a specific service of a basic component. Therefore, it references a Signature from an Interface, for which the component takes a ProvidedRole, to identify the described service. This class is abstract and SEFFs for specific analysis purposes need to inherit from this class. A BasicComponent may have an arbitrary number of SEFFs. It can have multiple SEFFs of a different type for a single provided service. For example, one SEFF can express all external service calls with no particular order, while another one includes a restricted order, or still another one expresses resource demands of the service. While different SEFF types have been proposed, the only type currently included in the meta-model is the ResourceDemandingSEFF for performance prediction. Different types of SEFFs should not contradict each other if the languages are equally powerful. For example, the order of allowed external service calls should be the same for each SEFF type modelling sequences of such calls if the modelling languages have the same expressiveness. SEFFs are part of a component and not part of an interface, because they are implementation dependent. The SEFFs of a CompositeComponent are not represented in the meta-model and can be derived automatically by connecting the SEFFs of the encapsulated components of its nested AssemblyContexts. Different SEFFs of a single component access the same component parameter specifications. That means that parameter dependencies to the same component parameters in different SEFF types refer also to the same characterisations.

    The following features are supported:

    See Also:
    SeffPackage.getServiceEffectSpecification()
    Generated class or method.
    EMF model class or method.
    abstract="true"
    • Method Detail

      • getSeffTypeID

        String getSeffTypeID()
        Returns the value of the 'Seff Type ID' attribute. The default value is "1".

        If the meaning of the 'Seff Type ID' attribute isn't clear, there really should be more of a description here...

        Returns:
        the value of the 'Seff Type ID' attribute.
        See Also:
        setSeffTypeID(String), SeffPackage.getServiceEffectSpecification_SeffTypeID()
        Generated class or method.
        EMF model class or method.
        default="1" required="true" ordered="false"
      • setSeffTypeID

        void setSeffTypeID​(String value)
        Sets the value of the 'Seff Type ID' attribute.
        Parameters:
        value - the new value of the 'Seff Type ID' attribute.
        See Also:
        getSeffTypeID()
        Generated class or method.
      • ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole

        boolean ReferencedSignatureMustBelongToInterfaceReferencedByProvidedRole​(DiagnosticChain diagnostics,
                                                                                 Map<Object,​Object> context)
        Parameters:
        diagnostics - The chain of diagnostics to which problems are to be appended.
        context - The cache of context-specific information.
        Generated class or method.
        EMF model class or method.
        annotation= "http://www.eclipse.org/uml2/1.1.0/GenModel body='if self.describedService__SEFF.oclIsKindOf(pcm::repository::OperationSignature) then\r\n\tself.basicComponent_ServiceEffectSpecification.providedRoles_InterfaceProvidingEntity->exists(p | p.oclIsKindOf(pcm::repository::OperationProvidedRole) and (p.oclAsType(pcm::repository::OperationProvidedRole).providedInterface__OperationProvidedRole = self.describedService__SEFF.oclAsType(pcm::repository::OperationSignature).interface__OperationSignature))\r\nelse\r\n\tif self.describedService__SEFF.oclIsKindOf(pcm::repository::EventType) then\r\n\t\tself.basicComponent_ServiceEffectSpecification.providedRoles_InterfaceProvidingEntity->exists(p | p.oclIsKindOf(pcm::repository::SinkRole) and (p.oclAsType(pcm::repository::SinkRole).eventGroup__SinkRole = self.describedService__SEFF.oclAsType(pcm::repository::EventType).eventGroup__EventType))\r\n\telse\r\n\t\ttrue\r\n\tendif\r\nendif'"