Protocol classes in OPM must satisfy three types of constraints: identification constraints (similar to base object classes), protocol expansion constraints, and input-output consistency constraints.
Protocol expansion constraints
are implied by protocol expansion definitions
and regard every pair of protocol classes,
and
, where
and
are specified as component (sub) protocols of
protocol class
and
precedes
:
every pair of related protocols of
and
are required
to be either not associated with a generic protocol or associated with
the same protocol of
.
Input-output consistency constraints are specified in an OPM schema using input-output attribute specifications and regard input-output relationships between protocol classes:
and
, where
is the generic protocol class of
,
for each input or output attribute of
,
, that is
specified using an input isa
.
or
output isa
.
specification,
the
value for each protocol of
must be a subset of
the
value for the related (generic) protocol of
;
and
, where
succeeds
,
for every input attribute of
,
, that is related
using a statement involving a
from ... via specification involving an output attribute
of
,
, the values of
and
for
two related protocols of
and
must be related according to the
from ... via specification.