Application module: Product breakdown | ISO/TS 10303-1248:2018-11(E) © ISO |
This clause specifies the information requirements for the Product breakdown application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.
NOTE 1 A graphical representation of the information requirements is given in Annex C.
NOTE 2 The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Product_breakdown_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Product_breakdown_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Product_view_definition_relationship_arm;
--
ISO/TS 10303-1041
USE FROM
Property_assignment_arm;
--
ISO/TS 10303-1030
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Product_view_definition_relationship_arm ISO/TS 10303-1041 Property_assignment_arm ISO/TS 10303-1030
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
The breakdown_element_realization_property_assignment_select type is an extension of the property_assignment_select type. It adds the data types Breakdown_element_realization, and Breakdown_element_usage to the list of alternate data types.
EXPRESS specification:
*)
TYPE
breakdown_element_realization_property_assignment_select =
SELECT
BASED_ON
property_assignment_select
WITH
(Breakdown_element_realization,
Breakdown_element_usage);
END_TYPE;
(*
The breakdown_item type is an extensible list of alternate data types that allows for the designation of the data types Breakdown_element_definition, and Breakdown_element_usage.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
Items in a breakdown that may be related to product items via a Product_definition_element_relationship.EXPRESS specification:
*)
TYPE
breakdown_item =
EXTENSIBLE
SELECT
(Breakdown_element_definition,
Breakdown_element_usage);
END_TYPE;
(*
The breakdown_of_target type is an extensible list of alternate data types that allows for the designation of the data type Product_view_definition.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
breakdown_of_target =
EXTENSIBLE
GENERIC_ENTITY
SELECT
(Product_view_definition);
END_TYPE;
(*
The product_item type is an extensible list of alternate data types that allows for the designation of the data types Product_view_definition, and View_definition_usage.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
Product items that may be related to items in a breakdown via a Product_definition_element_relationship.EXPRESS specification:
*)
TYPE
product_item =
EXTENSIBLE
SELECT
(Product_view_definition,
View_definition_usage);
END_TYPE;
(*
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
The parent-child view is represented by Breakdown_element_usage objects relating the elements in the breakdown that are represented by Breakdown_element objects.
EXPRESS specification:
*)
ENTITY Breakdown
SUBTYPE OF (Product);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Breakdown_context;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
breakdown : Breakdown_version;
breakdown_element : Breakdown_element_definition;
END_ENTITY;
(*
Attribute definitions:
id: the identifier for the membership relationship between the breakdown element and the breakdown.
name: the word or words by which the membership relationship between the breakdown element and the breakdown is known.
description: the text that provides further information about the membership relationship between the Breakdown_element and the Breakdown. The value of this attribute need not be specified.
breakdown: the version of the Breakdown of which the Breakdown_element is a member.
breakdown_element: the view of the version of the Breakdown_element that is a member of the Breakdown.
A Breakdown_element is a type of Product that identifies the elements in one or more Breakdown objects.
NOTE Breakdown_element is non-specific and allows for various types of product breakdown. The more specific breakdown elements are Functional_element, Physical_element, System_element, and Zone_element.
EXPRESS specification:
*)
ENTITY Breakdown_element
SUBTYPE OF (Product);
END_ENTITY;
(*
A Breakdown_element_definition is a type of Product_view_definition that identifies a view of a version (Breakdown_element_version) of a Breakdown_element.
NOTE Breakdown_element_definition is non-specific and allows for various types of product breakdowns. The more specific breakdown element definitions are Functional_element_definition, Physical_element_definition, System_element_definition and Zone_element_definition.
EXPRESS specification:
*)
ENTITY Breakdown_element_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Breakdown_element_version;
END_ENTITY;
(*
Attribute definitions:
defined_version: the Breakdown_element_definition shall only be a view of a Breakdown_element.
EXAMPLE A pump realizes the 'provide fuel to engine' element in a functional breakdown for a ship.
EXPRESS specification:
*)
ENTITY Breakdown_element_realization
SUBTYPE OF (Product_definition_element_relationship);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Breakdown_element_usage
SUBTYPE OF (View_definition_usage);
name : STRING;
SELF\View_definition_relationship.relating_view RENAMED parent_element : Breakdown_element_definition;
SELF\View_definition_relationship.related_view RENAMED child_element : Breakdown_element_definition;
END_ENTITY;
(*
Attribute definitions:
name: the word or words by which the relationship between the parent and the child breakdown elements is known.
parent_element: the parent breakdown element of the relationship.
child_element: the child breakdown element of the relationship.
A Breakdown_element_version is a type of Product_version that identifies a version of a Breakdown_element.
.NOTE Breakdown_element_version is non-specific and allows for various types of product breakdown. The more specific breakdown elements are Functional_element_version, Physical_element_version, System_element_version and Zone_element_version.
EXPRESS specification:
*)
ENTITY Breakdown_element_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Breakdown_element;
END_ENTITY;
(*
Attribute definitions:
of_product: the Breakdown_element_version shall only be a version of a Breakdown_element.
EXPRESS specification:
*)
ENTITY Breakdown_of;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
breakdown : Breakdown_version;
of_target : breakdown_of_target;
END_ENTITY;
(*
Attribute definitions:
id: the identifier for the relationship between the breakdown and the product.
name: the word or words by which the relationship between the breakdown and the product is known.
description: the text that provides further information about the relationship between the breakdown and the product. The value of this attribute need not be specified.
breakdown: the Breakdown_version that is a view of the product.
of_target: the product of which the breakdown is a view.
EXPRESS specification:
*)
ENTITY Breakdown_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Breakdown;
INVERSE
breakdown_of : SET[1:?] OF Breakdown_of FOR breakdown;
END_ENTITY;
(*
Attribute definitions:
of_product: the Breakdown_version shall only be a version of a Breakdown.
breakdown_of: the Breakdown_version shall be a breakdown of one and only one product.
EXPRESS specification:
*)
ENTITY Product_definition_element_relationship;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
breakdown : breakdown_item;
product : product_item;
END_ENTITY;
(*
Attribute definitions:
id: the identifier for the relationship between the breakdown item and the product item.
name: the word or words by which the relationship between the breakdown item and the product item is known.
description: the text that provides further information about the relationship between the breakdown item and the product item. The value of this attribute need not be specified.
breakdown: the Breakdown_element_definition or a Breakdown_element_usage that is related to the View_definition_relationship or Product_view_definition.
product: the View_definition_relationship or Product_view_definition that is related to the Breakdown_element_definition or a Breakdown_element_usage.
*)
END_SCHEMA; -- Product_breakdown_arm
(*
© ISO 2018 — All rights reserved