Every object or protocol class,
,
is associated with an insert rule
consisting of the following components:
must have distinct identifiers.
,
the A values for an instance x inserted in
must satisfy:
, where
is an object class, protocol class, or controlled value class,
then every A value of x must already belong to
;
,
and A is defined as inverse of attribute B of
,
then for each A value of x, y,
the B value for y is updated so that it will include x.
is an object class,
then for each instance inserted into
,
the name of
must be added to the (system attribute)
InClass value of x in system class OBJECTS.
is a subclass, then each instance inserted into
,
x, must be also inserted into (propagated to) each superclass
of
.
is a protocol class then
,
the name of
must be added to the (system attribute)
InClass value of x in system class PROTOCOLS;
must satisfy the input-output consistency constraints
as specified in the schema:
is y, where y belongs to the generic protocol class of
,
, then for each input or output attribute of
, A, that is
specified using an input isa
.B or
output isa
.B specification,
the A value for x must be a subset of the B value for y;
includes y, where y belongs to a protocol class that
precedes
,
, then
for every input attribute of
, A, that is related
using a from ... via specification involving an output attribute
of
, B, the values of A and B for x and y,
respectively, must be related according to the
from ... via specification.
has predecessor protocol classes
and if an instance x inserted in
is associated with a predecessor protocol instance y,
then x and y must be associated with the same generic protocol
(if any).