Application module: Design product data management ISO/TS 10303-1628:2021(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
   4.4 ARM rule definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions
     5.2.2 MIM entity definition

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

4 Information requirements

This clause specifies the information requirements for the 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;
(*

4.1 Required AM ARMs

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.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 design_activity_method_item   EXPRESS-G

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

4.2.2 design_pdm_affected_item_select   EXPRESS-G

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

4.2.3 design_pdm_approval_item   EXPRESS-G

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

4.2.4 design_pdm_assigned_name_select   EXPRESS-G

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

4.2.5 design_pdm_breakdown_of_target   EXPRESS-G

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

4.2.6 design_pdm_certification_item   EXPRESS-G

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

4.2.7 design_pdm_classification_item   EXPRESS-G

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

4.2.8 design_pdm_classified_attribute_select   EXPRESS-G

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

4.2.9 design_pdm_contract_item   EXPRESS-G

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

4.2.10 design_pdm_date_or_date_time_item   EXPRESS-G

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

4.2.11 design_pdm_documented_element_select   EXPRESS-G

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

4.2.12 design_pdm_groupable_item   EXPRESS-G

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

4.2.13 design_pdm_identification_item   EXPRESS-G

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

4.2.14 design_pdm_material_item_select   EXPRESS-G

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

4.2.15 design_pdm_organization_or_person_in_organization_item   EXPRESS-G

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

4.2.16 design_pdm_requirement_assignment_item   EXPRESS-G

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

4.2.17 design_pdm_requirement_source_item   EXPRESS-G

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

4.2.18 design_pdm_security_classification_item   EXPRESS-G

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

4.2.19 design_pdm_string_select   EXPRESS-G

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

4.2.20 document_category   EXPRESS-G

The document_category enumeration provides classification information of a document.

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.

4.2.21 part_category   EXPRESS-G

The part_category enumeration provides high level classification information.

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;

4.2.22 period_or_date_or_event_select   EXPRESS-G

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

4.3 ARM entity definitions

This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.

4.3.1 Document_with_additional_categories   EXPRESS-GMapping table

A Document_with_additional_categories is a type of Document.

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.

4.3.2 Part_with_additional_categories   EXPRESS-GMapping table

A Part_with_additional_categories is a type of Part.

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.

4.3.3 Retention_period   EXPRESS-GMapping table

A Retention_period is the definition of a period of time that product data needs to be maintained due to organizational policy or legal requirements.

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.

4.4 ARM rule definitions

This subclause specifies the ARM rules for this module. The ARM rules and definitions are specified below.

4.4.1 product_occurrence_usage

The product_occurrence_usage rule ensures that a Product_occurrence is used within a product structure.

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.

4.4.2 unique_document_id

The unique_document_id rule constrains the population of Document entity instances so that id shall be unique within that population.

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.

4.4.3 unique_part_id

The unique_part_id rule constrains the population of Part 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.

4.4.4 unique_product_version_id

The unique_product_version_id rule 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_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.

4.4.5 unique_product_view_definition_id

The unique_product_view_definition_id rule 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_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.

4.4.6 unique_requirement_id

The unique_requirement_id rule constrains the population of Requirement entity instances so that id shall be unique within that population.

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