Source : ISO 10303-54
SCHEMA classification_schema;
USE FROM
group_schema;
-- ISO 10303-41
REFERENCE FROM
group_schema -- ISO 10303-41
(group);
REFERENCE FROM
management_resources_schema -- ISO 10303-41
(classification_assignment);
TYPE classification_select =
EXTENSIBLE
SELECT;
END_TYPE;
TYPE complete_membership_select =
EXTENSIBLE
SELECT;
END_TYPE;
ENTITY class
SUBTYPE OF (group);
END_ENTITY;
ENTITY class_by_extension
SUBTYPE OF (class);
END_ENTITY;
ENTITY class_by_intension
SUBTYPE OF (class);
END_ENTITY;
ENTITY classification
SUBTYPE OF (classification_assignment);
classified : SET[1:1] OF classification_select;
DERIVE
classifier : class := SELF\classification_assignment.assigned_class;
END_ENTITY;
ENTITY complete_membership
SUBTYPE OF (classification_assignment);
members : SET[0:?] OF complete_membership_select;
DERIVE
containing_set : class := SELF\classification_assignment.assigned_class;
END_ENTITY;
SUBTYPE_CONSTRAINT classification_or_complete_membership FOR classification_assignment;
END_SUBTYPE_CONSTRAINT;
END_SCHEMA; -- classification_schema