Application module: Product class ISO/TS 10303-1103: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 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 Product class 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 Product_class_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Product_class_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 Group_arm;    --  ISO/TS 10303-1113

USE FROM Identification_assignment_arm;    --  ISO/TS 10303-1021

USE FROM Product_concept_identification_arm;    --  ISO/TS 10303-1060

USE FROM Property_assignment_arm;    --  ISO/TS 10303-1030
(*

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

Classification_assignment_arm ISO/TS 10303-1114
Group_arm ISO/TS 10303-1113
Identification_assignment_arm ISO/TS 10303-1021
Product_concept_identification_arm ISO/TS 10303-1060
Property_assignment_arm ISO/TS 10303-1030

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

The expression_operator type is an enumeration of the following Boolean operators:

NOTE    These operators can be used in a Specification_expression.

In the case where these operators are used in a Specification_expression, evaluation of the operation is done in the context of a product. The result depends on the operators in the expression and on whether that product, that may be represented within an instance of Product_specification, possesses or not the specifications that are referred to in the Specification_expression.

EXPRESS specification:

*)
TYPE expression_operator = ENUMERATION OF
   (or_operator,
    and_operator,
    oneof_operator,
    not_operator);
END_TYPE;
(*

Enumerated item definitions:

or_operator: a logical operation that is true if at least one of the operands is true.

and_operator: a logical operation that is true if every operand is true.

oneof_operator: a logical operation that is true if only one of the operands is true.

not_operator: a logical operation that is true if none of the operands is true.

4.2.2 specification_operand_select   EXPRESS-G

The specification_operand_select type allows for the designation of the data types Specification_expression and Specification.

EXPRESS specification:

*)
TYPE specification_operand_select = SELECT
   (Specification_expression,
    Specification);
END_TYPE;
(*

4.2.3 id_for_class   EXPRESS-G

The id_for_class type is an extension of the identification_item type. It adds the data type Product_class to the list of alternate data types.

EXPRESS specification:

*)
TYPE id_for_class = SELECT BASED_ON identification_item WITH
   (Product_class);
END_TYPE;
(*

4.2.4 pc_classification_item   EXPRESS-G

The pc_classification_item type is an extension of the classification_item type. It adds the data types Specification and Specification_category to the list of alternate data types.

EXPRESS specification:

*)
TYPE pc_classification_item = SELECT BASED_ON classification_item WITH
   (Specification,
    Specification_category);
END_TYPE;
(*

4.2.5 pc_property_assignment_select   EXPRESS-G

The pc_property_assignment_select type is an extension of the property_assignment_select type. It adds the data types Specification and Specification_category to the list of alternate data types.

EXPRESS specification:

*)
TYPE pc_property_assignment_select = SELECT BASED_ON property_assignment_select WITH
   (Specification,
    Specification_category);
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_category_association   EXPRESS-GMapping table

A Class_category_association is the association of a Specification_category with a Product_class.

This assignment specifies that the related category of specifications is relevant for the products of the Product_class. In addition, it specifies if the usage of one or more specifications belonging to this Specification_category, is mandatory or optional for all products of that Product_class.

EXAMPLE 1   A category of specifications characterizing the available colours may be associated with a Product_class characterizing a family of seats.

NOTE    The assignment of a Specification_category to a Product_class does not replace the association of single members of the Specification_category to the Product_class.

EXPRESS specification:

*)
ENTITY Class_category_association;
  associated_product_class : Product_class;
  mandatory : BOOLEAN;
  associated_category : Specification_category;
