virtuality constraint

A constraint on a virtual type has the form of a virtuality\-constraint:

<virtuality-constraint> ::= atleast <identifier>

where <identifier> identifies a type (which is called the constraint type) of the appropriate kind (block, process, service or procedure).

The implication of a constraint is that a redefined or finalized definition of the virtual type must be a type definition that inherits from the constraint type. In case of no constraint specified, the definition of the virtual type itself is the constraint.