Application module: Classification with attributes ISO/TS 10303-1111:2019(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions
     5.2.2 MIM entity definitions
     5.2.3 MIM function definition
     5.2.4 MIM rule definitions

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

4 Information requirements

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

4.1 Required AM ARMs

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.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 classification_item_extended   EXPRESS-G

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

4.2.2 classified_element_select   EXPRESS-G

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

4.2.3 definable_objects   EXPRESS-G

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

4.2.4 external_class_select   EXPRESS-G

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

4.3 ARM entity definitions

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.

4.3.1 Class_hierarchy   EXPRESS-GMapping table

A Class_hierarchy is a hierarchical relationship between two instances of Class_with_attributes.

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.

4.3.2 Class_with_attributes   EXPRESS-GMapping table

A Class_with_attributes is a type of Class that may be defined with a set of valued parameters.

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.

4.3.3 Classification_association   EXPRESS-GMapping table

A Classification_association is a type of Classification_assignment that associates a Class_with_attributes with product or activity data.

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.

4.3.4 Classification_attribute   EXPRESS-GMapping table

A Classification_attribute is a characteristic of a Class_with_attributes. A set of values may precise the allowed values of that characteristic.

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.

4.3.5 Classification_system   EXPRESS-GMapping table

A Classification_system is a schema defining classifications of product or activity data.

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.

4.3.6 External_class_with_attributes   EXPRESS-GMapping table

An External_class_with_attributes is a type of Class_with_attributes that is defined in an external library.

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