Application module: Specification based configuration ISO/TS 10303-1108:2018-11(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 definition
   4.4 ARM function definitions
   4.5 ARM rule 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

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 Specification based configuration 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 Specification_based_configuration_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Specification_based_configuration_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 Effectivity_application_arm;    --  ISO/TS 10303-1059

USE FROM Product_class_arm;    --  ISO/TS 10303-1103
(*

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

Effectivity_application_arm ISO/TS 10303-1059
Product_class_arm ISO/TS 10303-1103

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 configuration_inheritance_types   EXPRESS-G

The configuration_inheritance_types type specifies whether or not an inheritance scheme for the configuration information in a hierarchical structure is applied to the instance referenced as the configured_element.

EXPRESS specification:

*)
TYPE configuration_inheritance_types = ENUMERATION OF
   (exception_case,
    full_inheritance,
    no_inheritance);
END_TYPE;
(*

Enumerated item definitions:

exception_case: no inheritance scheme is applicable and all required configuration information must be attached locally at the application object. The value indicates that the configuration information may be inconsistent to the structural levels above it or that it is, on purpose, contradictory to it. Such a condition implies that an inheritance scheme shall not continue beyond this point in the product structure tree;

full_inheritance: a scheme for inheritance of configuration information applies. The complete configuration information shall be collected from the different levels in the structure by evaluation of results. The results shall be evaluated using the logical AND to combine configuration information starting at the referenced configured_element and using the logical OR to combine alternatives. In addition, this evaluation shall consider related effectivity information. 'inherited' only applies for objects for which the same value of configuration_type is defined;

no_inheritance: no inheritance scheme is applicable and all required configuration information must be attached locally at the application object. Nevertheless, any potentially inherited configuration information of a higher level shall be consistent, that is, be a subset of the locally defined configuration information.

4.2.2 configuration_kind   EXPRESS-G

The configuration_kind type specifies the valid usage of a Configuration instance that is applied to a configured_element.

EXPRESS specification:

*)
TYPE configuration_kind = ENUMERATION OF
   (usage,
    design);
END_TYPE;
(*

Enumerated item definitions:

usage: the object referenced as configured_element is controlled by a Configuration. The Class_condition_association and Class_specification_association instances specify the usage cases and are referenced as the is_solution_for.

design: the object referenced as configured_element has to be designed and verified before it can actually be used in a given context.

4.2.3 configured_item_select   EXPRESS-G

The configured_item_select type is an extensible list of alternate data types. Additional alternate data types are specified in select data types that extend the configured_item_select type.

NOTE   This empty extensible select requires extension in a further module to ensure that entities that refer to it have at least one valid instantiation.

EXPRESS specification:

*)
TYPE configured_item_select = EXTENSIBLE GENERIC_ENTITY SELECT;
END_TYPE;
(*

4.2.4 configured_specification_select   EXPRESS-G

The configured_specification_select type allows for the designation of the data types Class_condition_association, and Class_specification_association.

EXPRESS specification:

*)
TYPE configured_specification_select = SELECT
   (Class_condition_association,
    Class_specification_association);
END_TYPE;
(*

4.2.5 effectivity_for_configuration   EXPRESS-G

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

EXPRESS specification:

*)
TYPE effectivity_for_configuration = SELECT BASED_ON effectivity_item WITH
   (Configuration);
END_TYPE;
(*

4.3 ARM entity definition

This subclause specifies the ARM entity for this module. The ARM entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entity and definition is specified below.

4.3.1 Configuration   EXPRESS-GMapping table

A Configuration is the association of a Class_condition_association or a Class_specification_association instance with a design or with a process in order to define a valid usage of it in the context of a certain Product_class.

EXPRESS specification:

*)
ENTITY Configuration;
  configured_element : configured_item_select;
  is_solution_for : configured_specification_select;
  configuration_type : configuration_kind;
  inheritance_type : configuration_inheritance_types;
WHERE
  WR1: consistent_configuration_type(SELF);
END_ENTITY;
(*

Attribute definitions:

configured_element: the element that is controlled for its valid usage by the Configuration.

is_solution_for: the characteristic or combination of characteristics for which the instance referenced as the configured_element provides a solution or which is needed to control a process operation. These characteristics are defined by a Class_specification_association and combinations of characteristics are defined by a Class_condition_association.

configuration_type: relates to a configuration_kind in order to specify the valid usage of a Configuration instance that is applied to the element as configured_element.

inheritance_type: relates to a configuration_inheritance_types in order to specify whether or not an inheritance scheme for the configuration information in a hierarchical structure is applied to the instance referenced as the configured_element.

Formal propositions:

WR1: The type of the Configuration instance shall be consistent with the type of the Class_condition_association or Class_specification_association instance for which the first is_solution_for.

4.4 ARM function definitions

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

4.4.1 consistent_configuration_type

The consistent_configuration_type function ensures that the type of a Configuration instance is consistent with the type of the associated Class_condition_association or Class_specification_association instance.

EXPRESS specification:

*)
FUNCTION consistent_configuration_type (config : Configuration) : BOOLEAN;
IF ('PRODUCT_CLASS_ARM.CLASS_CONDITION_ASSOCIATION' IN TYPEOF(config.is_solution_for)) THEN
  IF config.configuration_type = configuration_kind.usage THEN
    RETURN(config.is_solution_for\Class_condition_association.condition_type ='part usage');
  ELSE
    RETURN(config.is_solution_for\Class_condition_association.condition_type ='design case');
  END_IF;
END_IF;

IF ('PRODUCT_CLASS_ARM.CLASS_SPECIFICATION_ASSOCIATION' IN TYPEOF(config.is_solution_for)) THEN
  IF config.configuration_type = configuration_kind.usage THEN
    RETURN(config.is_solution_for\Class_specification_association.association_type ='part usage');
  ELSE 
    RETURN(config.is_solution_for\Class_specification_association.association_type ='design case');
  END_IF;
END_IF;

RETURN(FALSE);
END_FUNCTION;
(*

Argument definitions:

config: the Configuration instance whose type is validated in relation to the type of the Class_condition_association or Class_specification_association instance associated.

4.4.2 type_of_set

The type_of_set function returns a string which contains the type of the items.

EXPRESS specification:

*)
FUNCTION type_of_set (items : SET[0:?] OF GENERIC_ENTITY) : SET[0:?] OF STRING;
LOCAL
  result: SET OF STRING:= [];
END_LOCAL;

REPEAT i:=1 TO HIINDEX(items);
  result := result + TYPEOF(items[i]);
END_REPEAT;
RETURN(result);
END_FUNCTION;
(*

Argument definitions:

items: the instances whose type is consulted.

4.5 ARM rule definition

This subclause specifies the ARM rule for this module. The ARM rule and definition is specified below.

4.5.1 restrict_to_dated_effectivity

The restrict_to_dated_effectivity rule ensures that effectivity information assigned to an instance of Configuration is only of type Dated_effectivity.

EXPRESS specification:

*)
RULE restrict_to_dated_effectivity FOR
(Effectivity_assignment);
LOCAL
  ndea_set : SET OF Effectivity_assignment := [];
END_LOCAL;
  ndea_set := QUERY(ea <* Effectivity_assignment | 
	NOT ('EFFECTIVITY_ARM.DATED_EFFECTIVITY' IN TYPEOF(ea.assigned_effectivity)));
WHERE
  WR1: SIZEOF(QUERY(ea <* ndea_set | (SIZEOF(['SPECIFICATION_BASED_CONFIGURATION_ARM.CONFIGURATION']*type_of_set(ea.items))>0) )) =0;
END_RULE;
(*

Argument definitions:

Effectivity_assignment : the set of all instances of Effectivity_assignment.

Formal propositions:

WR1: There shall not be any instance of Effectivity_assignment, specifying effectivity for a Configuration, such that the assigned effectivity is not of type Dated_effectivity.



*)
END_SCHEMA;  -- Specification_based_configuration_arm
(*


© ISO 2018 — All rights reserved