Application module: Specification control ISO/TS 10303-1112: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
   4.4 ARM function definition
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 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 Application module implementation and usage guide
G Change history
Bibliography
Index

5.2 MIM EXPRESS short listing

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 Specification_control_mim;

USE FROM Alternative_solution_mim;    --  ISO/TS 10303-1109

USE FROM Part_collection_mim;    --  ISO/TS 10303-1115

USE FROM Product_placement_mim;    --  ISO/TS 10303-1343

USE FROM Requirement_view_definition_mim;    --  ISO/TS 10303-1141

USE FROM Specification_based_configuration_mim;    --  ISO/TS 10303-1108

USE FROM product_definition_schema    --  ISO 10303-41
  (product_definition_substitute);
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Alternative_solution_mim ISO/TS 10303-1109
Part_collection_mim ISO/TS 10303-1115
Product_placement_mim ISO/TS 10303-1343
Requirement_view_definition_mim ISO/TS 10303-1141
Specification_based_configuration_mim ISO/TS 10303-1108
product_definition_schema ISO 10303-41

NOTE 2   See Annex D, Figures D.1and D.2 for a graphical representation of this schema.

5.2.1 MIM type definitions

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

5.2.1.1 class_usage_effectivity_context_item   EXPRESS-G

The class_usage_effectivity_context_item type allows for the designation of the data type product_definition.

EXPRESS specification:

*)
TYPE class_usage_effectivity_context_item = SELECT
   (product_definition);
END_TYPE;
(*

5.2.1.2 effectivity_specification_for_replacement   EXPRESS-G

The effectivity_specification_for_replacement type is an extension of the effectivity_item type. It adds the data type product_definition_substitute to the list of alternate data types.

EXPRESS specification:

*)
TYPE effectivity_specification_for_replacement = SELECT BASED_ON effectivity_item WITH
   (product_definition_substitute);
