Interface Protocol

  • All Superinterfaces:
    org.eclipse.emf.cdo.CDOObject, org.eclipse.emf.cdo.common.id.CDOWithID, EObject, Notifier
    All Known Implementing Classes:
    ProtocolImpl

    public interface Protocol
    extends org.eclipse.emf.cdo.CDOObject
    A representation of the model object 'Protocol'. A protocol is a set of calling sequences and can be optionally added to an interface. Protocols of provided interfaces specify the order in which services have to be called by clients. Protocols of required interfaces specify the actual order in which the component calls required services. Besides finite state machines, different formalisms can be used to model protocols. The PCM does not restrict the protocol modelling formalisms. For example, Petri nets or regular expressions could model interface protocols. However, the choice of a formalism does influence possible analyses. For example, to check the interoperability of two components A and B, the language inclusion of the required protocol of A within the provided protocol of B has to be tested. The language inclusion is undecidable for Petri nets in the general case, so protocols modelled with Petri nets cannot be checked for interoperability. Notice, that although protocols are able to express the state of a component, interfaces themselves are stateless. The protocol state only depends on the component that implements the interface and is only present during component runtime. Components can provide/require multiple interfaces, but the PCM does not support protocols ranging over multiple interfaces (neither for provided nor required protocols). The complete state of a components consists of all its interface states. Restrictions on the complete state cannot be expressed in the PCM, as protocols can only be specified for single interfaces.

    The following features are supported:

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

      • getProtocolTypeID

        String getProtocolTypeID()
        Returns the value of the 'Protocol Type ID' attribute. Multiple protocols following different formalisms are supported by the PCM and distinguished by a protocol ID.
        Returns:
        the value of the 'Protocol Type ID' attribute.
        See Also:
        setProtocolTypeID(String), ProtocolPackage.getProtocol_ProtocolTypeID()
        Generated class or method.
        EMF model class or method.
        required="true"
      • setProtocolTypeID

        void setProtocolTypeID​(String value)
        Sets the value of the 'Protocol Type ID' attribute.
        Parameters:
        value - the new value of the 'Protocol Type ID' attribute.
        See Also:
        getProtocolTypeID()
        Generated class or method.