Integrated generic resource: Classification and set theory | ISO 10303-54:2005(E) © ISO |
*)
SCHEMA classification_schema;
REFERENCE FROM
group_schema
--
ISO 10303-41
(group);
REFERENCE FROM
management_resources_schema
--
ISO 10303-41
(classification_assignment);
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
group_schema ISO 10303-41 management_resources_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
For many different entity types defined within ISO 10303, an instance may stand for a class or set of things. The fact that an instance stands for a class or set of things can be made explicit by creating a compound instance of:
Members can be specified for an instance of the entity type class. An instance of the entity type class can be involved in set theory relationships, such as union or intersection, with other instances of the entity type class.
NOTE Instances of the entity types product, product_definition_formation and product_definition in ISO 10303-41 can be classes. In order to allow set theory relationships for these classes, an application protocol or application module can define a subtype of:
EXAMPLE 1 Pump model 'XYZ_123' is a product_definition_formation and a class. This class is a class_by_extension.
EXAMPLE 2 The set of pumps enumerated in maintenance contract '98/1234' is a class. This class is a class_by_intension.
EXAMPLE 3 The relationship between individual pump 'X/85/4567' and pump model 'XYZ_123', that indicates the model of the pump, is a classification.
EXAMPLE 4 The relationship between individual pump 'X/85/4567' and the set of pumps enumerated in maintenance contract '98/1234', that indicates it is one of the set, is a classification. The complete set of pumps covered by the contract can be defined by an instance of the entity type complete_membership.
EXAMPLE 5 The set of pumps that are both within maintenance contract '98/1234' and of pump model 'XYZ_123' can be defined by the set theory relationship intersection.
NOTE This empty extensible select requires extension in a further schema to ensure that entities that refer to it have at least one valid instantiation.
EXPRESS specification:
*)
TYPE
classification_select
=
EXTENSIBLE
SELECT;
END_TYPE;
(*
NOTE This empty extensible select requires extension in a further schema to ensure that entities that refer to it have at least one valid instantiation.
A complete_membership_select is a thing that is specified to be one of the members of an explicitly enumerated set.EXPRESS specification:
*)
TYPE
complete_membership_select
=
EXTENSIBLE
SELECT;
END_TYPE;
(*
A class is a type of group that is a set.
NOTE 1 The term 'set' is defined in clause 3.3. In this part of ISO 10303, 'set' and 'class' are synonyms.
NOTE 2 The meaning of this entity is identical to:
NOTE 3 A class can consist of all things with a particular set of properties. Hence information about the consequences of possessing the set of properties can be assigned to the class. If a thing is classified as being a member of such a class, then a set of properties possessed by the thing can be deduced.
NOTE 4 This entity may be instantiated as a compound instance involving another entity from ISO 10303.
NOTE 5 The distinction between a class_by_extension and a class_by_intension can be imprecise. For example, the set of items produced by a particular production run could be regarded as either. The entity type class is not specified as abstract, so an application protocol or application module can decide to ignore the distinction.
EXPRESS specification:
*)
ENTITY class
SUBTYPE OF (group);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY class_by_extension
SUBTYPE OF (class);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY class_by_intension
SUBTYPE OF (class);
END_ENTITY;
(*
A classification is a type of classification_assignment that is a relationship between
that indicates thing x is a member of set S.
NOTE The meaning of this entity is identical to the entity classification defined in ISO 15926-2.
EXPRESS specification:
*)
ENTITY classification
SUBTYPE OF (classification_assignment);
classified : classification_select;
DERIVE
classifier : class := SELF\classification_assignment.assigned_class;
END_ENTITY;
(*
Attribute definitions:
classified: the member of the classifier.
classifier: the class that has the classified as a member.
A complete_membership is a type of classification_assignment that is a relationship between
that indicates set S contains each of the things xi and nothing else.
EXPRESS specification:
*)
ENTITY complete_membership
SUBTYPE OF (classification_assignment);
DERIVE
containing_set : class := SELF\classification_assignment.assigned_class;
END_ENTITY;
(*
Attribute definitions:
containing_set: the class that contains the members and nothing else.
EXPRESS specification:
*)
ENTITY complete_membership_of_empty_set
SUBTYPE OF (complete_membership);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY complete_membership_of_non_empty_set
SUBTYPE OF (complete_membership);
members : SET[1:?] OF complete_membership_select;
END_ENTITY;
(*
Attribute definitions:
members: the elements of the containing_set.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT classification_or_complete_membership FOR classification_assignment;
ONEOF (classification,
complete_membership);
END_SUBTYPE_CONSTRAINT;
(*
*)
END_SCHEMA; -- classification_schema
(*
© ISO 2005 — All rights reserved