END_ENTITY;
(*

Attribute definitions:

associated_product_class: the Product_class for which the Specification_category is relevant.

mandatory: a boolean value that specifies whether the Specification instances referring to the associated Specification_category have to be used or may be used (optional) for products within the referenced Product_class. A value of 'true' indicates that the usage is mandatory.

EXAMPLE 2   The Specification_category instance 'additional optional features' may be considered as optional while the Specification_category instance 'colour' is usually a mandatory category.

associated_category: the Specification_category that is associated with the Product_class.

4.3.2 Class_condition_association   EXPRESS-GMapping table

A Class_condition_association is the association of a Specification_expression with a Product_class.

This assignment specifies that the related specification expression is relevant for the products of the Product_class.

The meaning and context of use of this association is specified further by the attribute condition_type .

EXPRESS specification:

*)
ENTITY Class_condition_association;
  condition_type : STRING;
  associated_product_class : Product_class;
  description : OPTIONAL STRING;
  associated_condition : Specification_expression;
END_ENTITY;
(*

Attribute definitions:

condition_type: specifies the meaning of the association.

Where applicable, the following values shall be used:

In the cases 'part usage' and 'design case', the Class_condition_association shall be referenced by at least one Configuration instance.

In the cases 'identification' and 'validity', the associated_condition applies to all products belonging to the associated_product_class.

associated_product_class: the Product_class for which the Specification_expression is valid.

description: a text that provides additional information about the Class_condition_association.

The description need not be specified for a particular Class_condition_association.

associated_condition: the Specification_expression that is assigned to the Product_class.

4.3.3 Class_inclusion_association   EXPRESS-GMapping table

A Class_inclusion_association is the assignment of a Specification_inclusion to a Product_class. This assignment contains the information that a particular Specification_inclusion applies for all products of that Product_class.

This assignment specifies that the related specification inclusion is relevant for the products of the Product_class.

EXPRESS specification:

*)
ENTITY Class_inclusion_association;
  associated_product_class : Product_class;
  description : OPTIONAL STRING;
  associated_inclusion : Specification_inclusion;
END_ENTITY;
(*

Attribute definitions:

associated_product_class: the Product_class for which the Specification_inclusion is relevant.

description: additional information about the Class_inclusion_association.

The description need not be specified for a particular Class_inclusion_association.

associated_inclusion: the Specification_inclusion that is associated with the Product_class.

4.3.4 Class_specification_association   EXPRESS-GMapping table

A Class_specification_association is an association of a Specification with a Product_class.

This assignment specifies that the related specification is relevant for the products of the Product_class. This Specification serves as a potential characteristic of all products belonging to the Product_class.

The meaning of this association is specified further by the attribute association_type.

NOTE 1   Effectivity information may be added to characterize the period when the specification is relevant within the Product_class, with that considered association type

EXPRESS specification:

*)
ENTITY Class_specification_association;
  associated_product_class : Product_class;
  association_type : STRING;
  associated_specification : Specification;
END_ENTITY;
(*

Attribute definitions:

associated_product_class: the Product_class for which the Specification is relevant.

association_type: the association_type specifies the kind of availability of a particular Specification in a Product_class.

Where applicable, the following values shall be used:

In the cases 'part usage' and 'design case', the Class_specification_association shall be referenced by at least one Configuration instance.

associated_specification: the Specification that is associated with the Product_class.

4.3.5 Product_class   EXPRESS-GMapping table

A Product_class is a type of Product_concept that may be characterized with specifications.

EXAMPLE    A marketed family of wardrobes may be characterized by specifications of colour, number of doors and height.

EXPRESS specification:

*)
ENTITY Product_class
  SUBTYPE OF (Product_concept);
  version_id : OPTIONAL STRING;
  level_type : OPTIONAL STRING;
WHERE
  WR1: NOT EXISTS(SELF\Product_concept.target_market);
END_ENTITY;
(*

Attribute definitions:

version_id: the version identifier of the Product_class.

The version_id need not be specified for a particular Product_class.

level_type: the level or category of this Product_class in a hierarchical structure of product classes.

The level_type need not be specified for a particular Product_class.

Formal propositions:

WR1: the target_market attribute shall not be specified.

NOTE    When needed, characterization of the target_market for a Product_class can be done, as for other product features, using the Specification_category and Specificationentity data types.

4.3.6 Product_class_relationship   EXPRESS-GMapping table

A Product_class_relationship is a relationship between two instances of Product_class.

Instances of Product_class that are related to each other by a Product_class_relationship, do not inherit any characteristics from each other.

EXPRESS specification:

*)
ENTITY Product_class_relationship;
  description : OPTIONAL STRING;
  relating : Product_class;
  related : Product_class;
  relation_type : STRING;
