| Application module: Production rule | ISO/TS 10303-1739:2019(E) © ISO | 
This clause specifies the EXPRESS schema derived from the mapping table. It uses elements from the common resources or from other application modules and defines the EXPRESS constructs that are specific to this part of ISO 10303.
This clause constitutes the Module Interpreted Module (MIM) of the application module.
This clause also specifies the modifications that apply to the constructs imported from the common resources.
The following restrictions apply to the use, in this schema, of constructs defined in common resources or in application modules:
Short names of entities defined in this schema are described in Annex A. Unambiguous identification of this schema is defined in Annex B.
EXPRESS specification:
         *)
            SCHEMA Production_rule_mim;
            USE FROM
            Activity_mim;
               -- 
            ISO/TS 10303-1047
            USE FROM
            Date_time_assignment_mim;
               -- 
            ISO/TS 10303-1014
            USE FROM
            Identification_assignment_mim;
               -- 
            ISO/TS 10303-1021
            USE FROM
            product_definition_schema
            
               -- 
            ISO 10303-41
  (product_definition_relationship,
            
            
            
              
            product_related_product_category);
            
            USE FROM
            Product_identification_mim;
               -- 
            ISO/TS 10303-1017
            USE FROM
            product_property_definition_schema
            
               -- 
            ISO 10303-41
  (property_definition);
            
            USE FROM
            product_property_representation_schema
            
               -- 
            ISO 10303-41
  (property_definition_representation);
            
            USE FROM
            representation_schema
            
               -- 
            ISO 10303-43
  (representation_item_relationship);
            
            USE FROM
            Software_mim;
               -- 
            ISO/TS 10303-1746
            USE FROM
            Specification_document_mim;
               -- 
            ISO/TS 10303-1747
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Activity_mim ISO/TS 10303-1047 Date_time_assignment_mim ISO/TS 10303-1014 Identification_assignment_mim ISO/TS 10303-1021 product_definition_schema ISO 10303-41 Product_identification_mim ISO/TS 10303-1017 product_property_definition_schema ISO 10303-41 product_property_representation_schema ISO 10303-41 representation_schema ISO 10303-43 Software_mim ISO/TS 10303-1746 Specification_document_mim ISO/TS 10303-1747 
NOTE 2 See Annex D, Figures D.1, D.2and D.3 for a graphical representation of this schema.
This subclause specifies the MIM types for this application module. The MIM types and definitions are specified below.

The pr_action_items type is an extension of the action_items type. It adds the data types product_definition_formation and rule_set 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 
            pr_action_items =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            action_items
            WITH 
            
               (product_definition_formation, 
    rule_set);
            END_TYPE; 
            (*
            

The pr_date_and_time_item type is an extension of the date_and_time_item type. It adds the data type rule_action 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 
            pr_date_and_time_item =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            date_and_time_item
            WITH 
            
               (rule_action);
            END_TYPE; 
            (*
            

The pr_document_reference_item type is an extension of the document_reference_item type. It adds the data type rule_set 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 
            pr_document_reference_item =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            document_reference_item
            WITH 
            
               (rule_set);
            END_TYPE; 
            (*
            

The pr_identification_item type is an extension of the identification_item type. It adds the data type rule_set 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 
            pr_identification_item =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            identification_item
            WITH 
            
               (rule_set);
            END_TYPE; 
            (*
            

The pr_organization_item type is an extension of the organization_item type. It adds the data type rule_action 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 
            pr_organization_item =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            organization_item
            WITH 
            
               (rule_action);
            END_TYPE; 
            (*
            

The pr_person_and_organization_item type is an extension of the person_and_organization_item type. It adds the data type rule_action 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 
            pr_person_and_organization_item =
            
            EXTENSIBLE
            
            GENERIC_ENTITY
            
            
            SELECT
            BASED_ON 
            person_and_organization_item
            WITH 
            
               (rule_action);
            END_TYPE; 
            (*
            

The rule_superseded_item type allows for the designation of the data type product_definition_formation.
EXPRESS specification:
            *)
            TYPE 
            rule_superseded_item =
            
            
            SELECT
               (product_definition_formation);
            END_TYPE; 
            (*
            
This subclause specifies the MIM entities for this module. The MIM entities and definitions are specified below.

EXPRESS specification:
            *)
            ENTITY abstract_variable
              SUBTYPE OF (property_definition, property_definition_representation, representation, representation_item);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY atomic_formula
              SUBTYPE OF (compound_representation_item);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY attribute_assertion
              SUBTYPE OF (fact_type, property_definition_representation, representation);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY back_chaining_rule
              SUBTYPE OF (rule_definition);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY back_chaining_rule_body
              SUBTYPE OF (property_definition, property_definition_representation, representation);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY complex_clause
              SUBTYPE OF (compound_representation_item);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY complex_conjunctive_clause
              SUBTYPE OF (complex_clause);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY complex_disjunctive_clause
              SUBTYPE OF (complex_clause);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY entity_assertion
              SUBTYPE OF (fact_type);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY enum_reference_prefix
              SUBTYPE OF (descriptive_representation_item);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY extent
              SUBTYPE OF (characterized_object);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY fact_type
              SUBTYPE OF (property_definition);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY forward_chaining_rule
              SUBTYPE OF (rule_definition);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY forward_chaining_rule_premise
              SUBTYPE OF (property_definition, property_definition_representation, representation);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY func
              SUBTYPE OF (compound_representation_item);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY global_assignment
              SUBTYPE OF (representation_item_relationship);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY ground_fact
              SUBTYPE OF (atomic_formula);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY literal_conjunction
              SUBTYPE OF (simple_clause);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY literal_disjunction
              SUBTYPE OF (simple_clause);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY row_value
              SUBTYPE OF (compound_representation_item);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY row_variable
              SUBTYPE OF (abstract_variable);
            END_ENTITY;
(*
            

A rule_action is a type of action that implements the ARM concepts of:
EXPRESS specification:
            *)
            ENTITY rule_action
              SUBTYPE OF (action);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY rule_condition
              SUBTYPE OF (atomic_formula);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY rule_definition
              SUBTYPE OF (rule_software_definition);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY rule_set
              SUBTYPE OF (rule_software_definition);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY rule_set_group
              SUBTYPE OF (rule_software_definition);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY rule_software_definition
              SUBTYPE OF (product_definition);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY rule_superseded_assignment
              SUBTYPE OF (action_assignment);
            
            
            
              items : SET[1:?] OF rule_superseded_item;
            END_ENTITY;
(*
            
Attribute definitions:
items: specifies a role of the rule_superseded_item for the rule_superseded_assignment. There shall be one or more rule_superseded_items for a rule_superseded_assignment.

EXPRESS specification:
            *)
            ENTITY rule_supersedence
              SUBTYPE OF (rule_action);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY scalar_variable
              SUBTYPE OF (abstract_variable);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY simple_clause
              SUBTYPE OF (compound_representation_item);
            END_ENTITY;
(*
            

EXPRESS specification:
            *)
            ENTITY symbol
              SUBTYPE OF (representation_item);
            END_ENTITY;
(*
            
         *)
         END_SCHEMA;  -- Production_rule_mim
(*
         © ISO 2019 — All rights reserved