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:
- Generated class or method.
- EMF model class or method.
- abstract="true"
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the value of the 'Protocol Type ID' attribute.void
setProtocolTypeID
(String value) Sets the value of the 'Protocol Type ID
' attribute.Methods inherited from interface org.eclipse.emf.cdo.CDOObject
cdoConflict, cdoDirectResource, cdoHistory, cdoID, cdoInvalid, cdoLockState, cdoPermission, cdoPrefetch, cdoReadLock, cdoReload, cdoResource, cdoRevision, cdoRevision, cdoState, cdoView, cdoWriteLock, cdoWriteOption
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
-
Field Details
-
copyright
- See Also:
- Generated class or method.
-
-
Method Details
-
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:
- Generated class or method.
- EMF model class or method.
- required="true" ordered="false"
-
setProtocolTypeID
Sets the value of the 'Protocol Type ID
' attribute.- Parameters:
value
- the new value of the 'Protocol Type ID' attribute.- See Also:
- Generated class or method.
-