Application module: Product categorization ISO/TS 10303-1016:2010-07(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 ARM
   4.2 ARM entity definitions
   4.3 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing

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 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;
(*

4.1 Required AM 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.

4.2 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.2.1 Product_category   EXPRESS-GMapping table

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.

4.2.2 Product_category_assignment   EXPRESS-GMapping table

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.

4.2.3 Product_category_hierarchy   EXPRESS-GMapping table

A Product_category_hierarchy is a hierarchical relationship between one instance of Product_category and another.

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.

4.3 ARM function definition

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

4.3.1 types_of_product

The types_of_product function returns the set of product category names associated with the argument. The function evaluates the bag of instances of Product_category that are associated with the input Product through an instance of Product_category_assignment. The function returns the SET of STRING values stored in the name attribute of the instances of Product_category in the bag.

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