Application module: Product categorization | ISO/TS 10303-1016:2010-07(E) © ISO |
This clause specifies the information requirements for the Product categorization 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_categorization_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Product_categorization_arm;
(*
The following EXPRESS interface statement specifies the elements imported from the ARM of another application module.
EXPRESS specification:
*)
USE FROM
Product_identification_arm;
--
ISO/TS 10303-1017
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Product_identification_arm ISO/TS 10303-1017
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
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.
A Product_category is a type of product that is defined for a purpose that is specific to a module or application protocol.
NOTE For the purpose of a general classification of products, use entity Class and Classification_assignment, standardized in ISO/TS 10303-1070 and ISO/TS 10303-1114.
EXPRESS specification:
*)
ENTITY Product_category;
id :
OPTIONAL
STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
(*
Attribute definitions:
id: the identifier that distinguishes the Product_category. The value of this attribute need not be specified.
name: the words by which the Product_category is known.
EXAMPLE "part" and "document" are examples of categories of product.
description: the text that provides further information about the Product_category. The value of this attribute need not be specified.
A Product_category_assignment is the inclusion of one or more products in a product category.
NOTE Usually, products are classified in categories of products. However, at some early phase of design, a product may not yet be categorized.
EXAMPLE A product may belong to categories named 'part', 'raw material', 'document', 'functionality', or 'requirement'.
EXPRESS specification:
*)
ENTITY Product_category_assignment;
category : Product_category;
products : SET[1:?] OF Product;
END_ENTITY;
(*
Attribute definitions:
category: the Product_category that contains the products.
products: the instances of Product which identify members of the product category.
EXPRESS specification:
*)
ENTITY Product_category_hierarchy;
super_category : Product_category;
sub_category : Product_category;
END_ENTITY;
(*
Attribute definitions:
super_category: one instance of Product_category that participates in the relationship.
sub_category: the instance of Product_category that is dependent upon the other.
This subclause specifies the ARM function for this module. The ARM function and definition is specified below.
EXPRESS specification:
*)
FUNCTION types_of_product (obj : Product) :SET OF STRING;
LOCAL category_assignments : BAG OF Product_category_assignment; categories : SET OF STRING := []; i : INTEGER; END_LOCAL; category_assignments := USEDIN(obj, 'PRODUCT_CATEGORIZATION_ARM.' + 'PRODUCT_CATEGORY_ASSIGNMENT.PRODUCTS'); REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments) BY 1; categories := categories + category_assignments[i].category.name; END_REPEAT; RETURN (categories);
END_FUNCTION;
(*
Argument definitions:
obj: the Product whose categories are considered.
*)
END_SCHEMA; -- Product_categorization_arm
(*
© ISO 2010 — All rights reserved