| Application module: Classification with attributes | ISO/TS 10303-1111:2019(E)  © ISO  | 
         
         (*
ISO/TC 184/SC 4/WG 12 N7960 - ISO/TS 10303-1111 Classification with attributes - EXPRESS ARM
Supersedes 
         ISO/TC 184/SC 4/WG 12 N7397
*)
         
SCHEMA Classification_with_attributes_arm;
         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
TYPE classification_item_extended =
         
         EXTENSIBLE
         
         GENERIC_ENTITY
         
         
         SELECT
         BASED_ON
         classification_item
         WITH 
         
            (classified_element_select);
         END_TYPE; 
         
TYPE classified_element_select =
         
         EXTENSIBLE
         
         GENERIC_ENTITY
         
         
         SELECT
            (Product, 
    Product_version, 
    Product_view_definition);
         END_TYPE; 
         
TYPE definable_objects =
         
         
         SELECT
            (Product, 
    Product_version, 
    Product_view_definition);
         END_TYPE; 
         
TYPE external_class_select =
         
         
         SELECT
            (Plib_class_reference, 
    External_class);
         END_TYPE; 
         
ENTITY Class_hierarchy;
           super_class : Class_with_attributes;
           sub_class : Class_with_attributes;
         
         END_ENTITY;
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;
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;
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;
ENTITY Classification_system;
           id : STRING;
           description : 
         OPTIONAL 
         STRING;
         
         END_ENTITY;
ENTITY External_class_with_attributes
           SUBTYPE OF (Class_with_attributes);
           source : external_class_select;
         
         END_ENTITY;
         END_SCHEMA;  -- Classification_with_attributes_arm
© ISO 2019 — All rights reserved