Schema: classification_schema

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