Interface ExternalCallAction

  • All Superinterfaces:
    AbstractAction, CallAction, CallReturnAction, org.eclipse.emf.cdo.CDOObject, org.eclipse.emf.cdo.common.id.CDOWithID, Entity, EObject, FailureHandlingEntity, de.uka.ipd.sdq.identifier.Identifier, NamedElement, Notifier
    All Known Implementing Classes:
    ExternalCallActionImpl

    public interface ExternalCallAction
    extends AbstractAction, CallReturnAction, FailureHandlingEntity
    A representation of the model object ' External Call Action'. ExternalCallAction models the invocation of a service specified in a required interface. Therefore, it references a Role, from which the providing component can be derived, and a Signature to specify the called service. ExternalCallActions model synchronous calls to required services, i.e., the caller waits until the called service finishes execution before continuing execution itself. The PCM allows modelling asynchronous calls to required services by using an ExternalCallAction inside a ForkedBehaviour.
    ExternalCallActions do not have resource demands by themselves. Component developers need to specify the resource demand of the called service in the RDSEFF of that service. The resource demand can also be calculated by analysing the providing component. This keeps the RDSEFF specification of different component developers independent from each other and makes them replaceable in an architectural model.
    ExternalCallActions may contain two sets of VariableUsages specifying input parameter characterisations and output parameter characterisations respectively. VariableUsages for input parameters may only reference IN or INOUT parameters of the call's referenced signature. The random variable characterisation inside such a VariableUsage may be constants, probability distribution functions, or include a stochastic expression involving for example arithmetic operations. The latter models a dependency between the current service's own input parameters and the input parameters of the required service.

    The following features are supported:

    See Also:
    SeffPackage.getExternalCallAction()
    Generated class or method.
    EMF model class or method.
    • Method Detail

      • getRetryCount

        int getRetryCount()
        Returns the value of the 'Retry Count' attribute. Specifies the number of retries this ExternalCallAction shoul be re-executed  in case of failure occurence.
        Returns:
        the value of the 'Retry Count' attribute.
        See Also:
        setRetryCount(int), SeffPackage.getExternalCallAction_RetryCount()
        Generated class or method.
        EMF model class or method.
        required="true"
      • setRetryCount

        void setRetryCount​(int value)
        Sets the value of the 'Retry Count' attribute.
        Parameters:
        value - the new value of the 'Retry Count' attribute.
        See Also:
        getRetryCount()
        Generated class or method.
      • SignatureBelongsToRole

        boolean SignatureBelongsToRole​(DiagnosticChain diagnostics,
                                       Map<Object,​Object> context)
         check if the signature
         (declared in calledService_ExternalService attribute) belongs to the role
         (declared in role_ExternalService attribute)
         
        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/emf/2002/Ecore/OCL/Pivot body='self.role_ExternalService.requiredInterface__OperationRequiredRole.signatures__OperationInterface->includes(self.calledService_ExternalService)'"
      • OperationRequiredRoleMustBeReferencedByContainer

        boolean OperationRequiredRoleMustBeReferencedByContainer​(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='self.oclAsType(ecore::EObject)->closure(eContainer())->select( entity | entity.oclIsKindOf(pcm::core::entity::InterfaceRequiringEntity)).oclAsType(pcm::core::entity::InterfaceRequiringEntity).requiredRoles_InterfaceRequiringEntity->includes(self.role_ExternalService)'"