Integrated generic resource: Classification and set theory ISO 10303-54:2005(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviations

4 Classification
   4.1 Introduction
   4.2 Fundamental concepts and assumptions
   4.3 Classification type definitions
   4.4 Classification entity definitions
   4.5 Classification subtype constraint definitions
5 Set theory
   5.1 Introduction
   5.2 Fundamental concepts and assumptions
   5.3 Set theory entity definitions
   5.4 Set theory function definitions

A Short names of entities
B Information object registration
C Computer interpretable listings
D EXPRESS-G diagrams
Index

4 Classification schema

The following Express declaration begins the classification_schema and identifies the necessary external references.

EXPRESS specification:

*)
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.

4.1 Introduction

The classification_schema specifies a class, and a classification relationship between a class and a member of a class.

4.2 Fundamental concepts and assumptions

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.

4.3 classification_schema type definitions

4.3.1 classification_select   EXPRESS-G

The classification_select type is an extensible list of alternate data types. It provides a mechanism to refer to instances of the data types included in the types that extend the classification_select 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.

EXPRESS specification:

*)
TYPE classification_select = EXTENSIBLE SELECT;
END_TYPE;
(*

4.3.2 complete_membership_select   EXPRESS-G

The complete_membership_select type is an extensible list of alternate data types. It provides a mechanism to refer to instances of the data types included in the types that extend the complete_membership_select 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;
(*

4.4 classification_schema entity definitions

4.4.1 class   EXPRESS-G

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;
(*

4.4.2 class_by_extension   EXPRESS-G

A class_by_extension is a type of class that is defined by enumerating all the members.

EXPRESS specification:

*)
ENTITY class_by_extension
  SUBTYPE OF (class);
END_ENTITY;
(*

4.4.3 class_by_intension   EXPRESS-G

A class_by_intension is a type of class that is defined by means of criteria. A thing is a member of the set if it satisfies all the criteria.

EXPRESS specification:

*)
ENTITY class_by_intension
  SUBTYPE OF (class);
END_ENTITY;
(*

4.4.4 classification   EXPRESS-G

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.

4.4.5 complete_membership   EXPRESS-G

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.

4.4.6 complete_membership_of_empty_set   EXPRESS-G

A complete_membership_of_empty_set is a type of complete_membership for which the containing_set is the empty set.

EXPRESS specification:

*)
ENTITY complete_membership_of_empty_set
  SUBTYPE OF (complete_membership);
END_ENTITY;
(*

4.4.7 complete_membership_of_non_empty_set   EXPRESS-G

A complete_membership_of_non_empty_set is a type of complete_membership for which the containing_set is not the empty set.

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.

4.5 classification_schema subtype constraint definition

4.5.1 classification_or_complete_membership

A classification_or_complete_membership is a specification that a classification_assignment shall either specify some of the members of a class without an assertion of completeness, or all of the members of a class with an assertion of completeness.

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