END_ENTITY;
(*

Attribute definitions:

description: a text that provides additional information about the Product_class_relationship.

relating: one of the instances of Product_class that is a part of the relationship.

related: the other instance of Product_class that is a part of the relationship. If one element of the relationship is dependent up on the other, this attribute shall be the dependent one.

relation_type: the meaning of the relationship.

Where applicable the following values shall be used:

EXAMPLE 1   The following is an example of hierarchical structure of Product_class instances, the hierarchical relationships being established with instances of Product_class_relationship with relation_type 'hierarchy':

4.3.7 Specification   EXPRESS-GMapping table

A Specification is a characteristic of products to be proposed to customers or users.

NOTE 1   A Specification may be used to discriminate a product from other members of the same Product_class.

A Specification refers to a Specification_category that completes the semantics of the Specification.

EXAMPLE 1   'green', 'white', or 'black' are examples for specifications belonging to the Specification_category of type 'colour'. 'set of 3 drawers' or 'set of 5 drawers' are examples for specifications belonging to the Specification_category of type 'additional feature'.

NOTE 2   A Specification may be a characteristic of the members of more than one Product_class using Class_specification_association instances.

NOTE 3   A Specification in combination with a Configuration may be used to define under which conditions a product is used for a product of a Product_class.

EXPRESS specification:

*)
ENTITY Specification;
  id : STRING;
  version_id : OPTIONAL STRING;
  name : OPTIONAL STRING;
  description : OPTIONAL STRING;
  category : Specification_category;
  package : BOOLEAN;
END_ENTITY;
(*

Attribute definitions:

id: the identifier of the Specification. It shall be unique within the scope of a Specification_category.

version_id: the identification of the version of the Specification.

The version_id need not be specified for a particular Specification.

name: the word or group of words by which the Specification is referred.

The name need not be specified for a particular Specification.

description: additional information about the Specification.

The description need not be specified for a particular Specification.

category: the Specification_category which the Specification belongs.

NOTE 4   The category completes the semantics of the Specification.

package: a boolean value that specifies whether this Specification represents a package of specifications. Such a Specification combines those specifications that shall be offered to the market as a set.

In the case where package is 'true', there shall be exactly one Specification_inclusion per Product_class considered, that refers to this Specification as if_condition. The Specification instances that are members of the package, shall be identified within a Specification_expression referred to by the Specification_inclusion as included_specification.

NOTE 5   Commercial packages may be defined by the marketing department.

NOTE 6   Usually the members of a package belong to distinct specification categories.

EXAMPLE 2   A sports package for a Product_class of cars contains sports seats, a special steering wheel, special tires and wheels. A winter package contains heated front seats, heated windshield washers, heated exterior mirrors, and special tires.

4.3.8 Specification_category   EXPRESS-GMapping table

A Specification_category is the identification of a set of specifications serving the same purpose.

EXAMPLE 1   The category 'colours', containing the specifications 'green' and 'white' and the category 'additional features', containing the specifications 'set of 3 drawers', 'set of 5 drawers', are examples for a Specification_category.

EXPRESS specification:

*)
ENTITY Specification_category;
  id : STRING;
  description : STRING;
  implicit_exclusive_condition : BOOLEAN;
