next up previous contents
Next: Delete Rules Up: Update Rules Previous: Update Rules

Insert Rules

Every object or protocol class, , is associated with an insert rule consisting of the following components:

  1. Instances inserted into must have distinct identifiers.

  2. For each attribute A of , the A values for an instance x inserted in must satisfy:

    1. attribute cardinality constraints, that is, if A is associated with an [ m, n] cardinality constraint then x must have at least m and at most n A values;

    2. value class (referential integrity) constraints, that is, if A is associated with value class , where is an object class, protocol class, or controlled value class, then every A value of x must already belong to ;

    3. inversion constraints, that is, if A is associated with a value class involving object class or protocol class , 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.

  3. If 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.

  4. If is a subclass, then each instance inserted into , x, must be also inserted into (propagated to) each superclass of .

  5. If is a protocol class then

    1. for each instance inserted into , the name of must be added to the (system attribute) InClass value of x in system class PROTOCOLS;

    2. the relationships ( isa, from ... via) of input and output attribute values of instances inserted into must satisfy the input-output consistency constraints as specified in the schema:

      1. if the GenProt value for a protocol x of 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;

      2. if the PreProt value for a protocol x of 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.

    3. if 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).



next up previous contents
Next: Delete Rules Up: Update Rules Previous: Update Rules