Application module: Classification with attributes | ISO/TS 10303-1111:2019(E) © ISO |
This clause specifies the information requirements for the Classification with attributes application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.
NOTE 1 A graphical representation of the information requirements is given in Annex C.
NOTE 2 The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Classification_with_attributes_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Classification_with_attributes_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Classification_assignment_arm;
--
ISO/TS 10303-1114
USE FROM
Extended_measure_representation_arm;
--
ISO/TS 10303-1106
USE FROM
Independent_property_arm;
--
ISO/TS 10303-1036
USE FROM
Identification_assignment_arm;
--
ISO/TS 10303-1021
USE FROM
Plib_class_reference_arm;
--
ISO/TS 10303-1291
USE FROM
Product_view_definition_arm;
--
ISO/TS 10303-1019
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Classification_assignment_arm ISO/TS 10303-1114 Extended_measure_representation_arm ISO/TS 10303-1106 Independent_property_arm ISO/TS 10303-1036 Identification_assignment_arm ISO/TS 10303-1021 Plib_class_reference_arm ISO/TS 10303-1291 Product_view_definition_arm ISO/TS 10303-1019
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
The classification_item_extended type is an extension of the classification_item type. It adds the data type classified_element_select to the list of alternate data types.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
classification_item_extended =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
classification_item
WITH
(classified_element_select);
END_TYPE;
(*
The classified_element_select type is an extensible list of alternate data types that allows for the designation of the data types Product, Product_version, and Product_view_definition.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
classified_element_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
(Product,
Product_version,
Product_view_definition);
END_TYPE;
(*
The definable_objects type allows for the designation of the data types Product, Product_version, and Product_view_definition.
EXPRESS specification:
*)
TYPE
definable_objects =
SELECT
(Product,
Product_version,
Product_view_definition);
END_TYPE;
(*
The external_class_select type allows for the designation of the data types Plib_class_reference and External_class.
EXPRESS specification:
*)
TYPE
external_class_select =
SELECT
(Plib_class_reference,
External_class);
END_TYPE;
(*
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
NOTE The Class_hierarchy is used to build up hierarchical structures of Class_with_attributes instances.
EXAMPLE With Class_with_attributes, part families such as screws can be classified. Additionally subclasses can be built and linked to the super-category screws, such as machine screw or self-tapping screw.
EXPRESS specification:
*)
ENTITY Class_hierarchy;
super_class : Class_with_attributes;
sub_class : Class_with_attributes;
END_ENTITY;
(*
Attribute definitions:
super_class: the higher level of Class_with_attributes in a Class_hierarchy that includes the sub class.
sub_class: the lower level of Class_with_attributes in a Class_hierarchy that is included in the super class.
EXAMPLE 1 A standard type of screws can be classified according to its head type, its diameter and its length.
EXPRESS specification:
*)
ENTITY Class_with_attributes
SUBTYPE OF (Class);
version_id :
OPTIONAL
STRING;
used_classification_system :
OPTIONAL
Classification_system;
INVERSE
characterization_attributes : SET[0:?] OF Classification_attribute FOR characterized_class;
END_ENTITY;
(*
Attribute definitions:
version_id: the identification of a particular version of a Class_with_attributes. The value of the attribute need not be specified.
used_classification_system: the Classification_system that contains the information about the definition of the classification and how to interpret the name of the Class_with_attributes. The value of the attribute need not be specified.
EXAMPLE 2 For facilitating an effective part retrieval for slotted screws, several instances of Class_with_attributes may be defined to classify screws:
Each of these instances is based on a Classification_system that further defines where the definition of the classification comes from. For *1, this is a company internal Classification_system for 'screw classes'. For the other instances, these are Classification_system instances identifying ISO standards, namely for *2 'ISO 1207', for *3 'ISO 1580', and for *4 'ISO 2009'.
characterization_attributes: the Classification_attribute instances that characterize the Class_with_attributes.
EXAMPLE 3 According to ISO 1207, the Class_with_attributes *2 has the attributes *11 with id 'd' and name 'thread', *12 with id 'l' and name 'nominal length', *13 with id 'mechanical properties' and name 'property class', and so on. The possible values 'M1.6', 'M2', ..., 'M10' for Classification_attribute *11 may be defined as instances of a subtype of Measure_item. The thread class name, 'M1.6', 'M2', ..., is represented within the name attribute of the referenced instances of Measure_item.
EXPRESS specification:
*)
ENTITY Classification_association
SUBTYPE OF (Classification_assignment);
SELF\Classification_assignment.assigned_class : Class_with_attributes;
definitional : LOGICAL;
WHERE
WR1: NOT(definitional = TRUE) OR
(SIZEOF(QUERY(it<* SELF\Classification_assignment.items |
NOT('CLASSIFICATION_WITH_ATTRIBUTES_ARM.DEFINABLE_OBJECTS' IN TYPEOF(it)) )) = 0);
WR2: SIZEOF(QUERY(it<* SELF\Classification_assignment.items |
NOT('CLASSIFICATION_WITH_ATTRIBUTES_ARM.CLASSIFIED_ELEMENT_SELECT' IN TYPEOF(it)) )) =0;
END_ENTITY;
(*
Attribute definitions:
assigned_class: the Class_with_attributes instance that provides classification information.
definitional: a logical value that specifies whether a Class_with_attributes serves as definition of the classified element. A value of 'true' indicates that the Class_with_attributes is definitional.
Formal propositions:
WR1: When definitional is true, the Class_with_attributes shall be assigned to instances of type definable_objects.
WR2: Only items of types listed in classified_element_select shall be referred to by a Classification_association.
EXPRESS specification:
*)
ENTITY Classification_attribute;
id : STRING;
name :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
allowed_values :
OPTIONAL
SET[1:?] OF Measure_item;
characterized_class : Class_with_attributes;
attribute_definition : Independent_property;
END_ENTITY;
(*
Attribute definitions:
id: the identifier of the Classification_attribute. This identifier shall be unique within the scope of the associated Class_with_attributes.
name: the word or group of words by which the Classification_attribute is referred to. The value of the attribute need not be specified.
EXAMPLE 'length', 'width', or 'radius' are examples for the name of a Classification_attribute.
description: a text that provides additional information about the Classification_attribute. The value of the attribute need not be specified.
allowed_values: the set of instances of Measure_item that specify the allowed values of the Classification_attribute. The value of the attribute need not be specified.
NOTE The values may be specified as single values or value ranges.
characterized_class: the Class_with_attributes of which the Classification_attribute defines a characteristic.
attribute_definition: specifies a role of the Independent_property for the Classification_attribute.
EXAMPLE A dictionary collecting the conventional definitions of technical properties is an example of Classification_system.
EXPRESS specification:
*)
ENTITY Classification_system;
id : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
(*
Attribute definitions:
id: the identifier of the Classification_system.
description: a text that provides additional information about the Classification_system. The value of the attribute need not be specified.
EXAMPLE The classification may be defined in an ISO 13584 compliant library (PLIB). In this case, the External_class_with_attributes references as a classification source a Plib_class_reference that has an id corresponding to the class BSU, that is a world wide unique identification of that class as defined according to ISO 13584-42.
EXPRESS specification:
*)
ENTITY External_class_with_attributes
SUBTYPE OF (Class_with_attributes);
source : external_class_select;
END_ENTITY;
(*
Attribute definitions:
source: the Plib_class_reference or External_class that identifies the external specification of the External_class_with_attributes.
*)
END_SCHEMA; -- Classification_with_attributes_arm
(*
© ISO 2019 — All rights reserved