Application module: Design product data management | ISO/TS 10303-1628:2021(E) © ISO |
This clause specifies the information requirements for the Design product data management 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 Design_product_data_management_arm schema and identifies the necessary external references.
The extension of the resource type action_items is detailed in Clause 5.
EXPRESS specification:
*)
SCHEMA Design_product_data_management_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Activity_method_assignment_arm;
--
ISO/TS 10303-1249
USE FROM
Attribute_classification_arm;
--
ISO/TS 10303-1246
USE FROM
Characterizable_object_arm;
--
ISO/TS 10303-1765
USE FROM
Classification_with_attributes_arm;
--
ISO/TS 10303-1111
USE FROM
Design_material_aspects_arm;
--
ISO/TS 10303-1232
USE FROM
Information_rights_arm;
--
ISO/TS 10303-1241
USE FROM
Item_definition_structure_arm;
--
ISO/TS 10303-1345
USE FROM
Manufacturing_configuration_effectivity_arm;
--
ISO/TS 10303-1147
USE FROM
Pre_defined_product_data_management_specializations_arm;
--
ISO/TS 10303-1760
USE FROM
Product_data_management_arm;
--
ISO/TS 10303-1231
USE FROM
Requirement_assignment_arm;
--
ISO/TS 10303-1233
USE FROM
Requirement_view_definition_relationship_arm;
--
ISO/TS 10303-1142
USE FROM
Specification_control_arm;
--
ISO/TS 10303-1112
USE FROM
Test_select_product_arm;
--
ISO/TS 10303-1757
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Activity_method_assignment_arm ISO/TS 10303-1249 Attribute_classification_arm ISO/TS 10303-1246 Characterizable_object_arm ISO/TS 10303-1765 Classification_with_attributes_arm ISO/TS 10303-1111 Design_material_aspects_arm ISO/TS 10303-1232 Information_rights_arm ISO/TS 10303-1241 Item_definition_structure_arm ISO/TS 10303-1345 Manufacturing_configuration_effectivity_arm ISO/TS 10303-1147 Pre_defined_product_data_management_specializations_arm ISO/TS 10303-1760 Product_data_management_arm ISO/TS 10303-1231 Requirement_assignment_arm ISO/TS 10303-1233 Requirement_view_definition_relationship_arm ISO/TS 10303-1142 Specification_control_arm ISO/TS 10303-1112 Test_select_product_arm ISO/TS 10303-1757
NOTE 2 See Annex C, Figures C.1, C.2, C.3, C.4, C.5, C.6and C.7 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 design_activity_method_item type is an extension of the activity_method_item type. It adds the data types Activity, Activity_method, Activity_property, Applied_activity_assignment, Assembly_component_relationship, Assigned_property, Contract, Event, File, Organization, Person, Person_in_organization, Product, Product_concept, Product_configuration, Product_version, Product_version_relationship, Product_view_definition, Project, and View_definition_relationship to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_activity_method_item =
SELECT
BASED_ON
activity_method_item
WITH
(Activity,
Activity_method,
Activity_property,
Applied_activity_assignment,
Assembly_component_relationship,
Assigned_property,
Contract,
Event,
File,
Organization,
Person,
Person_in_organization,
Product,
Product_concept,
Product_configuration,
Product_version,
Product_version_relationship,
Product_view_definition,
Project,
View_definition_relationship);
END_TYPE;
(*
The design_pdm_affected_item_select type is an extension of the affected_item_select type. It adds the data type Work_request to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_affected_item_select =
SELECT
BASED_ON
affected_item_select
WITH
(Work_request);
END_TYPE;
(*
The design_pdm_approval_item type is an extension of the approval_item type. It adds the data types Certification, Document_definition, Effectivity, Group, Group_relationship, Independent_property_relationship, Product_configuration, Product_version, Product_view_definition, Requirement_assignment, Security_classification, Supplied_part_relationship, and Work_order to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_approval_item =
SELECT
BASED_ON
approval_item
WITH
(Certification,
Document_definition,
Effectivity,
Group,
Group_relationship,
Independent_property_relationship,
Product_configuration,
Product_version,
Product_view_definition,
Requirement_assignment,
Security_classification,
Supplied_part_relationship,
Work_order);
END_TYPE;
(*
The design_pdm_assigned_name_select type is an extension of the assigned_name_select type. It adds the data types Group, Group_relationship, Product, and Product_view_definition to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_assigned_name_select =
SELECT
BASED_ON
assigned_name_select
WITH
(Group,
Group_relationship,
Product,
Product_view_definition);
END_TYPE;
(*
The design_pdm_breakdown_of_target type is an extension of the breakdown_of_target type. It adds the data types Product_concept and Product_configuration to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_breakdown_of_target =
SELECT
BASED_ON
breakdown_of_target
WITH
(Product_concept,
Product_configuration);
END_TYPE;
(*
The design_pdm_certification_item type is an extension of the certification_item type. It adds the data types Alternate_product_relationship and Product_version to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_certification_item =
SELECT
BASED_ON
certification_item
WITH
(Alternate_product_relationship,
Product_version);
END_TYPE;
(*
The design_pdm_classification_item type is an extension of the classification_item type. It adds the data types classified_element_select, Characterizable_object, Information_right, Information_usage_right, and Information_usage_right_relationship to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_classification_item =
SELECT
BASED_ON
classification_item
WITH
(classified_element_select,
Characterizable_object,
Information_right,
Information_usage_right,
Information_usage_right_relationship);
END_TYPE;
(*
The design_pdm_classified_attribute_select type is an extension of the classified_attribute_select type. It adds the data types Activity, Activity_method, Activity_method_assignment, Activity_property, Activity_property_representation, Activity_relationship, Address_assignment, Affected_items_assignment, Alternate_part_relationship, Applied_activity_assignment, Approval, Approval_assignment, Approval_relationship, Approval_status, Approving_person_organization, Assigned_property, Certification, Certification_assignment, Contract, Date_or_date_time_assignment, Digital_file, Document_assignment, Document_definition_relationship, Effectivity, Effectivity_assignment, Event_assignment, Event_relationship, External_source_identification, File_relationship, Group, Group_relationship, Hardcopy, Identification_assignment, Independent_property, Independent_property_relationship, Independent_property_representation, Information_right, Information_usage_right, Information_usage_right_relationship, Language, Market, Organization_or_person_in_organization_assignment, Organization_relationship, Person_in_organization, Product, Product_concept, Product_version, Product_version_relationship, Product_view_definition, Project_assignment, Project_relationship, Property_representation, Representation, Representation_context, Representation_item, Security_classification, Time_interval_relationship, Unit, Value_with_unit, View_definition_context, View_definition_relationship, Work_order, Work_request, and Work_request_status to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_classified_attribute_select =
SELECT
BASED_ON
classified_attribute_select
WITH
(Activity,
Activity_method,
Activity_method_assignment,
Activity_property,
Activity_property_representation,
Activity_relationship,
Address_assignment,
Affected_items_assignment,
Alternate_part_relationship,
Applied_activity_assignment,
Approval,
Approval_assignment,
Approval_relationship,
Approval_status,
Approving_person_organization,
Assigned_property,
Certification,
Certification_assignment,
Contract,
Date_or_date_time_assignment,
Digital_file,
Document_assignment,
Document_definition_relationship,
Effectivity,
Effectivity_assignment,
Event_assignment,
Event_relationship,
External_source_identification,
File_relationship,
Group,
Group_relationship,
Hardcopy,
Identification_assignment,
Independent_property,
Independent_property_relationship,
Independent_property_representation,
Information_right,
Information_usage_right,
Information_usage_right_relationship,
Language,
Market,
Organization_or_person_in_organization_assignment,
Organization_relationship,
Person_in_organization,
Product,
Product_concept,
Product_version,
Product_version_relationship,
Product_view_definition,
Project_assignment,
Project_relationship,
Property_representation,
Representation,
Representation_context,
Representation_item,
Security_classification,
Time_interval_relationship,
Unit,
Value_with_unit,
View_definition_context,
View_definition_relationship,
Work_order,
Work_request,
Work_request_status);
END_TYPE;
(*
The design_pdm_contract_item type is an extension of the contract_item type. It adds the data types organization_or_person_in_organization_select, Product_version, and Work_order to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_contract_item =
SELECT
BASED_ON
contract_item
WITH
(organization_or_person_in_organization_select,
Product_version,
Work_order);
END_TYPE;
(*
The design_pdm_date_or_date_time_item type is an extension of the date_or_date_time_item type. It adds the data types Contract, Document_definition, Product_view_definition, Security_classification, and Work_order to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_date_or_date_time_item =
SELECT
BASED_ON
date_or_date_time_item
WITH
(Contract,
Document_definition,
Product_view_definition,
Security_classification,
Work_order);
END_TYPE;
(*
The design_pdm_documented_element_select type is an extension of the documented_element_select type. It adds the data types Class_with_attributes, External_item_identification, Information_right, Information_usage_right, Information_usage_right_relationship, Group, Group_relationship, Material_identification, Product_view_definition, and Representation_item to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_documented_element_select =
SELECT
BASED_ON
documented_element_select
WITH
(Class_with_attributes,
External_item_identification,
Information_right,
Information_usage_right,
Information_usage_right_relationship,
Group,
Group_relationship,
Material_identification,
Product_view_definition,
Representation_item);
END_TYPE;
(*
The design_pdm_groupable_item type is an extension of the groupable_item type. It adds the data types Group_relationship, Identification_assignment, and Name_assignment to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_groupable_item =
SELECT
BASED_ON
groupable_item
WITH
(Group_relationship,
Identification_assignment,
Name_assignment);
END_TYPE;
(*
The design_pdm_identification_item type is an extension of the identification_item type. It adds the data types Document_type, Group, Group_relationship, Information_right, Information_usage_right, Information_usage_right_relationship, Material_identification, Organization, Product, Product_configuration, Product_concept, and Product_version to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_identification_item =
SELECT
BASED_ON
identification_item
WITH
(Document_type,
Group,
Group_relationship,
Information_right,
Information_usage_right,
Information_usage_right_relationship,
Material_identification,
Organization,
Product,
Product_configuration,
Product_concept,
Product_version);
END_TYPE;
(*
The design_pdm_material_item_select type is an extension of the material_item_select type. It adds the data type Part_view_definition to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_material_item_select =
SELECT
BASED_ON
material_item_select
WITH
(Part_view_definition);
END_TYPE;
(*
The design_pdm_organization_or_person_in_organization_item type is an extension of the organization_or_person_in_organization_item type. It adds the data types Alias_identification, Classification_assignment, Classification_association, Document_definition, Supplied_part_relationship, and Work_order to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_organization_or_person_in_organization_item =
SELECT
BASED_ON
organization_or_person_in_organization_item
WITH
(Alias_identification,
Classification_assignment,
Classification_association,
Document_definition,
Supplied_part_relationship,
Work_order);
END_TYPE;
(*
The design_pdm_requirement_assignment_item type is an extension of the requirement_assignment_item type. It adds the data types Product_configuration, Product_class, Product_view_definition, Product_version, Product, and View_definition_relationship to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_requirement_assignment_item =
SELECT
BASED_ON
requirement_assignment_item
WITH
(Product_configuration,
Product_class,
Product_view_definition,
Product_version,
Product,
View_definition_relationship);
END_TYPE;
(*
The design_pdm_requirement_source_item type is an extension of the requirement_source_item type. It adds the data types Group, Group_relationship, Product_view_definition, Product_version, Product, Shape_element, Characterizable_object, and View_definition_relationship to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_requirement_source_item =
SELECT
BASED_ON
requirement_source_item
WITH
(Group,
Group_relationship,
Product_view_definition,
Product_version,
Product,
Shape_element,
Characterizable_object,
View_definition_relationship);
END_TYPE;
(*
The design_pdm_security_classification_item type is an extension of the security_classification_item type. It adds the data types Document_definition, Product_version, Product_view_definition, and Promissory_usage to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_security_classification_item =
SELECT
BASED_ON
security_classification_item
WITH
(Document_definition,
Product_version,
Product_view_definition,
Promissory_usage);
END_TYPE;
(*
The design_pdm_string_select type is an extension of the string_select type. It adds the data types Information_right, Information_usage_right, and Information_usage_right_relationship to the list of alternate data types.
EXPRESS specification:
*)
TYPE
design_pdm_string_select =
SELECT
BASED_ON
string_select
WITH
(Information_right,
Information_usage_right,
Information_usage_right_relationship);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
document_category =
EXTENSIBLE
ENUMERATION
OF
(catalogue,
manual,
specification);
END_TYPE;
(*
Enumerated item definitions:
catalogue: the assigned document is the catalogue in which the associated object is listed;
EXAMPLE The document can be the catalogue of the manufacturer.
manual: the assigned document is the handbook that is supplied for the associated object;
specification: the assigned document specifies the considerations that lead to the design finally chosen for the associated object.
NOTE 1 When new enumeration values are added to this enumeration, they should be of general classifying nature. A part_category should not be used to classify object names or identifiers. For user defined classes and classification of items that share common properties, Classification_assignment and Class should be used.
EXPRESS specification:
*)
TYPE
part_category =
EXTENSIBLE
ENUMERATION
OF
(application_control,
assembly,
boxed,
collection,
completely_knocked_down,
continuous,
detail,
discrete,
in_process,
inseparable_assembly,
prototype,
raw_material,
raw_material_by_area,
raw_material_by_length,
raw_material_by_volume,
regulated,
safety,
service,
tool);
END_TYPE;
(*
Enumerated item definitions:
application_control: this type of classification is used to indicate that a part shall be considered under certification aspects;
EXAMPLE 1 Prior to the release of a new car to the market, both function and quality of certain parts have to be certified by an authority, e.g., the department of transportation. For such item objects, certification requirements have to be considered during the design phase.
assembly: this type of classification shall be used for any part that has an Assembly_definition provided for at least one of its versions, i.e., it is decomposed further;
boxed: specifies the role of the boxed part;
EXAMPLE 2 A can with one litre of a specific oil.
collection: this type of classification shall be used for any part that has a Collection_definition provided for at least one of its versions;
completely_knocked_down: this type of classification is used to indicate that a part is used in a production site that has assembling facilities only;
EXAMPLE 3 The 'completely knocked down' may indicate that the components are shipped to and assembled in a different country.
continuous: this type of classification is used to indicate the part that can be measured by it's volume or weight;
detail: this type of classification shall be used for any part that has no Assembly_definition provided for any of its versions, i.e., it is not further decomposed;
discrete: this type of classification is used to indicate that a part is one single piece.
in_process: this type of classification is used to indicate that the part identifies an intermediate object in a manufacturing process;
NOTE 2 Detailed information about the stage the part has within the manufacturing process may be obtained from the Process_operation_occurrence.
inseparable_assembly: the part plays the role of an inseparable assembly;
prototype: this type of classification is used to indicate that the part identifies a prototype and is not intended for serial production;
raw_material: the part plays the role of raw material;
raw_material_by_area: the part plays the role of raw material, cut by area, e.g. chipboard;
raw_material_by_length: the part plays the role of raw material, cut by length, e.g. cable;
raw_material_by_volume: the part plays the role of raw material, cut by volume, e.g. a raw block of marble;
regulated: this type of classification is used to indicate that for a part certain regulations have to be considered;
safety: this type of classification is used to indicate that a part is relevant for safety purposes;
service: this type of classification is used to indicate that a part is relevant for service purposes;
tool: the part plays the role of a tool;
The period_or_date_or_event_select type allows for the designation of the data types date_or_event and Duration.
EXPRESS specification:
*)
TYPE
period_or_date_or_event_select =
SELECT
(date_or_event,
Duration);
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.
EXPRESS specification:
*)
ENTITY Document_with_additional_categories
SUBTYPE OF (Document);
categories : SET[1:?] OF document_category;
END_ENTITY;
(*
Attribute definitions:
categories: provides classification information. There shall exist at least one document_category for the Document_with_additional_categories.
EXPRESS specification:
*)
ENTITY Part_with_additional_categories
SUBTYPE OF (Part);
categories : SET[1:?] OF part_category;
END_ENTITY;
(*
Attribute definitions:
categories: specifies the role of the part_category for the Part_with_additional_categories. There shall exist at least one part_category for the Part_with_additional_categories.
EXPRESS specification:
*)
ENTITY Retention_period;
retention_purpose :
OPTIONAL
STRING;
earliest_end_definition :
OPTIONAL
period_or_date_or_event_select;
latest_end_definition :
OPTIONAL
period_or_date_or_event_select;
start_definition : date_or_event;
is_applied_to : SET[1:?] OF time_interval_item;
WHERE
WR1: EXISTS(earliest_end_definition) OR EXISTS(latest_end_definition);
END_ENTITY;
(*
Attribute definitions:
retention_purpose: specifies the rationale behind the Retention_period. The value of this attribute need not be specified.
earliest_end_definition: specifies the point in time after which any object the Retention_period is applied to may be deleted or destroyed. In this context deletion or destruction applies to all subordinate objects that are not referenced by other objects. The value of this attribute need not be specified.
latest_end_definition: specifies the point in time before which any objects that the Retention_period is applied to shall be deleted or destroyed. In this context deletion or destruction applies to all subordinate objects that are not used by other objects. The value of this attribute need not be specified.
start_definition: specifies the point in time at which the Retention_period starts.
is_applied_to: specifies the objects whose existence is controlled by the Retention_period.
NOTE The master document is the one for which earliest_end_definition and latest_end_definition are the same.
Formal propositions:
WR1: There shall exist at least one of earliest_end_definition and latest_end_definition.
This subclause specifies the ARM rules for this module. The ARM rules and definitions are specified below.
EXPRESS specification:
*)
RULE product_occurrence_usage FOR
(Product_occurrence);
WHERE
WR1: SIZEOF(QUERY( po <* Product_occurrence |
NOT (
(SIZEOF(USEDIN(po,'ASSEMBLY_STRUCTURE_ARM.PRODUCT_OCCURRENCE_DEFINITION_RELATIONSHIP.RELATED_VIEW')) +
SIZEOF(USEDIN(po,'PRODUCT_BREAKDOWN_ARM.PRODUCT_DEFINITION_ELEMENT_RELATIONSHIP.PRODUCT'))) > 0
)
)) = 0;
END_RULE;
(*
Argument definitions:
Product_occurrence : the set of all instances of Product_occurrence.
Formal propositions:
WR1: A Product_occurrence shall either be used by a Product_occurrence_definition_relationship in the role related_view or by a Product_definition_element_relationship in the role product.
EXPRESS specification:
*)
RULE unique_document_id FOR
(Document);
WHERE
WR1: SIZEOF(QUERY (p1 <* Document | SIZEOF(QUERY (p2 <* Document |
(NOT(p1 :=: p2) AND (p1.id = p2.id)))) > 0 )) = 0;
END_RULE;
(*
Argument definitions:
Document : the set of all instances of Document.
Formal propositions:
WR1: Constrains the population of Document entity instances so that id shall be unique within that population.
EXPRESS specification:
*)
RULE unique_part_id FOR
(Part);
WHERE
WR1: SIZEOF(QUERY (p1 <* Part | SIZEOF(QUERY (p2 <* Part |
(NOT(p1 :=: p2) AND (p1.id = p2.id)))) > 0 )) = 0;
END_RULE;
(*
Argument definitions:
Part : the set of all instances of Part.
Formal propositions:
WR1: Constrains the population of Part entity instances so that id shall be unique within that population.
EXPRESS specification:
*)
RULE unique_product_version_id FOR
(Product);
WHERE
WR1: SIZEOF(QUERY (p <* Product |
(SIZEOF (QUERY (pv1 <*
USEDIN(p,'PRODUCT_VERSION_ARM.PRODUCT_VERSION.OF_PRODUCT') |
(SIZEOF (QUERY (pv2 <*
USEDIN(p,'PRODUCT_VERSION_ARM.PRODUCT_VERSION.OF_PRODUCT')
| pv1.id = pv2.id)) > 1)
)) > 0)
)) = 0;
END_RULE;
(*
Argument definitions:
Product : the set of all instances of Product.
Formal propositions:
WR1: Constrains the population of Product entity instances so that the id of Product_versions that use same Product in role of of_product shall be unique.
EXPRESS specification:
*)
RULE unique_product_view_definition_id FOR
(Product_version);
WHERE
WR1: SIZEOF(QUERY (pv <* Product_version |
(SIZEOF (QUERY (pvd1 <*
USEDIN(pv,'PRODUCT_VIEW_DEFINITION_ARM.PRODUCT_VIEW_DEFINITION.DEFINED_VERSION') |
(SIZEOF (QUERY (pvd2 <*
USEDIN(pv,'PRODUCT_VIEW_DEFINITION_ARM.PRODUCT_VIEW_DEFINITION.DEFINED_VERSION')
| pvd1.id = pvd2.id)) > 1)
)) > 0)
)) = 0;
END_RULE;
(*
Argument definitions:
Product_version : the set of all instances of Product_version.
Formal propositions:
WR1: Constrains the population of Product_version entity instances so that the id of Product_view_definitions that use same Product_version in role of defined_version shall be unique.
EXPRESS specification:
*)
RULE unique_requirement_id FOR
(Requirement);
WHERE
WR1: SIZEOF(QUERY (p1 <* Requirement | SIZEOF(QUERY (p2 <* Requirement |
(NOT(p1 :=: p2) AND (p1.id = p2.id)))) > 0 )) = 0;
END_RULE;
(*
Argument definitions:
Requirement : the set of all instances of Requirement.
Formal propositions:
WR1: Constrains the population of Requirement entity instances so that id shall be unique within that population.
*)
END_SCHEMA; -- Design_product_data_management_arm
(*
© ISO 2021 — All rights reserved