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

(*
ISO/TC 184/SC 4/WG 12 N10047 - ISO/TS 10303-1628 Design product data management - EXPRESS ARM
Supersedes ISO/TC 184/SC 4/WG 12 N9864
*)



SCHEMA Design_product_data_management_arm;

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


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;

TYPE design_pdm_affected_item_select = SELECT BASED_ON affected_item_select WITH
   (Work_request);
END_TYPE;

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;

TYPE design_pdm_assigned_name_select = SELECT BASED_ON assigned_name_select WITH
   (Group,
    Group_relationship,
    Product,
    Product_view_definition);
END_TYPE;

TYPE design_pdm_breakdown_of_target = SELECT BASED_ON breakdown_of_target WITH
   (Product_concept,
    Product_configuration);
END_TYPE;

TYPE design_pdm_certification_item = SELECT BASED_ON certification_item WITH
   (Alternate_product_relationship,
    Product_version);
END_TYPE;

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;

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;

TYPE design_pdm_contract_item = SELECT BASED_ON contract_item WITH
   (organization_or_person_in_organization_select,
    Product_version,
    Work_order);
END_TYPE;

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;

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;

TYPE design_pdm_groupable_item = SELECT BASED_ON groupable_item WITH
   (Group_relationship,
    Identification_assignment,
    Name_assignment);
END_TYPE;

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;

TYPE design_pdm_material_item_select = SELECT BASED_ON material_item_select WITH
   (Part_view_definition);
END_TYPE;

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;

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;

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;

TYPE design_pdm_security_classification_item = SELECT BASED_ON security_classification_item WITH
   (Document_definition,
    Product_version,
    Product_view_definition,
    Promissory_usage);
END_TYPE;

TYPE design_pdm_string_select = SELECT BASED_ON string_select WITH
   (Information_right,
    Information_usage_right,
    Information_usage_right_relationship);
END_TYPE;

TYPE document_category = EXTENSIBLE ENUMERATION OF
   (catalogue,
    manual,
    specification);
END_TYPE;

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;

TYPE period_or_date_or_event_select = SELECT
   (date_or_event,
    Duration);
END_TYPE;

ENTITY Document_with_additional_categories
  SUBTYPE OF (Document);
  categories : SET[1:?] OF document_category;
END_ENTITY;

ENTITY Part_with_additional_categories
  SUBTYPE OF (Part);
  categories : SET[1:?] OF part_category;
END_ENTITY;

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;

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;

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;

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;

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;

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;

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;

END_SCHEMA;  -- Design_product_data_management_arm


© ISO 2021 — All rights reserved