CC8 Recommended Practices

Transcription

CC8 Recommended Practices
CC8 Recommended Practices
Specification and Configuration /
Product Coding /
Documents and Transformation Matrices
Authors:
Version:
Date:
Dr. Manfred Fischer,
Dr. Markus Sachers
1.3
December 2002
CC8 Recommended Practices, Version 1.2 Review!
0
Table of Contents
0
TABLE OF CONTENTS........................................................................................................................2
1
INTRODUCTION...................................................................................................................................4
2
SCOPE ....................................................................................................................................................6
3
GLOSSARY ............................................................................................................................................6
4
SUPPORTED EXCHANGE SCENARIOS ............................................................................................9
4.1
4.2
COMPLETE PRODUCT STRUCTURE EXCHANGE ...........................................................................................9
SIMPLIFIED PRODUCT STRUCTURE EXCHANGE ........................................................................................ 13
5
DOCUMENTS AND TRANSFORMATION MATRICES.................................................................. 16
6
LIST OF RELEVANT CC8 ENTITIES............................................................................................... 18
7
DESCRIPTION OF ENTITY APPLICATION (RECOMMENDED PRACTICES) ......................... 23
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
7.12
7.13
7.14
7.15
7.16
7.17
7.18
7.19
7.20
7.21
7.22
7.23
7.24
7.25
7.26
7.27
ALTERNATIVE_SOLUTION ..................................................................................................................... 23
CLASS_CATEGORY_ASSOCIATION ......................................................................................................... 24
CLASS_CONDITION_ASSOCIATION ......................................................................................................... 25
CLASS_INCLUSION_ASSOCIATION.......................................................................................................... 27
CLASS_SPECIFICATION_ASSOCIATION.................................................................................................... 28
CLASS_STRUCTURE_RELATIONSHIP ....................................................................................................... 30
COMPLEX_PRODUCT............................................................................................................................. 31
COMPONENT_PLACEMENT .................................................................................................................... 32
CONFIGURATION .................................................................................................................................. 34
GENERAL_ITEM_DEFINITION_INSTANCE_RELATIONSHIP ........................................................................ 37
ITEM_INSTANCE ................................................................................................................................... 38
PRODUCT_CLASS.................................................................................................................................. 40
PRODUCT_CLASS_RELATIONSHIP .......................................................................................................... 43
PRODUCT_COMPONENT ........................................................................................................................ 44
PRODUCT_CONSTITUENT ...................................................................................................................... 46
PRODUCT_FUNCTION............................................................................................................................ 46
PRODUCT_STRUCTURE_RELATIONSHIP .................................................................................................. 47
QUANTIFIED_INSTANCE ........................................................................................................................ 49
SINGLE_INSTANCE ............................................................................................................................... 50
SELECTED_INSTANCE ........................................................................................................................... 50
SPECIFICATION..................................................................................................................................... 51
SPECIFICATION_CATEGORY .................................................................................................................. 53
SPECIFICATION_CATEGORY_HIERARCHY ............................................................................................... 54
SPECIFICATION_EXPRESSION ................................................................................................................. 54
SPECIFICATION_INCLUSION................................................................................................................... 56
TECHNICAL_SOLUTION ......................................................................................................................... 58
WORK MANAGEMENT AND EFFECTIVITY ENTITIES .................................................................................. 60
8
SUMMARY........................................................................................................................................... 61
9
EXAMPLES.......................................................................................................................................... 62
9.1
9.2
9.3
9.4
9.5
9.6
REPRESENTATIONS OF VARIANTS........................................................................................................... 62
FEATURE GROUPS AND FEATURES .......................................................................................................... 64
PRODUCT STRUCTURE OF PRODUCT CLASS LEVEL 3................................................................................. 65
ABSTRACT PRODUCT STRUCTURE – TECHNICAL SOLUTION – PART IDENTIFICATION DATA......................... 66
ABSTRACT PRODUCT STRUCTURE – PRODUCTS OF DIFFERENT PRODUCT CLASSES ..................................... 67
ABSTRACT PRODUCT STRUCTURE OF A FURTHEST PRE-CONFIGURED ABSTRACT PRODUCT CLASS ............... 68
Page 2 of 75
CC8 Recommended Practices, Version 1.2 Review!
9.7
9.8
FUNCTIONAL VIEW – PRODUCT_FUNCTION ............................................................................................ 69
SPECIFICATIONS AND CONFIGURATION INFORMATION ............................................................................. 70
Page 3 of 75
CC8 Recommended Practices, Version 1.2 Review!
1
Introduction
This paper reflects the work of the working group 1.3 (WG 13) of the PDMI2 project and the
continuing work of the project group “Specification and Configuration” within the ProSTEP
Association. These working groups deal with the representation of Bill of Material (BoM) and Product
Coding (PC) data applying AP 214 (DIS) , CC8i. Changes and extensions of the FDIS version are
added in this document. This work was performed on a regular bases within the PDMI2 project and
the ProSTEP Association and was directed to the following overall objectives:
1. Investigate the ability of the STEP AP214 CC8 data model to represent the Product Coding
2. Understand what information can be exchanged with AP214
3. Understand what level of quality can be achieved in the exchange of data
4. Understand what type of information needs to be transferred manually and what information can
be transferred automatically using STEP
5. Investigate whether/which overall agreements need to be taken between the STEP members, to
allow the STEP standard to be applied
There were very few pre-existing experiences regarding this conformance class and its application.
Therefore and as the above listed objectives suggest, the investigation about the application was
performed on basic level to discover if the users needs and requirements could be represented
appropriately.
In order to understand the companies requirements a representative number of instantiation
examples were prepared. These examples were mainly used to achieve a common understanding in
the group and to enable the participants to discuss their requirements in "one language" - STEP. The
examples themselves are neither complete nor perfect but were developed as far as necessary for
the above mentioned purpose.
Participants in the group came from the companies which are listed below (in varying compositions),
and were usually dealing with the companies internal BoM and PC systems.
•
•
•
•
•
•
•
•
•
•
•
•
•
BMW AG
DaimlerChrysler AG
Delphi Automotive Systems GmbH
Continental Teves AG & Co. oHG
Robert Bosch GmbH
Scania AB
Volkswagen AG
Volvo AB
Dr.Ing.h.c.Porsche AG
EDS/UG
Eigner+Partner GmbH
SAP AG
Steyr-Daimler-Puch Fahrzeugtechnik AG (SFT)
All systems of which data was instantiated and therefore represented by STEP are in-house
developments of the involved companies. The main purpose for these system developments were
the following two aspects:
•
Documentation of product structures and variants
i
*ISO 10303 STEP:Standard for the Exchange of Product Model Data ;
AP 214 Application Protocol 214: Core Data for Automotive Mechanical Design Processes;
CC8: Conformance Class 8 - Conformance Class for configuration controlled design without shape representation
Page 4 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
Purpose of evaluation of valid orders or technically feasible products
The Figure 1.1 below shows the environment of today´s BoM systems in the automotive industries.
CaxSystem
CaxSystem
Engineering
PC / BoM
Production
PC / BoM
ERP
System
Product Coding /
Bill of Materials
System
PDM
System
Design Phase
Production Phase
Product Life Cycle / Process Chain
.....
Figure 1.1: BoM Systems and environment
These systems cover in detail the following functionality:
•
•
•
•
•
•
•
Management of product classification
Management of product structures (variants and assemblies)
Management of configuration structures (rules etc.)
Management of changes
Management of effectivity
Management of Bill of Material
Evaluation of valid single vehicles
This document also involves results and experiences from the following projects or application
projects: PCI (BMW - Rover), DaimlerChrysler - SFT (PDMI2 Application Project) and TBB
(Integration truck manufacturers and truck body builders)
Principle approaches of Product Coding
In general two basic approaches to product coding exist (see Fig. 2).
Rule-based product coding systems define standard vehicles, which comprise the maximum amount
of components of one certain vehicle family. Additionally defined rules and options allow the
determination of particular components of single vehicles by specifications and specification
combinations.
Feature-based systems use feature families, which each comprises all possible variants of that
certain feature family. Within the product structure of a single vehicle exactly one variant of each
feature family is allowed to be chosen. The variants are defined mutually exclusive in one feature
family.
Page 5 of 75
CC8 Recommended Practices, Version 1.2 Review!
Rule-based Product Coding
Feature-based Product Coding
feature families :
- body
"
standard/complete car
- engine
- window
!
options and rules
- ....
...
...
Specification of standard car together with explicite
rules for replacing standard options
Clear definition of the types of options/specifications
and implicite conditions
Fig. 1.2: Approaches to Product Coding
Transferring information from one approach to the other might probably cause a loss of information.
A specific adoption might be necessary in those cases. For this, STEP AP 214 provides the common
basis for concrete data exchange scenarios and projects.
2
Scope
In order to provide a practical recommendation for the application of objects of AP 214 CC8 a
specific application scenario to be addressed has been defined as the basis for the considerations
which lead to this document.
In order to develop a recommendation of how to apply AP 214 ARM objects for the exchange of Bill
of Material and Product Coding information, the mentioned work groups agreed to focus in its
consideration on the exchange of this type of information between OEMs and their suppliers. In this
exchange scenario this type of information is already exchanged today.
The purpose of this exchange is to communicate which parts and structures have changed in a
specific period of time to a supplier. These changes are the basis for the supplier to control his
development activities for the client. This also involves information about which changes are of
interest for the supplier (which are the relevant variants of the product).
As more and more supplier develop systems for their customers, which usually can be used for a
number of different variants of a product, this type of information becomes more and more important.
In long terms there will also be a feedback of Product Coding information from the suppliers side.
The described recommendations should apply to first and second (or further) row suppliers.
3
Glossary
Due to the complexity of specification and configuration of variant products the various terms used in
this area are used with variuus different semantics. In this section the main terms are explained in the
way the project group members do understand them.
Page 6 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
Product:
A product can be sold to a customer. Examples for products are passenger cars, commercial
vehicles/trucks, busses, or engines or components of these products (gear boxes, chassis, engines,
cabs, axles, ...). The recommended 4th product class level („furthest pre-configured product class“,
see chapter “Product_class”) represents such a product.
•
Product class:
A product class is the identification of a set of similar products to be offered to the market. Product
classes can be related to each other within a hierarchical structure.
•
Abstract product structure:
Synonyms for this term are: Logical product structure, Generic product structure, Conceptual product
structure.
Abstract product structures are based on abstract/logical/generic/conceptual product components or
functions, which each serves as a „placeholder“ for one or more representations of physical
components (technical solutions). Abstract product structures usually contain configuration
information (specifications and configuration rules).
•
Component:
A component is an object within a product structure that is part of a product. Components can
represent abstract components (e.g. „chassis“, „interior“, AP214 objects “product_component” or
“product_function”), or physical components like non-variant explicit assemblies or parts (“items”).
Example: An engine can be a product (if it is sold to a customer „as-is“), or a component (if it is
assembled in a vehicle).
•
Product structure:
A product structure can contain abstract components, assemblies and parts (also software) of a
product or component. It can be expressed through various representations (e.g. through structured
trees or non-structured lists). A product structure can also contain configuration information
(specifications and configuration rules).
•
Bill of Material (BoM):
Bill of material in general is a term for all kind of part lists (including also software, lubricants etc.)
which may be structured in different contexts. In addition, the Bill of Material can also contain
abstract components (but does not need to). It can be expressed through various representations
(e.g. through structured trees or non-structured lists).
The difference between a product structure and a Bill of material is, that a Bill of material has to
contain parts of any kind. This is the current meaning of the expression Bill of material. The group
sees, that in future the “Bill of Material” will increasingly get a broader meaning (“Virtual Car”
processes, DMU). The meanings of product structure and Bill of Material will melt in the future.
A Bill of material may include means of configuration control.
The so called „Maximum BoM“ of a product contains all parts of which the product could consist (e.g.
a „150% BoM“). The BoM of a feasible product can be generated through evaluating the configuration
information within the „Maximum BoM“.
•
Product Coding:
Product Coding provides specification and configuration mechanisms being used to describe variant
product structures in all phases of the product life-cycle.
Page 7 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
Explicit assembly/product structure:
An explicit assembly/product structure contains all non-variant sub-assemblies and parts of a product
or component.
•
Specification:
A specification defines a characteristic of a class of products. It also can be a statement, which is
used to build rules, feature groups or packages.
•
Configuration:
A configuration is a part/product structure that represents a valid product variant. The instances of
the parts in a specific configuration can be physically composed to a valid manufacturable product.
The term configuration is also used to define the valid set of specifications, which determines a
specific instance of a product that can be sold to a customer.
A specific configuration of a vehicle is the result of an evaluation process of the configuration
information of an abstract product structure or a „150% BoM“ to an explicit manufacturable product
using rules and specifications. For representing the configuration information, in AP214 the
“configuration” object is used to associate product classifying objects with rules and product structure
in order to determine which objects are valid in the context of a certain product class (configuration
information).
•
Variant:
A variant generally is one of potentially more solutions for a technical requirement, function or
product component, which fulfills defined requirements in a certain way.
In AP214, a variant is defined as an alternative solution for an abstract product component or product
function. A variant is a technical solution, that fulfills the functional requirements of a function or
abstract product component in a certain way. The abstract product component includes all variants.
Example for variants, that are a technical solutions: The 3 parts „Part no.: W-345.3 (Wheel, 15-inch,
Aluminum)“, „Part no.: W-122.5 (Wheel, 12-inch, Steel)“ and „Part no.: W-777.9 (Wheel, 14-inch,
Steel)“ are variants for the abstract component „Wheel“.
Within the Project Group, the term „variant“ was interpreted in a broader sense than in AP214. A
variant can also be:
a) A product class:
Example: The vehicle variant „Middle Class Car, 2.0L Engine“ is represented by a product class of
level 3, named „Middle Class Car, 2.0L Engine“. It is a variant of the vehicle/product class „Middle
Class Car“ of product class level 2 („platform“).
b) An abstract product component as a complete vehicle:
Example: The vehicle variant „Middle Class Car, 2.0L Engine“ can be build as the variants
„Convertible“, „Limousine“ or „Combi“. Each of these variants are represented as single abstract
product components, which are linked to the product class „Middle Class Car, 2.0L Engine“ and which
are the root element of an abstract product structure tree.
c) An abstract product component as a component of a vehicle:
Example: The abstract product component „brake cylinder“ of a truck can be realized by the variants
„brake cylinder, single“, „brake cylinder, double“ or „brake cylinder, special“. Each of these variants
can themselves be realized by various technical or supplier solutions.
Page 8 of 75
CC8 Recommended Practices, Version 1.2 Review!
To set the oftenly used terms “variant” and “alternative (solution)” in relation, the project group used
the following diagram as reference representation (Remark: There are no inheritance mechanisms or
other implicit meanings related to the similar wording in object oriented modelling associated to the
wording “Parent/Child”):
Parent object
Variant of
Child object
Variant of
Alternative
Variant of
Alternative
Child object
Child object
Figure 3.1: Variants and Alternatives
4
Supported exchange scenarios
This chapter specifies different scenarios for the exchange of product structures as well as the
handling of documents related to components of product structures as a necassary extension for
Digital Mock-Up (DMU) applications.
There are basically two different kinds of product structure exchange.
#
Complete exchange (complex scenarios 1 and 2)
#
Simplified exchange (“simple” approach with scenarios 3, 4, and 5)
4.1
Complete product structure exchange
There are two scenarios of complete product structure exchange in the scope of this document
possible (see also examples under section 8.8):
#
Exchange of a complete product structure (e.g. "Maximum BoM")
#
Exchange of a complete product
(e.g. single BoM, e.g. for a model, engine, gear box etc. without variants)
Scenario 1: Exchange of a complete product structure including configuration information
(e.g. "Maximum BoM"):
This case is expected to occur mainly as the first provision of BoM data to a supplier, who is
developing variant systems for an OEM. The provided data will be changed and updated by the OEM
and the supplier as a development project is progressing. Two general conditions are valid:
Page 9 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
Information, which specific components have to be changed by the supplier, can be
provided using work management information integrated in the product structure or using a
separate information channel (paper, e-mail, ...).
•
The vehicle manufacturer is responsible for the identification of all components and parts.
The suppliers are obliged to use those identifications when communicating with the
manufacturer.
The extend of information being exchanged can be classified into three types:
(a) "Maximum BoM" of one or more product classes including information about general
availability of specifications:
•
The „Maximum BoM“ includes all relevant product components, alternative solutions and
item instances (parts, assemblies) without any configuration information.
•
The kind of availability of specific specifications or specification expressions belonging to a
product class is not further specified.
(b) “Maximum BoM" of one or more product classes including specific information about the
types of specifications:
•
The „Maximum BoM“ includes all relevant product components, alternative solutions and
item instances (parts, assemblies) without any configuration information.
•
The kind of availability of specific specifications or specification expressions belonging to a
product class is specified using the appropriate types of availability (see chapters 6.3, 6.5).
(c) "Maximum BoM" including configuration information for the valid usage of product
components or technical solutions:
•
The „Maximum BoM“ includes all relevant product components, alternative solutions and
item instances (parts, assemblies) with all necessary configuration information (configuration
objects included).
•
The kind of availability of specific specifications or specification expressions belonging to a
product class is specified using the appropriate types of availability (see chapters 6.3, 6.5).
Page 10 of 75
CC8 Recommended Practices, Version 1.2 Review!
Figure 4.1: Principle elements of AP214 CC8 for Exchange scenario 1
- Abstract product structure
- Specifications
- Configuration rules
- Work management data
- Effectivity data
- Project information
- Contract
Selection
of product and
structure
relevant for
project
Provision of
product
structure
relevant for
project
Reception
of product
structure
Processing of
product
structure
Product structure
- Complete
product structure
with configuration
data
(e.g. „Maximum BoM“)
- Work management
data
- Effectivity data
Figure 4.2: Exchange scenario 1
Page 11 of 75
CC8 Recommended Practices, Version 1.2 Review!
Scenario 2: Exchange of a complete product
(single BoM, e.g. for a model, engine, gear box etc. without variants):
This case applies to the exchange of a specific model, a specific customer order or a prototype. It is
expected to occur mainly as the first provision of BoM data to a supplier, who is developing variant
systems for an OEM. The following preconditions are valid:
•
The single BoM includes all relevant product components, alternative solutions and item
instances
(parts,
assemblies)
and
configuration
information
(configurations,
specifications/expressions, specification categories) of one specific product (prototype,
customer order).
•
Only one variant for each product component is included, which is the valid variant for this
specific product.
•
The vehicle manufacturer is responsible for the identification of all components and parts.
The suppliers are obliged to use those identifications when communicating with the
manufacturer.
Figure 4.3: Principle elements of AP214 CC8 for Exchange scenario 2
Page 12 of 75
CC8 Recommended Practices, Version 1.2 Review!
- Abstract product structure
- Specifications
- Configuration rules
- Work management data
- Effectivity data
Selection
of product and
structure
by evaluating
the appropriate
configuration
rules
- Customer order
or
- Prototype information
- Contract
Provision of
product
structure
(and
appropriate
configuration
data)
Reception
of product
structure
Processing of
product
structure
- Complete
product structure
(with configuration
data) for
one single product
- Work
management data
- Effectivity data
Figure 4.4: Exchange scenario 2
4.2
Simplified product structure exchange
The exchange of complete BoM as well as a complete product is not necessary in any case:
•
Only a limited subset of specifications and configuration rules is necessary
•
It is not necessary that the receiver does understand the configuration mechanisms of the
sender in detail
•
The sender prepares the relevant data in a simple representation and has to re-identify it
when importing this data
There are three kinds of scenario of product structure exchange missing particular elements of
complete BoM specification in the sense above:
#
Exchange of a complete BoM
- including abstract product components and
- including simplified configuration information
#
Exchange of a complete BoM
- without abstract product components and
- including simplified configuration information
#
Exchange of a complete product‘s explicit product structure (assembly structure)
- including informal specification/identification information
These simplified scenarios were discussed in Joint Workshops with the Joint Project Group Odette /
VDA / ProSTEP “Recommendation for Assembly Data Exchange”. As a result three new process
moduls were specified:
•
Variant Assembly Structures (PM-VAS)
•
Specification Controlled Structures (DM-SCS)
Page 13 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
Effectivity Controlled Structures (DM-ECS)
Scenario 3 was classified as a simplification of scenario 1 and scenarios 4 and 5 as simplifications of
scenario 2. The scenario 4 - thought as a ‘short cut mechanism’ – will not be supported explictly.
Scenario 3: Exchange of a complete BoM including abstract product components and
including simplified configuration information:
•
This case is expected to occur mainly as the first provision of BoM data to a supplier, who is
developing variant systems for an OEM.
•
Abstract product components are included.
•
The configuration information is solely provided as textual (string-based) information
through the provision of specification specifically created for this purpose. These
specifications usually are not managed by the configuration processes of the sender and are
not stored persistently within PC/BoM or PDM systems.
•
The specifications are attached to the appropriate technical solutions of the product
structure.
Figure 4.5: Principle elements of AP214 CC8 for Exchange scenario 3
Scenario 4: Exchange of a complete BoM without abstract product components and including
simplified configuration information
•
This case is expected to occur mainly as the first provision of BoM data to a supplier, who is
developing variant systems for an OEM.
•
Abstract product components are included.
•
The configuration information is solely provided as textual (string-based) information
through the provision of specification specifically created for this purpose. These
specifications usually are not managed by the configuration processes of the sender and are
not stored persistently within PC/BoM or PDM systems.
Page 14 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
The specifications are attached to the appropriate technical solutions of the product
structure.
Figure 4.6: Principle elements of AP214 CC8 for Exchange scenario 4
The simple data includes:
•
No specification expressions or inclusions (no system interpretable rules)
•
No complex semantics of specification categories or specification types --> only
configuration type ‚usage‘
•
The only „CC8“ elements are: specification, specification_category (optional),
class_specification_association (not shown in figure 4.5), configuration
•
Product structures are solely represented using „CC6“ elements
Scenario 5: Exchange of a complete product‘s explicit product structure (assembly structure)
including informal specification/identification information
•
This case applies to the exchange of a specific model, a specific customer order or a
prototype of a certain product class.
•
The assembly structure includes only those assemblies and parts, which build the
manufacturable product of a certain product class. No abstract product components are
included. 2 possibilities are provided:
a) Including specifications: Those specifications which lead to this product are included as a
„simple list“, attached to the associated product class, without detailed configuration information.
b) Including identification number instead of specifications: No specifications are included,
instead a single identification number is provided.
•
Examples for products are: vehicle model, engine, gear box, chassis, ...
Page 15 of 75
CC8 Recommended Practices, Version 1.2 Review!
Figure 4.7: Principle elements of AP214 CC8 for Exchange scenario 5a
AP214 construct for specific configured poduct (Scenario 5a):
•
List of specifications which lead to a specific explicit product structure
•
List is associated to product class
•
The assembly ‚A1‘ (containing the explicit product structure) results when evaluating the
product class using the specifications ‚Spec A‘ and ‚Spec B‘:
The coherence between abstract product structure, explicit product structure and
document/geometric model structure is very strong. E.g. for DMU applications it is necessary to
define configured structures including geometry and positioning information (see Figure 5.1).
Figure 4.8: Principle elements of AP214 CC8 for Exchange scenario 5b
AP214 construct for specific configured manufacturable poduct (Scenario 5b):
5
•
An identifier exists for a specific product identification of a product class
•
The appropriate specifications are not relevant
•
The shown item version ‚B2‘ is an instance of the product class identified by identification
number ‚AB12345C‘
Documents and transformation matrices
An important application area of configured product structures ist Digital Mock-Up (DMU). It implies
explicit product structure, configured product structure, document structure, and transformation
information.
Therefore explicit assembly structures may be related by documents enclosing geometry models for
the related parts, assemblies and/or sub-assemblies. These documents can be connected with each
other representing the document structure for the appropriated assembly structure.
Page 16 of 75
CC8 Recommended Practices, Version 1.2 Review!
Note: The DMU scenario uses Entities of the AP214 CC06. Recommendations can be found in the
PDM Usage Guide (see Webpage ProSTEP of Association, PDM-IF).
Note: The correlation between assembly structure and document structure must not be a 1:1
relationship of their components.
The document structure may include transformation matrices as positioning information for each
relationship between two components.
Figure 5.1:
Three types of structures for assembly representation
(Abstract products, Explicit assemblies, Documents)
In order to integrate placements of abstract product components by transformation matrices the entity
Component_placement (see 7.8) can be used (see Figure 5.2). It specifies the relationship between
two Product_component’s added by placement information.
•
A Component_placement is the information pertaining to the placement of a
Product_component, which is defined in its own Cartesian_coordinate_space, in the
coordinate space of a reference Product_component.
•
An example for the use of a Component_placement is the placement of the
Product_component 'steering wheel' dependent on left hand versus right hand steering in
different countries.
Note: The Component_placement does not define a placement for all variants of the placed_
component in the context of 'reference_product_component'.
Page 17 of 75
CC8 Recommended Practices, Version 1.2 Review!
Figure 5.2: Transformation matrices on abstract component level
For the application of Component_placement no actual use case was discussed within the work
group.
Example Scenario:
Exchange of design reference coordinate systems and provision of
detailed technical solution placements
Note: Currently no application case analysed.
1. OEM provides product component with reference coordinate system and specifications as
„input“ to supplier
2. Supplier develops concrete solutions
3. Supplier sends designed solutions with correct placement and specifications as „output“ to
OEM
This Scenario is an
structures.
ADD-ON
to anyone of the above scenarios for the exchange of configured product
In the following sections the recommendations of entity application will - where necessary - refer to
the above defined scenarios 1 and 2. Any other scenario specified in this chapter represents a
specialization (scenario 3 – 5) or an add-on (example scenario) to them.
6
List of relevant CC8 Entities
Note: In chapter and those passages which are taken from the STEP standards are represented in
cursive letters
The AP 214 Conformance Class 8 covers the following Units of Functionality (UoFs):
•
•
•
•
•
•
•
•
external_reference_mechanism (E1)
Item_property (PR1)
product_management_data (S1)
item_definition_structure (S3)
effectivity (S4)
work_management (S5)
classification (S6)
specification_control (S7)
The work of the project group was concentrated on UoF S7, specification control. All other UoFs are
also in scope of considerations of CC6, a AP 214 conformance class for which a number of analysis
work and implementations are available and which therefore were not in the main scope of the work
groups’ activities. Where necessary the existing agreement in overlapping areas of CC6 and CC8
were considered.
Page 18 of 75
CC8 Recommended Practices, Version 1.2 Review!
However on the ARM - AIM mapping for a number of entities used in CC8 and CC6 may differ in
comparison to that in only CC6. This results from the application of these entities in connection with
UoF S7.
In order to enable a better understanding of the detailed description (see chapter 7) of the AP 214
CC8 subset recommended practices, the relevant entities in S7 are briefly described below. The most
important entities for the described application scenario are those indicated in the last row by being
subject to work group examples.
UoF S7 Entity
Description
alternative_solution An Alternative_solution is the identification of one of potentially
many mutually exclusive implementations of a Product_function
or of a Product_component.
E.g. it identifies a particular engine (e.g. 2 l Diesel) which is
implemented to realise the abstract engine in the product
structure, which is represented by a product_component.
class_category_
A Class_category_association is the association of a
association
Specification_category with a Product_class.
Additionally, this assignment specifies if the usage of one or
more Specification objects belonging to this
Specification_category, is mandatory or optional for all products
of that Product_class
class_condition_
A Class_condition_association is the association of a
association
Specification_expression with a Product_class. This association
can include the information that a particular
Specification_expression is valid for all products of that
Product_class.
This object usually is used to interconnect product classifying
objects with rules, which determine the specific characteristics
of individual products.
class_inclusion_
A Class_inclusion_association is the assignment of a
association
Specification_inclusion to a Product_class. This object is
applied to associate a product classifying object with an object
which is used to include rules or characteristics in a set (e.g.
package)
class_specification A Class_specification_association is an association of a
_
Specification with a Product_class. This Specification serves as
association
a potential characteristic of all products belonging to the
Product_class.
class_structure_
A Class_structure_relationship is an association between a
relationship
Product_class object and either a Product_component or
Product_function object. This relationship is used to represent
the interconnection of product classifying objects and the
logical, abstract product structure.
collected_item_
A Collected_item_association is a mechanism to associate
association
Item_instance objects with a Collection_definition.
This object was not used in the work group examples.
collected_definition A Collection_definition is the definition of an Item_version that
serves as a collector for Item_instance objects that are
mounted in the same vehicle but may not be assembled
together. This object was not used in the work group examples.
Subject to
project
group
examples
yes
yes
yes
yes
yes
yes
no
no
Page 19 of 75
CC8 Recommended Practices, Version 1.2 Review!
complex_product
complex_product_
relationship
component_
placement
configuration
descriptive_
specification
design_
constraint
Abstract super-type of Product_function, Product_component,
or Alternative_solution. It is an object with the capability that it
can be realized by, decomposed into or specialized as
Product_constituent objects in a functional, logical, or physical
way. (This object was not used itself in the work group
examples, but only its sub-types)
A Complex_product_relationship is a relationship between two
Complex_product objects.
A Component_placement is the information pertaining to the
placement of a Product_component, which is defined in its own
Cartesian_coordinate_space, in the coordinate space of a
reference Product_component. An example for the use of a
Component_placement is the placement of the
Product_component 'steering wheel' dependent on left hand
versus right hand steering in different countries. This entity was
not included in AP214 (DIS), but was added in AP214 (FDIS).
A Configuration is the association of a
Class_condition_association or a
Class_specification_association object with a design or with a
process in order to define a valid usage of it in the context of a
certain Product_class. This object is used to associate product
classifying objects with rules and product structure in order to
determine which objects are valid.
A descriptive_specification is a text description of an object.
A Design_constraint is a requirement that has to be considered
in the design process of a Complex_product. This constraint
may be geometry based. This object was not used for the work
group examples.
design_constraint_ A Design_constraint_association is a mechanism to associate a
association
Design_constraint with an object that is subject to the constraint
indicated. This object was not used for the work group
examples.
design_constraint_ A Design_constraint_relationship is a relationship between two
relationship
Design_constraint objects. This object was not used for the
work group examples.
design_constraint_ Design_constraint_version is a particular version of a
version
Design_constraint. This object was not used for the work group
examples.
final_solution
A Final_solution is the specification of a set of additional
sensual characteristics that can be applied to an Item_instance
that represents a neutral part in order to finalize its definition.
An example is a chassis part with its final colour. This object
was not used for the work group examples
general_item_
A General_item_definition_instance_relationship is a
definition_
relationship between a Design_discipline_item_definition and an
instance_
Item_instance whose meaning is defined by the attribute
relationship
'relation_type'.
general_item_
A General_item_instance_relationship is a relationship between
instance_
two Item_instance objects whose meaning is defined by the
relationship
attribute 'relation_type'.
instance_placemen An Instance_placement is the information pertaining to the
t
placement of a Single_instance, which is defined in its own
Cartesian_coordinate_space, in the coordinate space of a
reference Product_component. This object was not used for the
work group examples.
(yes)
no
no
yes
no
no
no
no
no
no
yes
yes
no
Page 20 of 75
CC8 Recommended Practices, Version 1.2 Review!
item_function_
association
An Item_function_association is a mechanism to relate a
Product_function and a Design_discipline_item_definition. This
object was not used for the work group examples.
item_instance
An Item_instance is the occurrence of an object that is defined
either by a Design_discipline_item_definition or by a
Product_identification. This object can e.g. be used to represent
the appearance of a part as a realisation of an abstract product
structure. In AP214 FDIS, this entity is only included in UoF S3.
item_instance_
An Item_instance_relationship is a relationship between two
relationship
Item_instance objects. Except if specified in a specialization of
this object, this relationship does not involve inheritance of data
between the two related objects. Each
Item_instance_relationship is a
General_item_instance_relationship, a
Same_time_machining_relationship, or a
Replaced_usage_relationship. This entity was not included in
UoF S7 (DIS), but was added in UoF S7 (FDIS).
physical_assembly A Physical_assembly_relationship is a mechanism to relate one
_
Physical_instance as a component to another
relationship
Physical_instance that plays the role of an assembly. This
object was not used for the work group examples.
physical_instance
A Physical_instance is the denomination of a physically realized
object. This object was not used for the work group examples.
physical_instance_ A Physical_instance_test_result is a mechanism to associate a
test_result
Physical_instance with measurements made on this
Physical_instance. NOTE: This object provides means to relate
the characteristics of a real object with a design intent. This
entity was not included in UoF S7 (DIS), but was added in UoF
S7 (FDIS).
product_class
Product_class is the identification of a set of similar products to
be offered to the market. In the work group this entity was used
to represent any product classifying object. This could e.g. be a
class of car models, engines or heavy trucks.
product_class_
A Product_class_relationship is a relationship between two
relationship
Product_class objects.
product_component A product_component is an element of a conceptual product
structure. This entity was used in the work group to represent
objects which were applied to structure products according to
logical, spatial or functional criteria. Examples could be
chassis, front vehicle or propulsion system.
product_constituent A Product_constituent is an object that may participate in the
functional, logical, or physical break-down or be an alternate
realization of a Complex_product. This object was not used
itself in the work group examples, but only its sub-types. In
AP214 FDIS, this entity is only included in UoF S3.
product_function
A Product_function is a behaviour or an action expected from a
product. Examples or breaking, stearing etc.
no
(yes)
no
no
no
no
yes
yes
yes
(yes)
yes
Page 21 of 75
CC8 Recommended Practices, Version 1.2 Review!
product_
identification
A Product_identification identifies a manufacturable object, or
expected as so. A Product_identification is defined with respect
to the Product_class it is a member of. NOTE: The kind of
product that is to be manufactured from the data of the
Product_identification, is the kind of product that the
associated_product_class identifies a class of. NOTE: The
intent of Product_identification is the identification of one
manufacturable object whereas the intent of Product_class is
the gathering of products with similar characteristics.
EXAMPLE: A Product_identification that is associated with a
Product_class that identifies a family of Diesel engines is
intended to lead to the manufacture of a particular case of
Diesel engine, and the Product_identification that is associated
with a Product_class that identifies a car family will lead to the
manufacture of a car. Each Product_identification may be a
Product_specification. This entity was not included in UoF S7
(DIS), but was added in UoF S7 (FDIS).
product_
A Product_specification is a Product_identification for which
specification
one or more additional Specification objects enhance the
characterization provided for the associated Product_class. This
could be e.g. a pre-defined car model (special edition with
specific equipment) for which the colour is not defined and for
which only a limited set of colours is available. This object was
not applied in the work group examples.
product_structure_ A Product_structure_relationship is an association between a
relationship
Complex_product and a Product_constituent, in which the
Product_constituent is a functional, logical, or physical
component or a realization of the Complex_product. In the work
group this entity was mainly used to structure
product_component objects.
quantified_instance A Quantified_instance is the identification of the quantified
occurrence of an object that is defined either as a
Design_discipline_item_definition or as a Product_identification.
An example could be the occurrence of four equal wheels or a
certain quantity of engine oil in a bill of material. If this object is
applied to represent the occurrence of more than one part
these can not be placed In AP214 FDIS, this entity is only
included in UoF S3.
replaced_usage_
A Replaced_usage_relationship is a relationship between two
relationship
Item_instance objects where the relating Item_instance is
replaced by the related Item_instance. Each
Replaced_usage_relationship shall be referenced by an
Effectivity that defines the validity of the replacement. A
Replaced_usage_relationship is a type of
Item_instance_relationship. This entity was not included in UoF
S7 (DIS), but was added in UoF S7 (FDIS).
selected_instance
A Selected_instance is the instance of an Item whose quantity
depends on certain constraints. This object was not applied in
the work group examples. In AP214 FDIS, this entity is only
included in UoF S3.
single_instance
A Single_instance is one particular occurrence of an object that
is defined either as a Design_discipline_item_definition or as a
Product_identification. In AP214 FDIS, this entity is only
included in UoF S3.
specification
A specification defines a characteristic of a class of products. It
also can be a statement, which is used to build rules, feature
groups (specification_categories) or packages.
no
no
yes
yes
no
no
yes
yes
Page 22 of 75
CC8 Recommended Practices, Version 1.2 Review!
specification_
category
specification_
category_hierarchy
specification_
expression
specification_
inclusion
specified_instance
supplier_solution
technical_solution
7
A Specification_category is the definition of a set of
Specification objects serving the same purpose.
This entity was used e.g. to represent feature groups. A feature
group is a set of product characteristics which can be applied to
solve the same technical purpose, e.g. set of engines, colours
etc..
Sometimes the characteristics within a feature group can be
mutually exclusive to each other. Often feature groups are
applied in combination with rules and specification_inclusions.
A Specification_category_hierarchy is used to build up
hierarchical structures of Specification_category objects. This
entity was not included in AP214 (DIS), but was added in
AP214 (FDIS).
A Specification_expression is a combination of Specification
objects formed by Boolean operations. This object is applied to
represent single parts of rules, which are used in BoM systems
alone and/or in combination with specification_categories
(feature groups) and specification_inclusions
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.
This object is used to build a set of characteristics of different
types or rules, which could be used e.g. to represent packages
(e.g. sports package, elegance, special editions or technical
sets)
A Specified_instance is a mechanism to identify a certain
Item_instance in a multi level assembly structure that reuses
partial decompositions. E.g. a left wheel exists for front and for
rear axle. This object was not applied in the work group
examples.
A Supplier_solution is an alternative solution provided by a
particular supplier. This entity was not used in the work group
examples.
A Technical_solution is an alternative solution where the
functional requirements are fulfilled in a certain technical way.
This entity was applied to represent the realisation of an
abstract product structure by a single or different parts, e.g.
different batteries
yes
no
yes
yes
no
no
yes
Description of entity application (Recommended Practices)
Note: Below the application of the AP 214 ARM entities as agreed in the ProSTEP project group
“Specification and Configuration” is described. The following texts are mainly taken from the ISO AP
214 document and therefore underlay copyright. Where agreed and necessary (according to to the
project group) these texts are complemented by the recommendations of the project group. The
objective of all documentation below is the agreed application of AP 214 CC8. Therefore only those
entities will be listed which were actually considered in the investigation of the work group.
7.1
Alternative_solution
With respect to the application of this entity no special agreements were. In the work group mostly
the sub-types of Alternative_solution were used. Below the application requirements are listed:
An Alternative_solution may refer directly to the object to be implemented or to another
Alternative_solution object. In the latter case it serves as a refinement of the referenced
Alternative_solution.
Page 23 of 75
CC8 Recommended Practices, Version 1.2 Review!
An Alternative_solution shall be instantiated only, if it is decomposed further into Product_component
or Product_function objects. An Alternative_solution is a type of Complex_product.
Each Alternative_solution may be a Technical_solution, a Supplier_solution, or a Final_solution.
The data associated with an Alternative_solution are the following:
•
base_element
7.1.1
base_element
The base_element specifies the object, for which the Alternative_solution provides a design
alternative. All Alternative_solution objects for the same base_element are mutually exclusive.
There shall be exactly one object that defines the base_element for an Alternative_solution.
7.1.2
ARM-AIM Mapping Alternative_solution
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
alternative_solution
(Create Entity) product_definition
product_definition.frame_of_reference ->
(Create Entity) product_definition_context
product_definition_context.name=‘alternative definition‘
product_definition
product_definition.formation ->
product_definition_formation
product_definition_formation.of_product ->
product
product.id
product_definition <product_definition_relationship.related_product_definition
(Create Entity) product_definition_relationship
{product_definition_relationship.name=‘solution alternative definition‘}
product_definition_relationship.relating_product_definition ->
product_definition
alternative_solution.id
alternative_solution.base_element
7.2
Class_category_association
This object can be used to represent the relationship between a class of products and a feature group
(as well referred to as family concept in this document, see also chapter “Specification_category”).
This object usually occurs in data derived from systems which support a feature group concept.
The application of this entity requires a receiving system which supports this feature group concept.
How this information can be translated into generally understandable information is at the preparation
point of this document not solved. The current agreements of the work group is to use this object as
recommended in AP 214.
The data associated with Class_category_association are the following:
•
associated_category;
•
associated_product_class;
•
mandatory.
NOTE In the case of a strict family concept for Specification_category objects this
Class_category_association specifies that the usage of exactly one Specification of this
Specification_category is mandatory for all products of that Product_class. If no strict family concept
for Specification_category objects is used, this Class_category_association specifies that the usage
of one or more Specification objects of this Specification_category is mandatory or optional for the
products of that Product_class.
Page 24 of 75
CC8 Recommended Practices, Version 1.2 Review!
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.
The data associated with a Class_category_association are the following:
•
associated_category;
•
associated_product_class;
•
mandatory
7.2.1
associated_category;
The associated_category specifies the Specification_category that is associated with the
Product_class. See Class_category_association to Specification_category for the application
assertion.
7.2.2
associated_product_class;
The associated_product_class specifies the Product_class for which the Specification_category is
valid. See Class_category_association to Product_class for the application assertion.
7.2.3
mandatory
The mandatory specifies whether one or more Specification objects of 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 The specification category 'radio' may be associated 'optional' to the product class of a
car; the specification category 'engine' is an example for a 'mandatory' association.
7.2.4
ARM-AIM Mapping Class_category_association
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
class_category_association
class_category_association
.associated_product_class
class_category_association
.associated_category
class_category_associaton
.mandatory
(Create Entity) product_concept_feature_category_usage
product_concept_feature_category_usage.items[i] ->
product_class
product_concept_feature_category_usage.assigned_group ->
product_concept_feature_category
product_concept_feature_category_usage <role_association.item_with_role
(Create Entity) role_association
role_association.role ->
(Create Entity) object_role
object_role.name=‘optional category usage‘
if mandatory=‘true‘:
object_role.name=‘mandatory category usage‘
7.3
Class_condition_association
This object can be used to represent the relationship between a class of products and a rule (see also
chapter 7.23, specification_expression). This object usually occurs in data derived from systems
which support a rule based variant control concept.
The application of this entity requires a receiving system which supports this rule concept. Most BoM
systems in the automotive industries do understand rules, they do not always understand the same
Boolean expressions. How rule information can be translated into generally understandable
information is at the preparation point of this document not solved. The current agreements of the
work group is to use this object as recommended in AP 214.
Page 25 of 75
CC8 Recommended Practices, Version 1.2 Review!
The meaning of this association is specified further by the attribute condition_type .
The data associated with a Class_condition_association are the following:
•
associated_condition;
•
associated_product_class;
•
condition_type;
•
description.
7.3.1
associated_condition
The associated_condition
Product_class.
specifies
the
Specification_expression
that
is
assigned to the
See Class_condition_association to Specification_expression for the application assertion.
7.3.2
associated_product_class
The associated_product_class specifies the Product_class for which the Specification_expression is
valid.
See Class_condition_association to Product_class for the application assertion.
7.3.3
condition_type
The condition_type specifies the meaning of the association.
The following values shall be used:
'design case': The Specification_expression specifies a condition when a given object has to be
designed and verified. This value of the condition_type is for information only and shall not be
interpreted when querying design cases or usage cases. For such a query, the value of the attribute
'configuration_type' of Configuration shall be evaluated;
NOTE: This value may be used to precise when a given Product_function or a given
Product_component has to be studied by the design department so that it provides solutions
appropriate for the case specified by 'associated_condition' and 'associated_product_class'.
'identification': The Specification_expression specifies a condition that enables to distinguish the
associated Product_class from other Product_class objects. This value is not applicable for a top level
node in a hierarchy of Product_class objects. This identification is part of the identification of all sub
classes of this Product_class;
'part usage': The Specification_expression specifies a condition for the usage of the components of
an Alternative_solution, the usage of an Item_instance or for the application of a Process_plan or a
Process_plan_operation_assignment in the products of the associated Product_class. In this case,
the Class_condition_association shall be referenced by at least one Configuration object;
´validity': The Specification_expression specifies a condition that is used to verify a
Product_specification for the associated Product_class. That means that the Specification_expression
evaluates to 'true' if the set of Specification objects is valid; otherwise it evaluates to 'false' with the
meaning that the specified object is invalid for the Product_class.
It is valid for all products belonging to the 'associated_product_class' in case of the condition types
'identification' and 'validity'.
Page 26 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.3.4
description
The description specifies additional information about the Class_condition_association. See
Class_condition_association to Multi_language_string for the application assertion. The description
need not be specified for a particular Class_condition_association.
If present, there shall be
Class_condition_association.
7.3.5
exactly
one
object
that
defines
the
description
for
a
ARM-AIM Mapping Class_condition_association
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
class_condition_association
(Create Entity) product_concept_feature_association
class_condition_association.associated_conditio product_concept_feature_association
n
product_concept_feature_association.feature ->
conditional_concept_feature.name = ‚expression‘
class_condition_association.associated_product product_concept_feature_association
_class
product_concept_feature_association.concept ->
product_class
class_condition_association.condition_type
product_concept_feature_association.name
7.4
Class_inclusion_association
This object can be used to represent the relationship between a class of products and packages of
product characteristics. This object can occur in data derived from systems which support a rule
based and or feature based variant control concept.
The application of this entity requires a receiving system which supports a package concept. How an
instance of a package and possible implicit semantics in the package can be translated into generally
understandable information is at the preparation point of this document not solved. The current
agreements of the work group is to use this object as recommended in AP 214.
This class_inclusion_association assignment contains the information
Specification_inclusion applies for all products of that Product_class.
that
a
particular
The data associated with a Class_inclusion_association are the following:
•
associated_inclusion;
•
associated_product_class;
•
description.
7.4.1
associated_inclusion
The associated_inclusion specifies the Specification_inclusion that is associated with the
Product_class.
See Class_inclusion_association to Specification_inclusion for the application assertion.
7.4.2
associated_product_class
The associated_product_class specifies the Product_class for which the Specification_inclusion is
valid.
See Class_inclusion_association to Product_class for the application assertion.
Page 27 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.4.3
description
The description specifies additional information about the Class_inclusion_association. See
Class_inclusion_association to Multi_language_string for the application assertion. The description
need not be specified for a particular Class_inclusion_association. If present, there shall be exactly
one object that defines the description for a Class_inclusion_association.
7.4.4
ARM-AIM Mapping Class_inclusion_association
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
class_inclusion_association
class_inclusion_association.
associated_inclusion
(create new entity) product_concept_feature_association
product_concept_feature_association
product_concept_feature_association.feature ->
product_concept_feature =>
conditional_concept_feature =>
inclusion_product_concept_feature
product_concept_feature_association
product_concept_feature_association.concept ->
product_concept =>
product_class
product_concept_feature_association.description
class_inclusion_association.
associated_product_class
class_inclusion_association. description
7.5
Class_specification_association
This entity is used to interconnect a class of products with its characteristics. These characteristics
describe potentially the products of that class and can also be those objects which are used to build
up rules, feature groups or packages. The outcome of the investigations of the work group was that
this entity can be applied as defined in AP 214.
The meaning of this association is specified further by the attribute association_type .
The data associated with a Class_specification_association are the following:
•
associated_product_class;
•
associated_specification;
•
association_type.
7.5.1
associated_product_class
The associated_product_class specifies the Product_class for which the Specification is valid.
See Class_specification_association to Product_class for the application assertion.
It is recommended to use the following levels of product_class:
1. Enterprise / Company
2. Technical information / platform
3. Configuration information
4. Furthest pre-configured abstract product class
For more details, see chapter 7.12.
Page 28 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.5.2
associated_specification
The associated_specification specifies the Specification that is associated with the Product_class.
See Class_specification_association to Specification for the application assertion.
Specifications can in general be associated to all levels of product_classes. It must be assured that
the associated levels are also reflected by the correct product characteristics, represented by
specifications.
7.5.3
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:
'availability': The Specification is a potential characteristic of any product belonging to a high level
Product_class. It is not specified if this is an option or a standard ;
If a system uses the association type ‘availability’, all available specifications should be associated to
product_class level 2. This is the level where also the maximum BoM is associated which therefore
should be reflected by the maximum of available specification.
'identification': The Specification is a characteristic that enables to distinguish the associated
Product_class from other Product_class objects. This is a kind of 'non replaceable standard'. This
value is not applicable for a top level node in a hierarchy of Product_class objects. This identification
is part of the identification of all sub classes of this Product_class ;
'non replaceable standard': The Specification is a characteristic of any product belonging to the
Product_class ;
'option': The Specification is a characteristic of a product if explicitly chosen. The Specification
replaces another Specification of the same specification category if the replaced Specification is
associated with the Product_class as 'replaceable standard' ;
'part usage': The Specification is a characteristic for the usage of the components of an
Alternative_solution, the usage of an Item_instance, or for the application of a Process_plan or a
Process_plan_operation_assignment in the products of the associated Product_class;
'replaceable standard': The Specification is a default characteristic of the products belonging to the
Product_class as long as no other specification of the same Specification_category is chosen .
7.5.4
ARM-AIM Mapping Class_specification_association
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
class_specification_association
class_specification_association.association_typ
e
class_specification_association.associated_prod
uct_class
class_specification_association.associated_spe
cification
class_specification_association.association_typ
e
class_specification_
association.associated_product_class
class_specification_
association.
associated_specification
(Create Entity) product_concept_feature_association
product_concept_feature_association.name=‘availability‘
product_concept_feature_association.concept
product_concept_feature_association.feature
product_concept_feature_association.name=‘availability‘
product_concept_feature_association.concept
product_concept_feature_association.feature
Page 29 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.6
Class_structure_relationship
As recommended from the work group 13 this entity defines the relationship between a class of
products and the abstract logical product structures. The logical product structures were represented
in the work group examples by hierarchies of product_components. Class_structure_relationship can
also be applied to point from a class of products to a functional structure of the products (represented
by product_function). There are the following recommendations from the project group with respect to
the application of this object.
For the first exchange scenario the Class_structure_relationship entity will be attached to the second
(in case of technical information) or to the third level (in case of product family) of a product_class
(see chapter 7.12). For the second case the Class_structure_relationship entity will be attached to
level four of the product_class entities. How data can be merged was not considered in the activities
of the project group.
The data associated with a Class_structure_relationship are the following:
•
description;
•
related;
•
relating;
•
relation_type.
7.6.1
description
The description specifies additional information about the Class_structure_relationship.
See Class_structure_relationship to Multi_language_string for the application assertion.
The description need not be specified for a particular Class_structure_relationship.
If present, there shall be
Class_structure_relationship.
7.6.2
exactly
one
object
that
defines
the
description
for
a
related
The related specifies the Product_component or Product_function object related by the
Class_structure_relationship.
NOTE The semantics of this attribute are defined by the attribute relation_type.
See Class_structure_relationship to Product_component and Class_structure_relationship to
Product_function for the application assertions.
There shall be exactly one object that the Class_structure_relationship is related to.
7.6.3
relating
The relating specifies the Product_class object related by the Class_structure_relationship.
NOTE The semantics of this attribute are defined by the attribute
Class_structure_relationship to Product_class for the application assertion.
relation_type.See
Page 30 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.6.4
4.2.69.4 relation_type
The relation_type specifies the meaning of the relationship.
Where applicable the following values shall be used:
'functionality': The related Product_function is an element of the functional structure of the relating
Product_class. This relation type shall only be used if the related object is a Product_function;
'realization': The related Product_component fulfils, partially or fully, the requirements identified with
the relating Product_class. This relation type shall only be used if the related object is a
Product_component.
7.6.5
ARM-AIM Mapping Class_structure_association
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
class_structure_relationship
class_structure_relationship.relating
(Create Entity) configuration_design
configuration_design
configuration_design.configuration ->
(Create Entity) configuration_item
configuration_item.item_concept ->
product_class
configuration_design
configuration_design.design ->
product_definition
configuration_design.name='realization'
class_structure_relationship.related
class_structure_relationship.relation_type
7.7
Complex_product
This entity was not used for the examples of the project group, but its sub-types. The mainly used
sub-types were Product_component and Alternative_solution. Therefore the recommendations
related to the application of these sub-types will be given in chapter 7.1 and chapter 7.14. No further
application recommendation to those in Ap 214 are given by the project group.
Each Complex_product is a Product_function, a Product_component, or an Alternative_solution.
The data associated with a Complex_product are the following:
•
id;
•
version_id.
7.7.1
id
The id specifies the identifier of the Complex_product. As within BoM systems an abstract object of
the product structure as well as a part can appear several times within the BoM, it is necessary to find
a unique identifier for the complex_product.id.
E.g. a product_component representing a variant module (e.g. variant assembly) could occur more
than once in a BoM, therefore using only the original id of the module for the id of the
product_component will lead to two or more product_component entities with the same id. This must
be avoided.
7.7.2
version_id
The version_id specifies the identification of a particular version of a Complex_product.
The version_id need not be specified for a particular Complex_product.
Page 31 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.7.3
ARM-AIM Mapping complex_product
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
complex_product
product_definition
7.8
Component_placement
Within the project group no
component_placement were made.
additional
recommendations
concerning
the
use
of
A Component_placement is the information pertaining to the placement of a Product_component,
which is defined in its own Cartesian_coordinate_space, in the coordinate space of a reference
Product_component.
An example for the use of a Component_placement is the placement of the Product_component
'steering wheel' dependent on left hand versus right hand steering in different countries.
The data associated with a Component_placement are the following:
•
placed_component;
•
placement;
•
reference_product_component.
7.8.1
placed_component
The placed_component specifies the Product_component that is positioned with respect to the
'reference_product_component'.
NOTE: The Component_placement does not define a placement for all variants of the
placed_component in the context of 'reference_product_component'.
The coordinate system that serves as a reference for the placement shall be specified by a
Model_property_association. the 'definition' of the Model_property_value shall be a General_property
with a 'property_type' of 'positioning'. The placement is only applicable for the placed_component and
Product_component or Item_instance objects that are explicitly placed in its coordinate space by
Component_placement or Instance_placement.
NOTE: The placement does not apply to variants of the placed_component, i.e., Alternative_solution
objects that refer to the placed_component as 'base_element'.
7.8.2
placement
The placement specifies the Geometric_model_relationship_with_transformation or the
Template_instance that defines the position of the 'placed_component' relatively to the
'reference_product_component'. In the case of Template_instance, the scale shall be omitted or set to
1.0.
7.8.3
reference_product_component
The reference_product_component specifies the high level Product_component that is defined in the
reference coordinate space. A Model_property_association shall be assigned to the
reference_product_component to define this reference coordinate space.
Page 32 of 75
CC8 Recommended Practices, Version 1.2 Review!
Product_
component #1
Component_
placement #1.1
Product_
component #1.1
Product_
component #1.2
Steering wheel,
left hand
Steering wheel,
right hand
Component_
placement #1.2
Figure 7.1: Component_placement and Product_components
7.8.4
ARM-AIM Component_placement
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
Component_placement
(if component_placement.placement is a
geometric_model_relationship_with_transformation:
(Create entity) representation_relationship_with_transformation <=
representation_relationship
{representation_relationship.name = ‘component placement’})
(if component_placement.placement is a template_instance:
(Create entity) mapped_item)
(if component_placement.placement is a
geometric_model_relationship_with_transformation:
representation_relationship_with_transformation <=
representation_relationship
{representation_relationship.name = ‘component placement’}
representation_relationship.rep_1 ->)
(if component_placement.placement is a template_instance:
mapped_item
mapped_item.mapping_source ->
(Create entity) representation_map
representation_map.mapped_representation ->)
(Create entity) representation <{representation.name = 'model property value'}
property_definition_representation.used_representation
(Create entity) property_definition_representation
property_definition_representation.definition ->
represented_definition
represented_definition = property_definition
(Create entity) property_definition
property_definition.definition ->
characterized_definition
characterized_definition = characterized_product_definition
(Create entity) characterized_product_definition
characterized_product_definition = product_definition
product_definition
{product_definition.frame_of_reference ->
product_definition_context <=
application_context_element
application_context_element.name = 'conceptual definition'}
product_definition.formation ->
product_definition_formation
(if component_placement.placement is a
geometric_model_relationship_with_transformation:
representation_relationship_with_transformation <=
representation_relationship
{representation_relationship.name = ‘component placement’})
(if component_placement.placement is a template_instance:
mapped_item
mapped_item.mapping_target ->
representation_item =>
geometric_representation_item =>
Component_placement.placed_component
Component_placement.placement
Page 33 of 75
CC8 Recommended Practices, Version 1.2 Review!
AP214-ARM Mapping / Rule
Component_placement.
reference_product_component
7.9
AP214-AIM Mapping / Rule
(placement)
(cartesian_transformation_operator
(cartesian_transformation_operator.scl = 1.0)
(cartesian_transformation_operator.scl = $)))
(if component_placement.placement is a
geometric_model_relationship_with_transformation:
representation_relationship_with_transformation <=
representation_relationship
{representation_relationship.name = ‘component placement’}
representation_relationship.rep_2 ->)
(if component_placement.placement is a template_instance:
mapped_item <=
representation_item <representation.items[i])
(Create entity) representation <{representation.name = 'model property value'}
property_definition_representation.used_representation
(Create entity) property_definition_representation
property_definition_representation.definition ->
represented_definition
represented_definition = property_definition
(Create entity) property_definition
property_definition.definition ->
characterized_definition
characterized_definition = characterized_product_definition
(Create entity) characterized_product_definition
characterized_product_definition = product_definition
product_definition
{product_definition.frame_of_reference ->
product_definition_context <=
application_context_element
application_context_element.name = 'conceptual definition'}
product_definition.formation ->
product_definition_formation
Configuration
This object connects those objects which are subject to configuration with configuration control
objects (Class_specification_association and Class_condition_association). The objects which can be
configured are the following:
Entity
Subject to project
group work
(ABS) Item_instance
yes
Process_plan
no
process_plan_operation_assignment
no
Alternative_solutions
yes
Product_components
yes
Product_function
no
A configuration may point to all levels of product_component or (ABS)item_instance instances. If
possible the configuration for the complete configuration mechanism (e.g. completely resolved rule)
should point to the technical_solution object which defines the leaf of a product_component tree. (see
also chapter 7.26) At any level in a product_component tree the configuration entity should carry the
Page 34 of 75
CC8 Recommended Practices, Version 1.2 Review!
completely resolved configuration information of the higher product_components. See also Figure
below:
Product _
component 1
Cockpit
Product_
Rule: +Model Type X
component 2.1 + Left hand drive
Interior
Rule: +Model Type X
Abstract
Product
Structure
Seats
Product _
Rule: +Model Type X
component 2.2 + Left Hand Drive
Configuration x
Configuration x
Configuration x
Configuration x
Configuration x
Radio
Product _
Rule: +Model Type X
component 3.1 + Left hand drive
+ Customer choice
Basic radio
Technical _
solution 1
with tape player
Rule: +Model Type X
+ Left hand drive
+ Standard Radio
- Optional Radio
Technical _
solution 2
Radio with
tape player
and CD
Assembly
Structure
Rule: +Model Type X
+ Left hand drive
+ Optional Radio
- Standard Radio
Figure 7.2: Interconnection of configuration and variant product structure, related
configuration information (Rules)
NOTE The validity of the association may be limited by a time period through assigning an Effectivity
object to it.
NOTE The semantics of the kind of association is defined by the attributes configuration_type and
inheritance_type.
The data associated with a Configuration are the following:
•
configuration_type;
•
configured_element;
•
inheritance_type;
•
is_solution_for.
7.9.1
configuration_type
The configuration_type specifies the valid usage of a Configuration object that is applied to the
application object as configured_element.
The following values shall be used:
'design': The object referenced as configured_element has to be designed and verified before it can
actually be used in a given context. This context is specified by the Class_condition_association and
Class_specification_association objects referenced as the is_solution_for.
This type of Configuration is applicable for Alternative_solution, Product_component,
Product_function, Process_plan, or Process_plan_operation_assignment objects;
Page 35 of 75
CC8 Recommended Practices, Version 1.2 Review!
'usage': The object referenced as the configured_element is controlled by a Configuration. The
Class_condition_association and Class_specification_association objects specify the usage cases
and are referenced as the is_solution_for.
This type of Configuration is applicable for Alternative_solution, Item_instance, Process_plan, or
Process_plan_operation_assignment objects.
The value ´usage´ is used for Configuration.configuration_type when a product_component is subject
of the configuration. This was agreed as in BoM systems ´design´ only applies in few cases and
´usage´ is the common case for the configuration.
7.9.2
configured_element
The configured_element specifies the application object that is controlled for its valid usage by the
Configuration.
See Configuration to Alternative_solution, Configuration to Item_instance, Configuration to
Process_plan,
Configuration
to
Process_plan_operation_assignment,
Configuration
to
Product_component, and Configuration to Product_function for the application assertions.
There shall be exactly one object that defines the configured_element for a Configuration.
7.9.3
inheritance_type
The inheritance_type specifies whether or not an inheritance scheme for the configuration information
in a hierarchical structure is applied to the application object referenced as the configured_element.
The levels within such a hierarchy are defined through Product_structure_relationship objects or the
attribute 'base_element' of Alternative_solution.
The following values shall be used:
'exception': 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 ;
EXAMPLE A situation where the inheritance_type 'exception' is applicable is a technical solution
released for an one particular customer without support in higher structure levels.
'inherited': 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;
'local': 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, i.e., be a subset of the locally defined configuration
information.
In order to exchange always complete sets of configuration information the project group examples
usually applied the value "local" for configuration.inheritance_type.
Page 36 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.9.4
is_solution_for
The is_solution_for specifies the characteristic or combination of characteristics for which the object
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 where the attribute 'condition type' is
'part usage'.
See
Configuration
to
Class_condition_association
and
Configuration
to
Class_specification_association for the application assertions. There shall be exactly one object that
the Configuration is_solution_for.
7.9.5
ARM-AIM Mapping Configuration
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
configuration
configuration.configurated_element
(Create Entity) configured_effectivity_assignment
configured_effectivity_assignment.items[] ->
product_definition
configured_effectivity_assignment <configured_effectivity_context_assignment.assigned_effectivity_assignment
(Create Entity) configured_effectivity_context_assignment
configured_effectivity_context_assignment.items[i] ->
product_concept_feature_association
configured_effectivity_assignment <role_association.item_with_role
(Create Entity) role_association
role_association.role ->
(Create Entity) object_role
object_role.name = 'usage'
configured_effectivity_assignment <role_association.item_with_role
role_association
role_association.role ->
object_role
object_role.description = 'local'
configuration.is_solution_for
configuration.configuration_type
configuration.inheritance_type
7.10
General_item_definition_instance_relationship
No special recommendations with respect to the application of this object can be given.
EXAMPLE The relationship between the definition (Design_discipline_item_definition) of a rubber
gasket and the instances (Item_instance) of the doors the gasket is used for, is an example for a
General_item_definition_instance_relationship. In this case the relationship gives information that the
length of the gasket depends on the actual shape of each door.
A General_item_definition_instance_relationship is a type of Item_definition_instance_relationship.
The data associated with a General_item_definition_instance_relationship are the following:
•
description;
•
relation_type.
7.10.1 description
The
description
specifies
additional
information
about
the
General_item_definition_instance_relationship. See General_item_definition_instance_relationship to
Multi_language_string for the application assertion.
The description need not be specified for a particular General_item_definition_instance_relationship.
Page 37 of 75
CC8 Recommended Practices, Version 1.2 Review!
If present, there shall be exactly one
General_item_definition_instance_relationship.
object
that
defines
the
description
for
a
7.10.2 relation_type
The relation_type specifies the meaning of the relationship.
7.10.3 ARM-AIM Mapping General_item_definition_instance_relationship
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
General_item_definition_instance_relationship
(create entity) product_definition_relationship
General_item_definition_instance_relationship.d product_definition_relationship. description
escription
General_item_definition_instance_relationship.re product_definition_relationship.name
lation_type
7.11
Item_instance
The sub-types of Item_instance were used in all examples of the project group. The Item_instance
entity associates the occurrence of parts with the abstract product structure. With respect to its
application no additional recommendations to AP 214 are necessary.
An Item_instance shall be used,
Assembly_component_relationship.
at
least
once,
as
an Alternative_solution or
in an
EXAMPLE In the case of a car, the Item 'wheel' is defined once. Its Design_discipline_item_definition
carries all the information necessary to define the wheel (e.g., its shape) independent of its usage.
Additionally, there are 5 Item_instance objects for this wheel since there are 5 equal wheels used in a
car: Front-left, front-right, rear-left, rear-right, and spare wheel. Each of these instances may carry
additional information such as placement or function.
An Item_instance is a type of Product_constituent.
Each Item_instance is a Single_instance, a Quantified_instance, a Selected_instance, or a
Specified_instance.
The data associated with an Item_instance are the following:
•
definition;
•
description;
•
id.
7.11.1 definition
The definition specifies the Design_discipline_item_definition or the Product_identification that serves
as a definition for this particular occurrence. If an appropriate Design_discipline_item_definition is
available, this Design_discipline_item_definition shall be used as definition, otherwise a
Product_identification shall be referenced.
See Item_instance to Design_discipline_item_definition and Item_instance to Product_identification
for the application assertions.
There shall be exactly one object that defines the definition for an Item_instance.
Page 38 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.11.2 description
The description specifies additional information about the Item_instance.
See Item_instance to Multi_language_string for the application assertion.
The description need not be specified for a particular Item_instance.
If present, there shall be exactly one object that defines the description for an Item_instance.
7.11.3 id
The id specifies the identifier of the Item_instance.
7.11.4 ARM-AIM Mapping Item_instance
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
Item_instance
(Create entity) product_definition
product_definition.frame_of_reference ->
product_definition_context <=
application_context_element
application_context_element.name = 'part occurrence'
product_definition <(if item_instance is referenced by an assembly_component_relationship
as related:
[product_definition_occurrence_relationship.occurrence
(Create entity) product_definition_occurrence_relationship
product_definition_occurrence_relationship.occurrence_usage ->]
[product_definition_relationship.related_product_definition
(Create entity) product_definition_relationship
product_definition_relationship.name = 'definition usage'
product_definition_relationship.relating_product_definition ->
product_definition <{product_definition.frame_of_reference ->
product_definition_context <=
application_context_element
application_context_element.name = 'part definition'}
product_definition_relationship.related_product_definition
product_definition_relationship =>
product_definition_usage =>]
assembly_component_usage)
(if item_instance is not referenced by an
assembly_component_relationship as related:
[product_definition_relationship.related_product_definition
(Create entity) product_definition_relationship
product_definition_relationship.name = 'definition usage']
[product_definition_relationship.related_product_definition
product_definition_relationship =>
product_definition_usage])
product_defintion <product_definiton_relationship.related_product_definiton
(Create entity) product_definition_relationship
{product_definition_relationship.name = 'definition usage'}
product_definition_relationship.relating_product_definition ->
product_definition
(if item_instance is referenced by an assembly_component_relationship
as related:
[product_definition.description]
[product_definition_relationship.description])
(if item_instance is not referenced by an
assembly_component_relationship as related:
product_definition.description)
(if item_instance is referenced by an assembly_component_relationship
as related:
[product_definition.id]
[product_definition_relationship.id])
(if item_instance is not referenced by an
assembly_component_relationship as related:
product_definition.id)
Item_instance.definition (->ddid)
Item_instance.description
Item_instance.id
Page 39 of 75
CC8 Recommended Practices, Version 1.2 Review!
AP214-ARM Mapping / Rule
7.12
AP214-AIM Mapping / Rule
Product_class
Within the BoM and product configuration systems which were considered by the activities of the
project group the concepts for classifying products was one of the crucial points to manage product
variant. All systems classify products according to company internal view and policies and some
concepts are comparable, but usually were never alike.
With respect to the application of this entity the following recommendations and agreements were
made:
Number of levels:
The use of four levels of product_class is recommended:
1. Enterprise (Company): The highest level of the product_class instance in a file must always
represent the company. This is necessary as some systems have this class as a general starting
point. The id of this instance will be a unique identifier for the relevant company. This class
carries no variant control information but only characteristics (e.g. specification,
specification_category etc.) of that class.
2. Technical information / platform: This instance of the product_class reflects the level of a product
class in a BoM system which represents a main technical product base (e.g. project, platform,
engineering series etc.). In some cases this level carries a complete BoM ("Maximum BoM") for a
project, platform, engineering series etc. This level is in some cases called technical
documentation. This level carries only characteristics of this class level, no variant control
mechanisms are attached.
3. Configuration information / product family: This instance will be the one to which all variant
control mechanism are attached. For trucks configuration information (specifications,
specification_expression etc.) may be associated on level three and four. For cars this may only
be attached on level three.
4. Furthest pre-configured abstract product class: This instance of a product_class represents the
furthest configured class of a product, which is not yet a real product. E.g. this could be a
complete vehicle, engine, gear-box etc. which has not been evaluated against customer special
choices or a abstract vehicle, engine, gear-box etc. which could become a real one after the
associated BoM is evaluated. The purpose of this level of a product class instance is in any case
to reflect that level of product class of a BoM system which leads to the individual BoM for a
single product. This product class level will be particularly exchanged in the context of scenario
2, “Exchange of a single BoM”.
An example for cars see below:
Page 40 of 75
CC8 Recommended Practices, Version 1.2 Review!
product_class#1
id=´STEP-Cars´
level_type=´enterprise´
relating
product_class
_relationship#1
relation_type=´hierarchy´
related
relation_type=
´realization´
class_structure_
relationship#1
relating
product_class#2
related
id=´AV999.000´
instance_
required=´true´
product_
component#1
id=´MC´
level_type=´platform
[technical documentation]
relating
description=
´STEP cars
middle class
vehicle´
product_class
_relationship#2
relation_type=´hierarchy´
related
relation_type=
´realization´
relating
class_structure_
relationship#2
product_class#3
related
id=´AV999.100´
instance_
required=´true´
product_
component#2
id=´MCL20´
level_type=´product family
[Configuration information
relating
description=
´STEP cars
middle class
limousine, 2l
engine´
product_class
_relationship#3
relation_type=´hierarchy´
related
relation_type=
´realization´
relating
class_structure_
relationship#3
related
id=´AV999.130´
instance_
required=´true´
product_
component#3
product_class#4
description=
´STEP cars
middle class
limousine, 2l
engine, standard
equipment, USA
marketing set´
id=´MCL20 st US´
level_type=´furthest
pre-configured
abstract product
class´
Figure 7.3: Example levels of product_class
Product_component entities can be attached by a class_structure_relationship from level two on but
not on level one (see chapter 7.6).
The structure of the product_class entities shall be hierarchical. Specification entities can be assigned
on all levels in order to represent characteristics, available choices etc. of that particular
Product_class, but only on level three (trucks: three and four) those specifications are to be assigned
which are used to build rules, feature groups or specification control in general.
In the case that more than four product class levels are managed in a Product Coding system, it is
recommended to proceed as follows:
1. The system internal product classes should be mapped onto the four levels described above. In
general, this is only possible if available valid specifications, specification_categories and
specification_expressions associated to different product classes of the same level are
compatible for one specific exchange file. Whether this is the case or not has to be evaluated in
each specific scenario.
Page 41 of 75
CC8 Recommended Practices, Version 1.2 Review!
2. If it is not at all possible to use the four recommended levels the following rules are to be
considered:
(a)
The highest level of the product_class instance in a file must always represent the company
(level = ‘enterprise’).
(b)
In the context of scenario 2 the lowest level of product_class must always be the furthest
pre-configured abstract product class as recommended above.
The data associated with a Product_class are the following:
•
description;
•
id;
•
level_type;
•
name;
•
version_id.
7.12.1 description
The description specifies additional information about the Product_class.
See Product_class to Multi_language_string for the application assertion.
The description need not be specified for a particular Product_class.
If present, there shall be exactly one object that defines the description for a Product_class.
7.12.2 id
The id specifies the identifier of the Product_class that shall be unique.
NOTE The scope of the uniqueness is usually dependent on the form of implementation; it may be
e.g., a physical file or a data base.
7.12.3 level_type
The level_type specifies the level or category of this Product_class in a hierarchical structure of
Product_class objects.
It is recommended to use the following values:
•
´enterprise´ for product-class level 1
•
´platform´ for product-class level 2
•
´product family´ for product-class level 3
•
´furthest pre-configured abstract product class´ for product-class level 4
7.12.4 name
The name specifies the word or group of words by which the Product_class is referred to.
See Product_class to Multi_language_string for the application assertion.
Page 42 of 75
CC8 Recommended Practices, Version 1.2 Review!
The name need not be specified for a particular Product_class.
If present, there shall be exactly one object that defines the name for a Product_class.
7.12.5 version_id
The version_id specifies the identification of a particular version of a Product_class.
The version_id need not be specified for a particular Product_class.
7.12.6 ARM-AIM Mapping Product_class
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
product_class
product_class <=
product_concept
product_class <=
product_concept.id
product_class <=
characterized_object.name
product_class <=
product_concept.name
product_class <= product_concept.description
product_class.id
product_class.level_type
product_class.name
product_class.
description
7.13
Product_class_relationship
This entity is used to interconnect the different instances of the Product_class entity. No special
recommendation, besides see chapter 7.13.4, were made by the project group.
The data associated with a Product_class_relationship are the following:
•
description;
•
related;
•
relating;
•
relation_type.
7.13.1 description
The description specifies additional information about the Product_class_relationship.
See Product_class_relationship to Multi_language_string for the application assertion.
The description need not be specified for a particular Product_class_relationship.
If present, there shall
Product_class_relationship.
be
exactly
one
object
that
defines
the
description
for
a
7.13.2 related
The related specifies the
Product_class_relationship.
second
of
the
two
Product_class
objects
related
by
the
NOTE The semantics of this attribute are defined by the attribute relation_type.
See Product_class_relationship to Product_class for the application assertion.
Page 43 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.13.3 relating
The relating specifies the
Product_class_relationship.
first
of
the
two
Product_class
objects
related
by
the
NOTE The semantics of this attribute are defined by the attribute relation_type.
See Product_class_relationship to Product_class for the application assertion.
7.13.4 relation_type
The relation_type specifies the meaning of the relationship. The work group 13 recommend for
exchange purposes to use for Product_class.relation_type 'hierarchy'.
Where applicable the following values shall be used:
'derivation': the Product_class_relationship defines a relationship where the related Product_class is
derived from the relating Product_class;
'hierarchy': the Product_class_relationship defines a relationship where the relating Product_class is
on a higher level in the hierarchy of Product_class objects than the related Product_class; 'version
sequence' was not used for the project group examples
NOTE The relationship does not imply inheritance of any kind between the application objects that are
related.
7.13.5 ARM-AIM Mapping Product_class_relationship
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
product_class_relationship
product_class_
relationship.relating
product_class_
relationship.related
product_class_
relationship.
relation_type
product_concept_relationship.
product_concept_relationship.
relating_product_concept
product_concept_relationship.
related_product_concept
(product_concept_relationship.name)
(product_concept_relationship.name=‘derivation‘)
(product_concept_relationship.name=‘hierarchy‘)
(product_concept_relationship.name=‘version sequence‘)
(product_concept_relationship.name=‘substitution‘)
7.14
Product_component
The Product_component entity was applied in the project group examples to represent the abstract
and/or specification controlled product structure which is managed within BoM systems. The highest
level of a product_component must always represent the associated Product_class (see chapter 7.6).
It must be stressed that some BoM systems do not support the product_component object at all.
When data is transferred to such systems there is a danger of data loss. For the addressed scenario
of the project group recommendations this problem is not of major importance, but in long terms
need some more agreement work. There are no further recommendations besides those of AP 214
and the above mentioned points with respect to the application of this entity.
Product_component is a type of a Complex_product and Product_constituent. The data associated
with a product_component are the following:
•
description
•
instance_required
•
is_influenced_by
Page 44 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
is_relevant_for
•
name
7.14.1 description
The description specifies additional information about the product_component. The description need
not be specified for a particular Product_component. If present, there shall be exactly one object that
defines the description for a Product_component.
7.14.2 instance_required
The instance_required specifies if the existance of a corresponding Item_instance is required for te
various Alternative_solution objects of that Product_component. A value of "true" indicates that the
corresponding Item_instnace is required.
7.14.3 is_influenced_by
The is_influenced_by specifies the Specification_category objects that impacts the design of a
solution for the Product_component in the context of the Product_class objects that are referred to by
the Class_category_association objects.
7.14.4 is_relevant_for
The is_relevant_for specifies the Application_context in which the Product_component has to be
considered.
7.14.5 name
The name specifies the word or group of words by which the Product_component is referred to.
7.14.6 ARM-AIM Mapping Product_component
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
product_component
[(Create Entity) product_definition_formation
product_definition_formation.of_product ->
(Create Entity) product
product_related_product_category.products[i]
product_related_product_category <=
product_category
product_category.name = 'conceptual product']
[product_definition_formation <product_definition.formation
(Create Entity) product_definition
product_definition.frame_of_reference ->
(Create Entity) product_definition_context <=
application_context_element
application_context_element.name = 'conceptual definition’]
product_definition_formation
product_definition_formation.of_product ->
product
product.id
product_definition_formation
product_definition_formation.of_product ->
product
product.name
product_definition_formation <product_definition.formation
product_definition
product_definition.name
{(if product_component.instance_required is TRUE:
product_definition.name = 'instance required')
(if product_component.instance_required is FALSE:
product_definition.name = ‘no instance required')}
product_component.id
product_component.name
product_component.instance_required
Page 45 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.15
Product_constituent
A Product_constituent is an object that may participate in the functional, logical, or physical breakdown or be an alternate realization of a Complex_product. No special recommendation were made.
Each Product_constituent is a Product_component, a Product_function, or an Item_instance.
7.15.1 ARM-AIM Mapping Product_constituent
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
Product_constituent
(if product_constituent is an item_instance:
product_definition)
(if product_constituent is not an item_instance:
product_definition_formation)
7.16
Product_function
This object was applied by the project group to represent a functional view on product_components.
Product_components in different branches of a product component tree can belong to one common
product function (see example in section 8). Product_functions can also be composed to a product
function tree.
A Product_function is a behaviour or an action expected from a product.
EXAMPLE: The Product_function 'transportation' with sub-functions 'acceleration' and 'retardation' or
the Product_function 'illumination' with sub-functions 'exterior illumination' and 'interior illumination' are
examples for Product_function objects in a hierarchical structure.
A Product_function is a type of Complex_product and Product_constituent.
The data associated with a Product_function are the following:
•
description;
•
is_relevant_for;
•
name.
7.16.1 description
The description specifies additional information about the
Product_function.
The description need not be specified for a particular Product_function.
If present, there shall be exactly one object that defines the description for a Product_function.
7.16.2 is_relevant_for
The is_relevant_for specifies the Application_context objects in which the Product_function has to be
considered.
7.16.3 name
The name specifies the word or group of words by which the Product_function is referred to.
Page 46 of 75
CC8 Recommended Practices, Version 1.2 Review!
The name need not be specified for a particular Product_function.
If present, there shall be exactly one object that defines the name for a Product_function.
7.16.4 ARM-AIM Mapping Product_function
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
product_function
[(Create Entity) product_definition_formation
product_definition_formation.of_product ->
(Create Entity) product
product_related_product_category.products[i]
product_related_product_category <=
product_category
product_category.name = 'functionality']
[product_definition_formation <product_definition.formation
(Create Entity) product_definition
product_definition.frame_of_reference ->
(Create Entity) product_definition_context <=
application_context_element
application_context_element.name = 'functional definition’]
product_definition_formation
product_definition_formation.of_product ->
product
product.id
product_definition_formation
product_definition_formation.of_product ->
product
product.name
product_definition_formation <product_definition.formation
product_definition
product_definition_context_association.definition
(Create Entity) product_definition_context_association
{product_definition_context_association.role ->
(Create Entity) product_definition_context_role
product_definition_context_role.name = 'application context’}
product_definition_context_association.frame_of_reference ->
product_definition_context
product_function.id
product_function.name
product_function.is_relevant_for
7.17
Product_structure_relationship
This object was applied by the project group to represent the relationship between objects of the
abstract and variant product structure. There are no additional recommendations with respect to its
application.
The data associated with a Product_structure_relationship are the following:
•
description;
•
related;
•
relating;
•
relation_type.
7.17.1 description
The description specifies additional information about the Product_structure_relationship.
See Product_structure_relationship to Multi_language_string for the application assertion.
The description need not be specified for a particular Product_structure_relationship.
Page 47 of 75
CC8 Recommended Practices, Version 1.2 Review!
If present, there shall be
Product_structure_relationship.
exactly
one
object
that
defines
the
description
for
a
7.17.2 related
The related specifies the Product_constituent that is a functional, logical, or physical component or a
realization of the relating Complex_product.
NOTE The semantics of this attribute are defined by the attribute relation_type.
See Product_structure_relationship to Product_constituent for the application assertion.
7.17.3 relating
The relating specifies the Complex_product that is decomposed functionally, logically, or physically
into or realized by the related Product_constituent.
NOTE The semantics of this attribute are defined by the attribute relation_type.
See Product_structure_relationship to Complex_product for the application assertion.
7.17.4 relation_type
The relation_type specifies the meaning of the relationship. Where applicable the following values
shall be used:
'decomposition': The related Product_constituent is one of potentially more components of the relating
Complex_product. This relation type shall only be used for Complex_product and Product_constituent
of the same type;
'functionality': The related Product_constituent is an element of the functional structure of the relating
Complex_product. This relation type shall only be used with a Complex_product of type
Alternative_solution or Product_component and with a Product_constituent of type Product_function ;
EXAMPLE The Product_function 'heat dissipation' may be considered as one of the functionalities to
be fulfilled by any technical solution for the Product_component 'braking system'.
'realization': The related Product_constituent is a means for fulfilling, either partially or fully, the
requirements identified with the relating Complex_product. This relation type shall be used only when
the Complex_product and the Product_constituent are of different types ;
EXAMPLE The Product_component 'braking system' may be considered as a means to realize the
Product_function 'braking'.
'specialization': The related Product_constituent fulfils the requirements of the relating
Complex_product in a more specific way than defined for the relating Complex_product. This relation
type shall only be used for Product_constituent and Complex_product of the same type.
7.17.5 ARM-AIM Mapping Product_structure_relationship
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
product_structure_relationship
product_structure_relationship.relating
(Create Entity) product_definition_relationship
product_definition_relationship.relating_product_definition ->
product_definition
product_definition_relationship.related_product_definition ->
product_definition
product_definition_relationship.name=‘decomposition‘
product_structure_relationship.related
product_structure_relationship.relation_type
Page 48 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.18
Quantified_instance
This object was applied to represent a part occurrence in a BoM for which the quantity of the
occurrence is important.
EXAMPLE In a Technical_solution for the front left brake a certain screw is used four times.
There are no special recommendations given related to the application of this entity. With this object
parts can not be positioned.
A Quantified_instance is a type of Item_instance.
The data associated with a Quantified_instance are the following:
•
quantity
7.18.1 quantity
The quantity specifies a value and a unit specifying the quantity of occurrences.
If the quantity can not be expressed as a particular value, the concept of Selected_instance shall be
used instead to represent this instance.
NOTE The quantity may be specified as a count measure, as a mass measure, as a length measure,
as an area measure, or as a volume measure.
See Quantified_instance to Nominal_value for the application assertion.
7.18.2 ARM-AIM Mapping Quantified_instance
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
quantified_instance
(Create Entity) product_definition
[product_definition.frame_of_reference ->
(Create Entity) product_definition_context
product_definition_context.name=‘part occurrence‘]
[product_definition <name_attribute.named_item
(Create Entity) name_attribute
name_attribute.attribute_value='quantified instance']
product_definition.id
product_definition <product_definition_relationship.related_product_definition
(Create Entity) product_definition_relationship
{product_definition_relationship.name='definition usage‘}
product_definition_relationship.relating_product_definition ->
product_definition
product_definition <property_definition.definition
(Create Entity) property_definition <{property_definition.description=‘occurrence quantity‘}
property_definition_representation.definition
(Create Entity) property_definition_representation
property_definition_representation.used_representation ->
(Create Entity) representation
{representation.name='quantity'}
representation.items[i] ->
measure_representation_item
measure_representation_item.name = 'quantity measure'
quantified_instance.id
quantified_instance.definition
quantified_instance.quantity
Page 49 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.19
Single_instance
This object can be applied to represent a single occurrence of a part in a BoM.
NOTE A Single_instance may or may not be associated with placement information using an
Instance_placement.
EXAMPLE In a Technical_solution for the 'front left brake' a 'brake disk' is used and its position is
specified by a geometric Transformation.
A Single_instance is a type of Item_instance.
7.19.1 ARM-AIM Mapping Single_instance
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
single_instance
(Create Entity) product_definition
[product_definition.frame_of_reference ->
(Create Entity) product_definition_context
product_definition_context.name=‘part occurrence‘]
[product_definition <name_attribute.named_item
(Create Entity) name_attribute
name_attribute.attribute_value='single instance']
product_definition.id
product_definition <product_definition_relationship.related_product_definition
(Create Entity) product_definition_relationship
{product_definition_relationship.name='definition usage‘}
product_definition_relationship.relating_product_definition ->
product_definition
single_instance.id
single_instance.definition
7.20
Selected_instance
A Selected_instance is the instance of an Item whose quantity depends on certain constraints.
This entity was not used in the project group examples, therefore no special recommendations can
be given.
EXAMPLE In a BOM where the exact amount of grease or glue can usually not be specified as a
quantity, the specification of this grease or glue are examples for Selected_instance objects.
EXAMPLE To minimize the concentricity error of a wheel, weights are attached to the rim; this set of
weights is a Selected_instance.
The quantity as well as the position of these weights depends on the concentricity behaviour of each
particular wheel as manufactured and tested.
A Selected_instance is a type of Item_instance.
The data associated with a Selected_instance are the following:
•
selected_quantity;
•
selection_control.
7.20.1 selected_quantity
The selected_quantity
Selected_instance.
specifies
the
number
of
occurrences
of
instances
foreseen
as
Page 50 of 75
CC8 Recommended Practices, Version 1.2 Review!
NOTE If the quantity is to be specified as a minimum and/or a maximum, then Value_limit or
Value_range may be used
See Selected_instance to Value_with_unit for the application assertion.
7.20.2 selection_control
The selection_control specifies the constraint that has to be evaluated for the Selected_instance.
EXAMPLE 'as required for balance' and 'as required for lubrication' are examples for a
selection_control.
7.20.3 ARM-AIM Mapping Selected_instance
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
Selected_instance
product_defintion
7.21
Specification
This entity was applied in the project group examples to represent characteristics of product classes
and the smallest building blocks of rules, feature groups and packages. With respect to its application
no special recommendations need to be made.
NOTE A Specification may be a characteristic of the members of more than one Product_class using
Class_specification_association objects.
NOTE A Specification in combination with a Configuration may be used to define under which
conditions an Item is used for a product of a Product_class.
The data associated with a Specification are the following:
•
category;
•
description;
•
id;
•
name;
•
package;
•
version_id.
7.21.1 category
The category specifies the Specification_category that completes the semantics of the Specification.
See Specification to Specification_category for the application assertion.
In
case
no
specification_category
exists
in
the
native
system
specification_category.id=´/NULL´ could be instantiated to which all specifications point.
one
with
7.21.2 description
The description specifies additional information about the Specification.
Page 51 of 75
CC8 Recommended Practices, Version 1.2 Review!
See Specification to Multi_language_string for the application assertion.
The description need not be specified for a particular Specification.
If present, there shall be exactly one object that defines the description for a Specification.
7.21.3 id
The id specifies the identifier of the Specification that shall be unique within the scope of a
Specification_category.
7.21.4 name
The name specifies the word or group of words by which the Specification is referred to.
See Specification to Multi_language_string for the application assertion.
The name need not be specified for a particular Specification.
If present, there shall be exactly one object that defines the name for a Specification.
7.21.5 package
The package specifies whether this Specification represents a package of Specification objects or
not. Such a Specification combines those Specification objects 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 objects
that are members of the package, shall be specified as included_specification.
NOTE Commercial packages may be defined by the marketing department.
NOTE Usually the members of a package belong to distinct Specification_category objects.
EXAMPLE A sports package contains sports seats, a special steering wheel, special tyres and
wheels. A winter package contains heated front seats, heated windshield washers, heated exterior
mirrors, and special tyres.
7.21.6 version_id
The version_id specifies the identification of a particular version of a Specification.
The version_id need not be specified for a particular Specification.
7.21.7 ARM-AIM Specification
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
specification
specification.id
specification.category
(Create Entity) product_concept_feature
product_concept_feature.id
product_concept_feature <applied_group_assignment.items[1]
(Create Entity) applied_group_assignment <{role_association.item_with_role
(Create Entity) role_association
role_association.role ->
(Create Entity) object_role
object_role.name = ‚specification category member‘}
applied_group_assignment.assigned_group ->
product_concept_feature_category
if specification.package=‘true‘ specification maps to
package_product_concept_feature, other wise see above
product_concept_feature.name
specification.package
specification.name
Page 52 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.22
Specification_category
Within the project group this entity was applied to represent groups of specifications. These groups
collect characteristics of a product class from which one (mutually exclusive) or more can be chosen.
Usually these groups of specifications collect characteristics of the same kind, e.g. engines, color or
special equipment.
With respect to its application no additional recommendations need to be made. Feature groups are
not always supported by BoM systems. E.g. Rule based systems sometimes can not manage this
type of data. Very often feature groups are combined with rules.
If this entity is applied, it must be understood and agreed if and how the receiving system will
understand these objects and a data loss can be avoided. Further investigations for a general
solution need to be made. For additional examples see chapter 8.
The data associated with a Specification_category are the following:
•
description;
•
id;
•
implicit_exclusive_condition.
7.22.1 description
The description specifies information about the Specification_category.
EXAMPLE The description 'trim' characterizes a Specification_category for Specification objects that
controls the quality and colour of the interior parts including e.g., inner door panels and upholstery.
Other examples are 'kind of drive', 'rear brake type', 'brake power regulator', 'radio equipment', or
'type of car body'.
See Specification_category to Multi_language_string for the application assertion.
There shall be exactly one object that defines the description for a Specification_category.
7.22.2 id
The id specifies the identifier of the Specification_category that shall be unique.
NOTE The scope of uniqueness is usually dependent on the form of implementation; it may be e.g., a
physical file or a data base.
7.22.3 implicit_exclusive_condition
The implicit_exclusive_condition specifies whether the Specification objects within the
Specification_category are mutually exclusive for the production of one particular product. A value of
'true' indicates that the referenced objects are mutually exclusive for the production of the particular
product.
EXAMPLE 'safety equipment' is an example for a non mutually exclusive Specification_category if
e.g. ABS and airbag are Specification objects in this category. 'engine' is an example for a
Specification_category with an implicit_exclusive_condition since usually only one engine can be
mounted for power supply.
NOTE More complex conditions can be handled using Specification_expression objects.
Page 53 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.22.4 ARM-AIM Specification_category
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
specification_category
specification_category.id
specification_category.description
specification_category.implicit_exclusion_conditi
on
(Create Entity) product_concept_feature_category
product_concept_feature_category.group.name
product_concept_feature_category.group.description
if specification_category.implicit_exclusion_condition=‘true‘
specification_category maps to
exclusive_product_concept_feature_category
7.23
Specification_category_hierarchy
A Specification_category_hierarchy
Specification_category objects.
is
used
to
build
up
hierarchical
structures
of
The data associated with a Specification_category_hierarchy are the following:
•
sub_category;
•
super_category.
7.23.1 sub_category
The sub_category is the lower level of Specification_category in Specification_category_hierarchy.
7.23.2 super_category
The super_category is the higher level of Specification_category in Specification_category_hierarchy.
7.23.3 ARM-AIM Specification_category_hierarchy
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
specification_category_hierarchy
(Create Entity) group_relationship
{group_relationship.name = ‘specification category hierarchy’}
group_relationship
group_relationship.related_group ->
(if specification_category.implicit_exclusion_condition is FALSE:
product_concept_feature_category)
(if specification_category.implicit_exclusion_condition is TRUE:
exclusive_product_concept_feature_category)
group_relationship
group_relationship.relating_group ->
(if specification_category.implicit_exclusion_condition is FALSE:
product_concept_feature_category)
(if specification_category.implicit_exclusion_condition is TRUE:
exclusive_product_concept_feature_category)
specification_category_hierarchy.
sub_category
specification_category_hierarchy.
super_category
7.24
Specification_expression
This object was applied to build rules based on product class characteristics. The rules are based on
these characteristics and Boolean operations. This concept can be understood by mainly all BoM
systems (except for purely feature based systems). As this concept is understandable to most BoM
systems it should be tried to translate specification control mechanisms into Boolean expressions, if
possible.
No further special recommendations to AP 214 need to be given for the application of this object.
The data associated with a Specification_expression are the following:
Page 54 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
description;
•
id;
•
operand;
•
operation.
7.24.1 description
The description specifies additional information about the Specification_expression.
See Specification_expression to Multi_language_string for the application assertion.
The description need not be specified for a particular Specification_expression.
If present, there shall
Specification_expression.
be
exactly
one
object
that
defines
the
description
for
a
7.24.2 id
The id specifies the identifier of the Specification_expression.
The id need not be specified for a particular Specification_expression.
7.24.3 operand
The operand specifies the operands of the Boolean operation that are either Specification objects or
other Specification_expression objects.
See
Specification_expression
to
Specification
Specification_expression for the application assertions.
and
Specification_expression
to
There shall be at least one object that defines the operand for a Specification_expression.
7.24.4 operation
The operation specifies the kind of Boolean operation. Four kinds of operations are permitted:
'and': All of the identified Specification objects shall be used;
'or': A subset or all of the identified Specification objects shall be used;
'oneof': Exactly one of the identified Specification objects shall be used;
'not': The identified Specification shall not be used.
7.24.5 ARM-AIM Specification_expression
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
specification_expression
(Create Entity) conditional_concept_feature
conditional_concept_feature.condition ->
(Create Entity) concept_feature_relationship_with_condition
concept_feature_relationship_with_condition.conditional_operator ->
(Create Entity) concept_feature_operator
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship_with_condition.conditional_operator ->
concept feature operator
specification_expression.operation
Page 55 of 75
CC8 Recommended Practices, Version 1.2 Review!
AP214-ARM Mapping / Rule
specification_expression.operand[1]
specification_expression.operand[2]
7.25
AP214-AIM Mapping / Rule
concept_feature_operator.name=‘and‘
conditional_concept_feature
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition
concept_feature_relationship.relating_product_concept_feature ->
conditional_concept_feature
...
Specification_inclusion
This object can be used to represent the package objects in BoM systems. The package mechanism
includes to a specification other specifications automatically. This can be for technical (e.g. air
condition includes bigger battery) or marketing reasons (e.g. sports package, special model
equipment).
The application and exchange of this object implies that the receiving system supports the package
approach. If this is not the case there is the danger of loosing the package information. With respect
to its application no further recommendations to AP 214 are given by the project group.
NOTE The Specification_inclusion is intended to complete the set of Specification objects for a
Product_specification in order to enable the manufacturing of the product on the basis of an initial set
of Specification objects defined e.g., by a customer order.
The data associated with a Specification_inclusion are the following:
•
description;
•
id;
•
if_condition;
•
included_specification.
7.25.1 description
The description specifies additional information about the Specification_inclusion.
See Specification_inclusion to Multi_language_string for the application assertion.
The description need not be specified for a particular Specification_inclusion.
If present, there shall be exactly one object that defines the description for a Specification_inclusion.
7.25.2 id
The id specifies the identifier of the Specification_inclusion. The id need not be specified for a
particular Specification_inclusion.
7.25.3 if_condition
The if_condition specifies the Specification or the Specification_expression that serves as the
condition for the inclusion.
See Specification_inclusion to Specification and Specification_inclusion to Specification_expression
for the application assertions.
Page 56 of 75
CC8 Recommended Practices, Version 1.2 Review!
There shall be exactly one object that defines the if_condition for a Specification_inclusion.
7.25.4 included_specification
The included_specification specifies the Specification or the Specification_expression objects that are
to be included.
NOTE In the case where the included_specification is a Specification_expression that is, e.g., an OR
expression, there may be several alternatives for Specification objects being included.
NOTE In the case where more than one Specification is to be included a Specification_expression of
type AND shall be used.
NOTE In the case where the included_specification is a NOT expression, the object actually defines
an exclusion.
See Specification_inclusion to Specification and Specification_inclusion to Specification_expression
for the application assertions.
There shall be exactly one object that defines the included_specification for a Specification_inclusion.
The following figure shows an example: If the special package “Winter package” is chosen, the
special option “Seat heating” is automatically included, too.
level = 'product family'
id = 'Middle Clas s Cars'
product_class
c_c_a
c_s_a
speci fication_
category
specificati on
package
= 'TRUE'
name = 'Winter
package'
id = 'SPEC977'
'Special packages '
c_i_a
i f_condition
specification_
incl usi on
i ncluded_
speci fication
c_c_a
c_s_a
specifi cati on_
category
specifi cati on
package
= 'FALSE'
name = 'Seat heating'
id = 'SPEC012'
'Special options'
Figure 7.5: Example for a specification_inclusion (simplified, for abbreviations see section 8)
7.25.5 ARM-AIM Specification_inclusion
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
Specification_inclusion
(Create entity) inclusion_product_concept_feature <=
conditional_concept_feature
Page 57 of 75
CC8 Recommended Practices, Version 1.2 Review!
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
Specification_inclusion.description
inclusion_product_concept_feature <=
conditional_concept_feature <=
product_concept_feature
product_concept_feature.description
Specification_inclusion.id
inclusion_product_concept_feature <=
conditional_concept_feature <=
product_concept_feature
product_concept_feature.id
Specification_inclusion.if_condition; (->
conditional_concept_feature (Supertype of inclusion_product_concept_feature)
specification, with specification.package = ´true´) conditional_concept_feature.condition ->
concept_feature_relationship_with_condition <=
concept_feature_relationship
concept_feature_relationship.relating_product_concept_feature ->
(|product_concept_feature|)
(product_concept_feature =>
package_product_concept_feature)
Specification_inclusion.if_condition; (->
conditional_concept_feature (Supertype of inclusion_product_concept_feature)
specification_expression)
conditional_concept_feature.condition ->
{concept_feature_relationship_with_condition
->
concept_feature_operator
concept_feature_operator.name = 'implication'}
concept_feature_relationship
concept_feature_relationship.relating_product_concept_feature ->
product_concept_feature =>
|conditional_concept_feature|
Specification_inclusion.included_specification (- conditional_concept_feature (Supertype of inclusion_product_concept_feature)
> specification)
conditional_concept_feature.condition ->
concept_feature_relationship_with_condition <=
concept_feature_relationship
concept_feature_relationship.relating_product_concept_feature ->
(|product_concept_feature|)
(product_concept_feature =>
package_product_concept_feature)
Specification_inclusion.included_specification (- conditional_concept_feature (Supertype of inclusion_product_concept_feature)
> specification_expression)
conditional_concept_feature.condition ->
concept_feature_relationship
concept_feature_relationship.relating_product_concept_feature ->
product_concept_feature =>
|conditional_concept_feature|
7.26
Technical_solution
Within the project group’s examples this object was used to represent different technical approaches,
how a product component can be realized. In many cases the entity also marked the interconnection
between variant and non-variant product structure, but this is not always the case.
The project group agreed to recommend the application of this entity to be attached to the "leaf" of a
product component tree. See Figure below:
Page 58 of 75
CC8 Recommended Practices, Version 1.2 Review!
Product_
component 1
Product_
Product_
Front Brake
component 2.2
component 2.1
Product_
component 3.1
Brake Disc
Technical_
solution 1
Product_
...
component 3.2
Brake Disc
16 inch
Abstract
Product
Structure
Front axle
Technical_
solution 2
Axle Assembly
Product_
...
component 3.3
Brake Disc
14 inch
Assembly
Structure
Figure 7.6: Interconnection of Abstract Product Structure and Assembly Structure by the
Technical_solution entity
There are no further recommendations to AP 214 by the project group for the application of this
entity.
A Technical_solution is a type of Alternative_solution.
The data associated with a Technical_solution are the following:
•
description
7.26.1 description
The description specifies additional information about the Technical_solution.
See Technical_solution to Multi_language_string for the application assertion.
There shall be exactly one object that defines the description for a Technical_solution.
7.26.2 ARM-AIM Technical_solution
AP214-ARM Mapping / Rule
AP214-AIM Mapping / Rule
technical_solution
(Create Entity) product_definition <name_attribute.named_item
(Create Entity) name_attribute
name_attribute.attribute_value=‘technical‘
[product_definition
product_definition.frame_of_reference ->
(Create Entity) product_definition_context
product_definition_context.application_context_element.name = ‚alternative
definition‘]
product_definition
product_definition.formation ->
(Create Entity) product_definition_formation
product_definition_formation.of_product ->
(Create Entity) product
product.id
product_definition <product_definition_relationship.related_product_definition
(Create Entity) product_definition_relationship
{product_definition_relationship.name = 'solution alternative definition‘}
product_definition_relationship.relating_product_definition ->
product_definition
technical_solution.id
technical_solution.base_element
Page 59 of 75
CC8 Recommended Practices, Version 1.2 Review!
7.27
Work management and effectivity entities
Within the project group the field of work management information and it’s association to product
structure and specification control information was discussed in a first approach. This approach
covers the limited scope of the association of work definition and effectivity information. This
recommendation is compatible to the appropriate recommendations of the PDM Usage Guide and is
an extension to it. The described entities in this chapter only represent that portion of all necessary
entities recommended in the PDM Usage Guide, which is directly related to the extensions.
The project group identified the application that the time-related effectivity of product structure
elements can be defined by the occurrence of certain events. These events are defined by certain
activities as parts of work management information (e.g. work orders, change orders).
To represent this in AP214 the following entities are used (according to the figure below):
• Activity:
An activity represents the work that is controlled by a work order, and defined as part of a work
order (see PDM Usage Guide). This is a definition of work that has either taken place, is taking
place, or is expected to take place in the future. As part of a complete set of entities to describe
specific work management information activities are associated to product structure elements via
activity_elements. In the context described here an activity represents in parallel an event that
influences the effectivity of an element in a product structure.
• Effectivity:
The effectivity entity supports the specification of a domain of applicability of product data.
Effectivity is a generic concept defining the valid use of the product data the effectivity is assigned
to. The effectivity entity specifies the start point and the end point of a period within which the
assigned element is effective (effectivity_indication = TRUE) or not effective
(effectivity_indication = FALSE).
• Event_reference:
The event_reference entity serves as the link between the effectivity entity and the two activity
entities that define the start point (start event) and end point (end event) of the appropriate
effective (or non-effective) period.
Page 60 of 75
CC8 Recommended Practices, Version 1.2 Review!
id='ACT056'
activity
actual_start_date=08.11.99
id='ACT001'
activity
actual_start_date=01.10.99
id='ACT_START'
activity_
element
activity_
element
role='input'
role='output'
Scope of elements
BOOLEAN
event_type=
'actual start date'
event_type=
'actual start date'
effectivity_
indication = .TRUE.
effectivity_
assignment
role='actual'
event_
reference
end
start
effectivity
event_
reference
Figure 7.7: Interconnection of activity and effectivity entities through event_reference
In the project group’s example the scope of affected elements comprised the following entities:
product_class, product_function, product_component, product_structure_relationship, specification,
technical_solution, item_version, next_higher_assembly.
8
Summary
Due to the general importance of the topic configuration control the related STEP objects and models
can be applied in different scenarios: E.g. for Data exchange or as basic data models for
implementations. Today these data classes are already involved in the following processes:
•
The exchange of PC and BoM information is often the basis for communication of changes
between manufacturer and supplier who develop products simultaneously.
•
During the design phase PC is applied to document the variants of a product systematically.
•
Product Coding information is essential to document individual customer orders (Why is a
product build as it is? Which parts are why there?).
•
PC / BoM Systems interconnect the PDM and the ERP world. They interpret the design of a
product into a production order.
•
PC / BoM Systems create basic data for a number of down stream systems, e.g. procurement,
material planning, work planning etc.
But there are also a number of obstacles and open points with respect to the application and
exchange of STEP in these technical domain.
The simple representation of system data models do not apply due to the fact that different
companies use different STEP objects in different manners and to the involved semantic of
exchanged data, which is usually not the same (e.g. Product Classes in different companies)
Page 61 of 75
CC8 Recommended Practices, Version 1.2 Review!
In order to exchange Product Coding / BoM data an agreement about a common reference model
and its application must be achieved. This document is a first approach to do so. Further Test
Scenarios must be defined and tried out, to come to a better understanding especially related to
implementation topics.
Product Coding Systems are productive systems upon which a number of down stream systems
depend. Therefore they are highly sensitive, communication on detail level is complicated. STEP
based representations of PC / BoM information can be fundamental for discussions on a neutral basis
with system vendors in the sensitive field requirements for standard PC / BoM solutions.
STEP based representations of PC / BoM information can also be a key to connect PDM with a
number of down-stream applications (such as ERP), a task which is currently in practice not solved.
As a matter of facts today there are a number of different product structures which are managed
along the product life cycle. A full life time support of one kernel product structure will involve the
realisation of functionality and data classes as described in this document.
And neutral representation of PC / BoM information can also be an essential module to describe
products for new technical applications (e.g. e-commerce, virtual enterprise etc.) as it describes the
back-ground of product characteristics.
9
Examples
The shown examples are simplified representations, what means, that not the complete set of
attributes and attribute names of the entities according to AP 214 are shown. For a complete
instantiation see the corresponding entity descriptions in section 6.
The following abbreviations for entity names are used:
p_s_r
: product_structure_relationship
p_c_r
: product_class_relationship
c_s_r
: class_structure_relationship
c_s_a
: class_specification_association
c_c_a
: class_condition_association
c_cat_a : class_category_association
c_i_a
: class_inclusion_association
ddid
: design_discipline_item_definition
9.1
Representations of variants
The following figures show ways for the representation of different types of variants (see also chapter
“Glossary”).
Page 62 of 75
CC8 Recommended Practices, Version 1.2 Review!
a) Variants as product classes:
level='enterprise'
p_c_r
level='platform'
p_c_r
Enterprise XYZ'
product_class
'hierarchy'
'Middle Class Cars'
product_class
'hierarchy'
p_c_r
'hierarchy'
p_c_r
'hierarchy'
Variants of product class
„Middle Class Cars“
level=
'product family'
product_class
level=
'product family'
'Middle Class Cars,
Product Line SPORT'
product_class
level=
'product family'
'Middle Class Cars,
Product Line FAMILY'
product_class
'Middle Class Cars,
Product Line FUN CARS'
Fig. 9.1: Variants as product classes
b) Variants as product components (complete vehicles):
product_class
p_c_r
'hierarchy'
product_class
p_c_r
'realization'
product_component
'Complete vehicle:
2.0 Liter Limous ine'
c_s_r
'Middle Clas s Cars '
'hierarchy'
product_class
c_s_r
Enterprise XYZ'
'Middle Class Cars,
Limousine'
'realization'
product_component
'Complete vehicle:
3.0 Liter Limousine'
c_s_r
'realization'
product_component
'Com plete vehicle:
3.5 Liter Lim ousine'
Vehicle variants of product class „Middle Class Cars, 2.0L Engine“
Fig. 9.2: Variants as product components (complete vehicles)
Page 63 of 75
CC8 Recommended Practices, Version 1.2 Review!
c) Variants as technical solutions and supplier solutions:
product_component
1
= Configuration information 1
p_s_r
'decomposition'
product_component
p_s_r
Variants of
product component
„brake cylinder“
1
Variants of
„brake cylinder,
single“
4
technical_solution
6
5
'brake cylinder,
single'
'complete vehicle'
'rear axle module'
'decomposition'
product_component
'brake cylinder'
technical_solution
'brake cylinder,
double'
2
3
...
supplier_solution
supplier_solution
supplier_solution
...
supplier_solution
...
supplier_solution
...
'brake cylinder,
special'
technical_solution
supplier_solution
...
...
supplier_solution
supplier_solution
supplier_solution
Fig. 9.3: Variants as technical solutions and supplier solutions
9.2
Feature groups and features
Definitions:
A Specification defines a characteristic of a class of products. It also can be a statement, which is
used to build rules, feature groups (specification_categories) or packages.
A Specification_category (feature group) is the definition of a set of Specification objects serving the
same purpose. This entity is used to represent feature groups. A feature group is a set of product
characteristics which can be applied to solve the same technical purpose, e.g. set of engines, colours
etc. Sometimes the characteristics within a feature group can be mutually exclusive to each other.
Often feature groups are applied in combination with rules and specification_inclusions.
The example shown in the figure means:
•
Product class „Personal cars“ includes a product component „PC-0000“, which is a complete
vehicle.
•
Product class „Personal cars“ includes the specification categories „Engine”, “Type“ and „No. of
Cylinders“.
•
The „implicit_exclusive_condition“ attributes of the specification categories are set to „TRUE“,
that means, the included specifications are mutually exclusive.
•
Product class „Personal cars“ includes 2 specific „AND“-rules.
•
The product component „P-1000“ (which is called „Engine“) can be realized using one of two
possible engine variants:
•
Engine „EN-123.77“ is used if the engine type is selected to „In-line engine“ and the number
of cylinders is selected to „4“
Page 64 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
Engine „EN-563.02“ is used if the engine type is selected to „V-engine“ and the number of
cylinders is selected to „8“
Abstract
Product structure
Personal car
PC-0000
Power train
P-0000
Body
B-0000
Interior
I-0000
Product class
„Personal cars“
„Engine“
Spec_cat_
hierarchy
Gear box
P-2000
...
Engine
P-1000
„Type“
„In-line engine“
EN-123.77
Technical
Solutions
EN-563.02
Configuration
#1
Configuration
#2
AND
implicit_exclusive_condition
=TRUE
AND
Configuration : Configuration information
„V-Motor“
AND
„Type“
„V-engine“
Spec_cat_
hierarchy
„No. of Cylinders“
4
6
: Specification („Feature“)
: Boolean operator
8
implicit_exclusive_condition
=TRUE
: Specification category („Feature group“)
(Remark: This is a simplified figure which does not contain AP214 compliant entities.)
Fig. 9.4: Specification information
9.3
Product structure of product class level 3
This example is assigned to exchange scenario 1. The figure shows an instantiation example with the
following characteristics:
•
All variants (alternative_solutions) of all product_components of the product class „MC-L“ are
included.
•
The maximum number of components of the complete vehicle identified by “MCL-STD” is
included.
•
All relevant configuration information is included to allow the evaluation of the product structure
to a valid BoM of a manufacturable product.
•
The example shows that the product_component “MCL-STD” consists of the
product_components “interior”, “chassis” and “engine”. Interior and chassis are further
decomposed into product_components. The engine can be realised by the two variants “diesel
engine” and “petrol engine”. The two specifications “ENG001” and “ENG002” are each associated
to product class “MC-L” by a class_specification_association with association_type=’part usage’,
which specify the valid usage of the two technical_solutions. (Remark: specification_categories
are not shown in the figure).
Page 65 of 75
CC8 Recommended Practices, Version 1.2 Review!
level = 'enterprise'
id = 'STEP-Cars'
produc t_cl ass
'hierarchy'
p_c_r
level = 'platform'
['technical_documentation']
id = 'MC'
produc t_cl ass
'hierarchy'
p_c_r
level = 'product family'
id = 'MC-L'
produc t_cl ass
'realization'
c _s_r
product_component
p_s _r
id = 'MCL-STD'
description = 'Middle Class Limousine'
'decomposition'
product_component
'interior'
p_s _r
further
components...
p_s_r
p_s_r
'decomposition'
association_type=
'part usage'
c _s_a
product_component
'chassis'
name = 'DIESEL'
s pec ific ation id = 'ENG001'
p_s_r
further
c omponents ...
p_s_r
p_s_r
'decomposition'
product_component
c onfi guration
'engine'
technical_s olution
'diesel engine'
association_type=
'part usage'
c_s_a
spec ification
c onfiguration
technical _soluti on
'petrol engine'
name = 'PETROL'
id = 'ENG002'
Fig. 9.5: Example for a product structure
9.4
Abstract product structure – technical solution – part identification data
This example is assigned to exchange scenario 1. The figure shows an instantiation example with
following characteristics:
•
A vehicle contains a rear axle module.
•
The rear axle module contains a brake cylinder.
Page 66 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
The brake cylinder component can be realized by a technical solution ‘brake cylinder, double’,
depending on an appropriate configuration.
•
The ‘brake cylinder, double’ is physically realized by a part called “Double Brake Cylinder” with
part id “BCD30986A”. This part occurs as a single instance with id “NO_123” in the BoM.
product_component
p_s_r
'decomposition'
product_component
p_s_r
technical_solution
single_instance
ddid
'rear axle module'
'decomposition'
product_component
p_s_r
name = 'complete vehicle'
id = 'HDT 123.456'
'brake cylinder'
'brake cylinder, double'
'realization'
id = 'NO_123'
item_
version
item
id = 'BCD30986A'
name = 'Double Brake Cylinder'
Fig. 9.6: Example for technical solutions and item data
9.5
Abstract product structure – products of different product classes
This example is assigned to exchange scenario 1. The figure shows an instantiation example with
following characteristics:
•
Enterprise “STEP-Products” provides 2 main product platforms: trucks and engines.
•
A complete truck of product family “Standard Trucks” includes an engine of product family
“Mobile Engines”.
Page 67 of 75
CC8 Recommended Practices, Version 1.2 Review!
level = 'enterprise'
id = 'STEP-Products'
product_class
p_c_r
'hierarchy'
level = 'platform'
['technical_documentation']
id = 'Trucks'
product_class
p_c_r
p_c_r
level = 'product family'
id = 'Standard Trucks'
c_s_r
'relating'
id = 'TR-ST-100'
description = 'Standard truck'
level = 'platform'
['technical_documentation']
id = 'Engines'
'hierarchy'
level = 'product family'
id = 'Mobile Engines'
product_class
'realization'
product_component
'hierarchy'
product_class
'hierarchy'
product_class
c_s_r
p_c_r
'realization'
'related'
p_s_r
'decomposition'
product_component
id = 'EN-MO-890'
description = 'Mobile engine'
Fig. 9.7: Example for different product classes and components
9.6
Abstract product structure of a furthest pre-configured abstract product class
This example is assigned to exchange scenario 2. The figure shows an instantiation example with
following characteristics:
•
A complete BoM for the product type “HDT123.987” is given. The product structure had already
been evaluated against:
-
all specifications associated to the product class by class_specification_association objects
with attribute association_type of one of the values ‘replaceable standard’, ‘non replaceable
standard’ or ‘identification’ and
-
all specification_expressions associated to the product class by class_condition_association
objects with attribute condition_type of the value ‘identification’.
•
Only configuration information for special options or customer choices are included, which still
have to be evaluated to get the BoM of a manufacturable product.
•
Only product_components and technical_solutions valid for this pre-configured BoM are included.
•
The BoM was evaluated using the specifications “SPEC980”, “SPEC730” and “SPEC554”.
•
Additionally, the load options can still be chosen to “SPEC349”, name “standard load” (which is
the default option) or to “SPEC106”, name “extra load”. Depending on the choice the technical
solution “brake cylinder, double” or “brake cylinder, single” is identified as the valid variant for
product component “brake cylinder” within this specific furthest pre-configured product class for
the BoM of a manufacturable product. (Remark: Not all specification_categories are shown in the
figure).
Page 68 of 75
CC8 Recommended Practices, Version 1.2 Review!
id = 'SPEC980'
id = 'SPEC730'
id = 'SPEC554'
spec ification
s pecification
specification
association_type=
'identification'
association_type=
'identification'
c_s_a
c_s_a
association_type=
'non replaceable standard'
level = 'furthest preconfigured
abstract product class'
id = 'HDT 123.456'
product_class
c_c at_a
association_type=
'part usage'
c_s_r
produc t_c omponent
name = 'extra load'
id = 'SPEC106'
id = 'load options'
association_type=
'part usage'
'realization'
c_s_a
specification
specification_
c ategory
c_s _a
p_s_r
name = 'complete truck'
id = 'HDT 123.456'
'decomposition'
produc t_c omponent
c_s_a
p_s_r
'rear axle module'
'decomposition'
spec ification
name = 'standard load'
id = 'SPEC349'
produc t_c omponent
'brake cylinder'
technical_solution
'brake cylinder,
double'
configuration
configuration_type=
'usage'
inheritance_type=
'local'
technical_solution
'brake cylinder,
single'
configuration
configuration_type=
'usage'
inheritance_type=
'local'
Fig. 9.8: Example for a product structure
9.7
Functional view – product_function
This example shows a functional view on product components in a product component tree. The
verbal description is the following:
•
A vehicle includes the product components “chassis” and “engine”.
•
The chassis includes the product component “brake cylinder”.
•
The “engine” includes the product component “exhaust brake”.
•
The two product components “brake cylinder” and “exhaust brake” are considered to realize the
product function “braking”.
Page 69 of 75
CC8 Recommended Practices, Version 1.2 Review!
level = 'furthest
preconfigured
abstract product product_class
class'
id = 'HDT 123.456'
'realization'
c_s_r
'decomposition'
p_s_r
product_
component
p_s_r
product_component
product_
component
'decomposition'
p_s_r
'brake cylinder'
related
p_s_r
'decomposition'
p_s_r
'chassis'
product_
component
nam e = 'complete truck'
id = 'HDT 123.456'
'engine'
'decomposition'
product_
component
'exhaust brake'
related
p_s_r
'realization'
relating
'realization'
relating
product_
function
'braking'
Fig. 9.9: Example for a functional view
9.8
Specifications and configuration information
The examples in this chapter show the principle application of specifications, specification categories,
specification expressions and configuration objects and their association to product classes. They all
apply to exchange scenario 1. Besides, two general concepts of product coding, feature-based and
rule-based, are applied to main specification control constructs of AP214. In general, mixtures of
those concepts occur in practice.
To increase a clear arrangement of the diagrams the AP214 entities and links are shown in a
symbolic way. For the correct complete instantiation of these entities see the corresponding sections
under chapter 6.
Product_structure_relationship and class_structure_relationship entities are not shown in the
diagrams.
The link to item_instance, ddid, item_version and item instances below each technical_solution entity
(see example under 8.4) are not shown in the diagrams.
The following abbrevations and symbols are used:
A:
represents a class_category_association entity
S:
represents a class_specification_association entity
C:
represents a class_condition_association entity
spec_cat:
represents a specification_category entity
Page 70 of 75
CC8 Recommended Practices, Version 1.2 Review!
spec:
represents a specification entity
spec_expr: represents a specification_expression entity
tech_sol:
represents a technical_solution entity
prod_comp: represents a product_component entity
conf:
represents a configuration entity
------:
dotted line: link to be continued to the product_class entity
9.8.1
"Pure" feature-based approach, no configuration information included
This example refers to exchange scenario 1, information extend types (a) and (b), and has the
following characteristics:
(a) "Maximum BoM" including information about general availability of specifications:
•
To all spec_cat entities applies:
specification_category.implicit_exclusive_condition = TRUE
(This means, that the usage of exactly one specification out of each specification category is
mandatory.)
•
To all class_category_assocation entities (A) applies:
class_category_assocation.mandatory = TRUE
•
To all class_specification_assocation entities (S) applies:
class_specification_association.association_type = 'availability'
(b) "Maximum BoM" including specific information about the types of specifications:
•
To all spec_cat entities applies:
specification_category.implicit_exclusive_condition = TRUE
•
To all class_category_assocation entities (A) applies:
class_category_assocation.mandatory = TRUE
•
To each 1 class_specification_association entity (S) in spec_cat 1 and spec_cat 3 applies:
class_specification_association.association_type = 'replaceable standard'
•
To the other class_specification_association entities (S) within the same specification
category applies:
class_specification_association.association_type = 'option'
•
To the class_specification_association entity (S) in spec_cat 2 applies:
class_specification_association.association_type = 'identification' or 'non replaceable
standard'
Page 71 of 75
CC8 Recommended Practices, Version 1.2 Review!
product_c las s
A
prod_
c omp
S
s pec _
c at 1
S
s pec
A
s pec
s pec _
c at 2
tec h_
s ol 1
tech_
s ol 2
tec h_
s ol 3
S
tec h_
s ol 4
spec
tec h_
s ol 5
A
s pec _
c at 3
tec h_
s ol 6
S
spec
S
tec h_
s ol 7
s pec
tec h_
s ol 8
prod_
comp
prod_
c omp
prod_
c omp
prod_
c omp
prod_
c omp
prod_
comp
Fig. 9.10: Example overview about specification data objects (feature-based)
9.8.2
"Pure" feature-based approach, configuration information included
This example refers to exchange scenario 1, information extend type (c), and has the following
characteristics:
(c) "Maximum BoM" including configuration information for the valid usage of product_components
or technical_solutions:
•
To all spec_cat entities applies:
specification_category.implicit_exclusive_condition = TRUE
•
To all class_category_assocation entities (A) applies:
class_category_assocation.mandatory = TRUE
•
To all class_specification_association entities (S) applies:
class_specification_association.association_type = 'part usage'
•
To all configuration entities applies:
configuration.configuration_type = 'usage'
Page 72 of 75
CC8 Recommended Practices, Version 1.2 Review!
product_class
prod_
comp
prod_
comp
A
spec_
cat 1
conf
S
S
conf
tech_
sol 2
conf
tech_
sol 3
spec
spec
A
spec_
cat 3
S
spec
tech_
sol 1
conf
tech_
sol 4
conf
tech_
sol 5
conf
tech_
sol 6
conf
tech_
sol 7
S
spec
conf
tech_
sol 8
prod_
comp
prod_
comp
prod_
comp
prod_
comp
prod_
comp
Fig. 9.11: Example overview about specification data objects (feature-based)
9.8.3
"Pure" rule-based approach, no configuration information included
This example refers to exchange scenario 1, information extend types (a) and (b), and has the
following characteristics:
(a) "Maximum BoM" including information about general availability of specifications:
•
To the spec_cat X entity applies:
specification_category.id = '/NULL'
(This is a dummy instance assuming that in a pure rule-based system no specification
categories are managed.)
specification_category.implicit_exclusive_condition = FALSE
•
To the class_category_assocation entity (A) applies:
class_category_assocation.mandatory = TRUE or FALSE
•
To all class_specification_assocation entities (S) applies:
class_specification_association.association_type = 'availability'
•
To all class_condition_assocation entities (C) applies:
class_condition_assocation.condition_type = 'identification' or 'validity' or 'design case'
(b) "Maximum BoM" including specific information about the types of specifications:
•
To the spec_cat X entity applies:
specification_category.id = '/NULL'
(This is a dummy instance assuming that in a pure rule-based system no specification
categories are managed.)
specification_category.implicit_exclusive_condition = FALSE
Page 73 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
To the class_category_assocation entity (A) applies:
class_category_assocation.mandatory = TRUE or FALSE
•
To all class_specification_association entities (S) applies:
class_specification_association.association_type = 'replaceable standard' or 'non replaceable
standard' or 'option' or 'identification' (under consideration of the value of the attribute
implicit_exclusive_condition of the appropriate specification_category)
•
For all class_condition_assocation entities (C) applies:
class_condition_assocation.condition_type = 'identification' or 'validity' or 'design case'
produc t_clas s
prod_
c omp
S
C
S
s pec _
exp
s pec
A
s pec
tech_
sol 2
C
spec _
cat X
S
S
tec h_
sol 1
s pec _
exp
s pec
tech_
sol 3
tech_
sol 4
prod_
c omp
prod_
c omp
prod_
comp
prod_
comp
spec
tec h_
s ol 5
C
S
s pec
S
spec
s pec_
ex p
tec h_
sol 6
tec h_
sol 7
tech_
sol 8
prod_
c omp
prod_
comp
Fig. 9.12: Example overview about specification data objects (rule-based)
9.8.4
"Pure" rule-based approach, configuration information included
This example refers to exchange scenario 1, information extend type (c), and has the following
characteristics:
(c) "Maximum BoM" including configuration information for the valid usage of product_components
or technical_solutions:
•
To the spec_cat X entity applies:
specification_category.id = '/NULL'
(This is a dummy instance assuming that in a pure rule-based system no specification
categories are managed.)
specification_category.implicit_exclusive_condition = FALSE
Page 74 of 75
CC8 Recommended Practices, Version 1.2 Review!
•
To the class_category_assocation entity (A) applies:
class_category_assocation.mandatory = TRUE or FALSE
•
To all class_specification_assocation entities (S) applies:
class_specification_association.association_type = 'availability' or 'replaceable standard' or
'non replaceable standard' or 'option' or 'identification' (under consideration of the value of the
attribute implicit_exclusive_condition of the appropriate specification_category)
•
To all class_condition_assocation entities (C) applies:
class_condition_assocation.condition_type = 'part usage'
•
To spec_expr N applies:
specification_expression.operand[1] = 'not'
•
To all configuration entities applies:
configuration.configuration_type = 'usage'
product_c las s
prod_
c omp
S
C
S
s pec_
ex p
s pec
A
s pec
C
s pec _
c at X
S
S
s pec_
ex p
spec
c onf
tech_
sol 1
c onf
tec h_
s ol 2
c onf
tec h_
s ol 3
c onf
tec h_
s ol 4
prod_
c omp
prod_
c omp
prod_
c omp
prod_
comp
s pec
c onf
tech_
sol 5
C
S
spec
S
s pec
s pec _
ex p
c onf
tec h_
s ol 6
c onf
tec h_
s ol 7
C
s pec_
ex p N
c onf
tec h_
s ol 8
prod_
c omp
prod_
c omp
Fig. 9.13: Example overview about specification data objects (rule-based)
Page 75 of 75