END_TYPE;
(*

5.2.1.3 instance_usage_context_select   EXPRESS-G

The instance_usage_context_select type is an extensible list of alternate data types that allows for the designation of the data types product_definition_relationship and product_definition_usage.

NOTE   The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE instance_usage_context_select = EXTENSIBLE GENERIC_ENTITY SELECT
   (product_definition_relationship,
    product_definition_usage);
END_TYPE;
(*

5.2.2 MIM entity definitions

This subclause specifies the MIM entities for this module. The MIM entities and definitions are specified below.

5.2.2.1 class_usage_effectivity_context_assignment   EXPRESS-G

A class_usage_effectivity_context_assignment is a type of effectivity_context_assignment that implements the ARM concept of Specification_category_breakdown_influence. A class_usage_effectivity_context_assignment assigns an applied_effectivity_assignment specifying the effectivity_items that impact the design of a solution for a class_usage_effectivity_context_item.

EXPRESS specification:

*)
ENTITY class_usage_effectivity_context_assignment
  SUBTYPE OF (effectivity_context_assignment);
  items : SET[1:?] OF class_usage_effectivity_context_item;
WHERE
  WR1: SELF.role.name = 'class usage influence';
  WR2: SIZEOF( QUERY( i <* SELF.items | NOT ('PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(i)) )) = 0;
  WR3: ('EFFECTIVITY_APPLICATION_MIM.APPLIED_EFFECTIVITY_ASSIGNMENT' IN TYPEOF(SELF.assigned_effectivity_assignment)) AND (SIZEOF(TYPEOF(SELF.assigned_effectivity_assignment.assigned_effectivity) ) = 1) AND (SELF.assigned_effectivity_assignment.assigned_effectivity.id = 'class usage') AND (SIZEOF( QUERY( i <* SELF.assigned_effectivity_assignment\applied_effectivity_assignment.items | NOT('PRODUCT_CLASS_MIM.PRODUCT_CONCEPT_FEATURE_CATEGORY_USAGE' IN TYPEOF(i)) )) = 0);
END_ENTITY;
(*

Attribute definitions:

items: the set of items for which the applied_effectivity_assignment identifies a design impact.

Formal propositions:

WR1: The class_usage_effectivity_context_assignment shall have a role with a name of 'class usage influence'.

WR2: The class_usage_effectivity_context_assignment shall only have instances of product_definition in its set of items which reference as "frame of reference" a product_definition_context with name 'conceptual definition'.

WR3: The class_usage_effectivity_context_assignment shall reference an applied_effectivity_assignment with an "assigned effectivity" which is not of an effectivity subtype and which has an id of 'class usage' and which has only product_concept_feature_category_usage objects in the set of items.

5.2.2.2 instance_usage_context_assignment   EXPRESS-G

An instance_usage_context_assignment is a type of product_definition_context.

EXPRESS specification:

*)
ENTITY instance_usage_context_assignment
  SUBTYPE OF (product_definition_context);
  items : SET[1:?] OF instance_usage_context_select;
END_ENTITY;
(*

Attribute definitions:

items: specifies a set of instance_usage_context_select.

5.2.3 MIM rule definitions

This subclause specifies the MIM rules for this module. The MIM rules and definitions are specified below.

5.2.3.1 breakdown_element_requires_product_definition

The breakdown_element_requires_product_definition rule constrains any instance of product_definition_formation that represents a version of a functional element or of a physical element to have at least a corresponding definition.

EXPRESS specification:

*)
RULE breakdown_element_requires_product_definition FOR
(product_definition_formation);
WHERE
  WR1: SIZEOF ( QUERY ( pdf <* product_definition_formation | ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | prpc.name = 'functionality' ) ) = 1 ) AND ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf ,'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION.FORMATION') | pd.frame_of_reference.name = 'functional definition' ) ) <1 ) ) ) = 0;
  WR2: SIZEOF ( QUERY ( pdf <* product_definition_formation | ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | prpc.name = 'conceptual design' ) ) = 1 ) AND ( SIZEOF (QUERY ( pd <* USEDIN ( pdf , 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION.FORMATION' ) | pd.frame_of_reference.name = 'conceptual definition' ) ) <1) ) ) = 0;
END_RULE;
(*

Argument definitions:

product_definition_formation : the set of all instances of product_definition_formation.

Formal propositions:

WR1: Any product_definition_formation that represents a version of a function element shall be referred by at least one "product definition" whose frame of reference name is 'functional definition'.

WR2: Any product_definition_formation that represents a version of a physical element shall be referred by at least one "product definition" whose frame of reference name is 'conceptual definition'.

5.2.3.2 constraint_definition_requires_constraint_category

The constraint_definition_requires_constraint_category rule constrains any instance of product_definition whose frame of reference name is 'design constraint definition', to be a definition of a product of category 'requirement'.

EXPRESS specification:

*)
RULE constraint_definition_requires_constraint_category FOR
(product_definition);
LOCAL
      constraint_definitions: SET OF product_definition := [];
    END_LOCAL;
      constraint_definitions :=  QUERY( pd <* product_definition |
      (pd.frame_of_reference.name = 'design constraint definition'));
WHERE
  WR1: SIZEOF ( QUERY ( pd <* constraint_definitions | ( SIZEOF ( QUERY ( prpc <* USEDIN ( pd.formation.of_product , 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | prpc. name ='requirement' ) ) =0 ) ) ) =0;
END_RULE;
(*

Argument definitions:

product_definition : the set of all instances of product_definition.

Formal propositions:

WR1: There shall not be any instance of product_definition whose frame of reference name is 'design constraint definition' and which is not a definition of a product of category 'requirement'.

5.2.3.3 design_constraint_requires_product_definition

The design_constraint_requires_product_definition rule constrains any instance of product_definition_formation of a product of category 'requirement' to have at least a corresponding definition.

EXPRESS specification:

*)
RULE design_constraint_requires_product_definition FOR
(product_definition_formation);
WHERE
  WR1: SIZEOF ( QUERY ( pdf <* product_definition_formation | ( SIZEOF ( QUERY ( prpc <* USEDIN ( pdf.of_product , 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_RELATED_PRODUCT_CATEGORY.PRODUCTS' ) | prpc.name = 'requirement' ) ) >0 ) AND ( SIZEOF ( QUERY ( pd <* USEDIN ( pdf , 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION.FORMATION') | pd.frame_of_reference.name = 'design constraint definition' ) ) <1 ) ) ) = 0;
END_RULE;
(*

Argument definitions:

product_definition_formation : the set of all instances of product_definition_formation.

Formal propositions:

WR1: Any product_definition_formation of a product of category 'requirement' shall be referred by at least one product_definition whose frame of reference name is 'design constraint definition'.

5.2.3.4 restrict_configuration_design_for_class_breakdown_association

The restrict_configuration_design_for_class_breakdown_association constrains any instance of configuration_design that has a name 'functionality' to refer with its design attribute to a product_definition whose frame_of_reference name is 'functional definition'.

It also constrains any instance of configuration_design that has a name 'realization' to refer with its design attribute to a product_definition whose frame_of_reference name is 'conceptual definition'.

In both cases, the item_concept indirectly referred to, shall be a product_class.

EXPRESS specification:

*)
RULE restrict_configuration_design_for_class_breakdown_association FOR
(configuration_design);
WHERE
  WR1: SIZEOF ( QUERY ( cd <* configuration_design | ( cd.name ='functionality' ) AND ( NOT ( 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF ( cd. design ) ) OR ( cd.design\product_definition.frame_of_reference.name<> 'functional definition' ) ) ) ) =0;
  WR2: SIZEOF ( QUERY ( cd <* configuration_design | ( cd.name='realization' ) AND ( NOT ( 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR ( cd.design\product_definition.frame_of_reference.name<> 'conceptual definition' ) ) ) ) =0;
  WR3: SIZEOF ( QUERY ( cd <* configuration_design | ( cd.name IN ['functionality' , 'realization'] ) AND ( NOT ('PRODUCT_CLASS_MIM.PRODUCT_CLASS' IN TYPEOF ( cd.configuration.item_concept ) ) ) ) ) =0;
END_RULE;
(*

Argument definitions:

configuration_design : the set of all instances of configuration_design.

Formal propositions:

WR1: There shall not be any instance of configuration_design that has a name 'functionality' that does not refer with its design attribute to a product_definition whose frame_of_reference name is 'functional definition'.

WR2: There shall not be any instance of configuration_design that has a name 'realization' that does not refer with its design attribute to a product_definition whose frame_of_reference name is 'conceptual definition'.

WR3: There shall not be any instance of configuration_design that has a name 'realization' or 'functionality', that does not indirectly refer to an item_concept of type product_class.

5.2.3.5 restrict_configuration_design_for_design_constraint

The restrict_configuration_design_for_design_constraint constrains any instance of configuration_design that has a name 'design constraint usage' to refer with its design attribute to a product_definition whose frame_of_reference name is 'design constraint definition'.

NOTE    This ensures that use configuration_design to represent a "Design constraint context association" is correct.

EXPRESS specification:

*)
RULE restrict_configuration_design_for_design_constraint FOR
(configuration_design);
WHERE
  WR1: SIZEOF ( QUERY (cd <* configuration_design | (cd.name = 'design constraint usage') AND (NOT('PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF ( cd.design ) ) OR (cd.design\product_definition.frame_of_reference.name <> 'design constraint definition')))) = 0;
END_RULE;
(*

Argument definitions:

configuration_design : the set of all instances of configuration_design.

Formal propositions:

WR1: There shall not be any instance of configuration_design that has a name 'design constraint usage', that does not refer with its design attribute to a product_definition whose frame_of_reference name is 'design constraint definition'.

5.2.3.6 restrict_product_definitions_for_design_constraint_association

The restrict_product_definitions_for_design_constraint_association rule constrains any instance of product_definition_relationship of type 'design constraint association' to have:

EXPRESS specification:

*)
RULE restrict_product_definitions_for_design_constraint_association FOR
(product_definition_relationship);
WHERE
  WR1: SIZEOF ( QUERY ( pdr <* product_definition_relationship | ( pdr. name = 'design constraint association' ) AND ( (pdr. relating_product_definition.frame_of_reference.name<>'design constraint definition' ) OR NOT ( pdr.related_product_definition.frame_of_reference.name IN ['alternative definition' , 'functional definition' ,'conceptual definition' ] ) ) ) ) =0;
END_RULE;
(*

Argument definitions:

product_definition_relationship : the set of all instances of product_definition_relationship.

Formal propositions:

WR1: There shall not be any instance of product_definition_relationship of type 'design constraint association' that does not have:



*)
END_SCHEMA;  -- Specification_control_mim
(*


© ISO 2019 — All rights reserved