END_ENTITY;
(*

Attribute definitions:

id: the identifier of the Specification_category that shall be unique.

NOTE    The scope of uniqueness is usually dependent on the form of implementation. The scope of uniqueness may be constrained by the extent of a physical file or a database.

description: a text that provides additional information about the Specification_category.

EXAMPLE 2   The description 'trim' may characterize a Specification_category for instances of Specification that control quality and colour of the finishing of the product including door panels and upholstery.

implicit_exclusive_condition: a boolean value that specifies whether the specifications within the Specification_category are mutually exclusive for the production of a particular product.

A value of 'true' indicates that the referenced objects are mutually exclusive.

EXAMPLE 3   'additional features' is a non mutually exclusive Specification_category if 'set of 3 drawers' and 'door with mirror' are Specification instances in this category. 'colours' is a Specification_category with an implicit_exclusive_condition since usually the product can have only one 'colour'.

More complex conditions can be handled using instances of Specification_expression.

4.3.9 Specification_category_hierarchy   EXPRESS-GMapping table

A Specification_category_hierarchy is used to build up hierarchical structures of instances of Specification_category.

EXAMPLE    The Specification_category "Type of cover", for sofas, contains the specifications: "Leather" and "Alcantara". The Specification_category "Leather cover kind", containing the specifications "Buffalo cover" and "Kidskin cover", may be a sub_category of the Specification_category "Type of cover".

The fact that a Specification_category is a sub_category of another Specification_category does not involve that this sub_category inherits the associations of the super_category with product classes.

EXPRESS specification:

*)
ENTITY Specification_category_hierarchy;
  sub_category : Specification_category;
  super_category : Specification_category;
END_ENTITY;
(*

Attribute definitions:

sub_category: the Specification_category that is the lower level of the considered hierarchy.

super_category: the Specification_category that is the higher level of the considered hierarchy.

4.3.10 Specification_expression   EXPRESS-GMapping table

A Specification_expression is a combination of Specification instances formed with Boolean operations.

EXAMPLE    If color "Light blue" of sofa when selected with "Alcantara" coating requires a special finishing operation, a Specification_expression with the expression "Light blue" AND "Alcantara", will be created to be used to define a use case of that particular process operation.

EXPRESS specification:

*)
ENTITY Specification_expression;
  id : OPTIONAL STRING;
  description : OPTIONAL STRING;
  operation : expression_operator;
  operand : SET[1:?] OF specification_operand_select;
WHERE
  WR1: (operation <> not_operator) OR (SIZEOF(operand) = 1);
END_ENTITY;
(*

Attribute definitions:

id: the identifier of the Specification_expression.

The id need not be specified for a particular Specification_expression.

description: a text that provides additional information about the Specification_expression.

The description need not be specified for a particular Specification_expression.

operation: the expression_operator used in the expression.

operand: the set of instances of Specification or of Specification_expression that are the operands of the Boolean operation.

Formal propositions:

WR1: There is one operand when the operation is not_operator, with all the other operations the operands are more than one.

4.3.11 Specification_inclusion   EXPRESS-GMapping table

A Specification_inclusion is the representation of the statement that specifies that the application of a Specification or of a Specification_expression implies the inclusion of an additional Specification or Specification_expression.

NOTE    A Specification_inclusion may be used to complete the set of specifications of a Product_class, introducing dependency rules between these specifications.

EXAMPLE    A Specification_inclusion, associated with a Product_class "sofa", may represent the fact that the Specification "Leather" implies the Specification_expression: "3 seats" OR ("2 seats" AND "headrests"). Such an constraint would imply that if a customer choses a leather 2-seats sofa, he would get also headrests.

EXPRESS specification:

*)
ENTITY Specification_inclusion;
  id : OPTIONAL STRING;
  description : OPTIONAL STRING;
  if_condition : specification_operand_select;
  included_specification : specification_operand_select;
END_ENTITY;
(*

Attribute definitions:

id: the identifier of the Specification_inclusion.

The id need not be specified for a particular Specification_inclusion.

description: a text that provides additional information about the Specification_inclusion.

The description need not be specified for a particular Specification_inclusion.

if_condition: the Specification or the Specification_expression that serves as the condition for the inclusion.

included_specification: the Specification or the Specification_expression that is implied if the if_condition is met.



*)
END_SCHEMA;  -- Product_class_arm
(*


© ISO 2019 — All rights reserved