Application module: Specification control ISO/TS 10303-1112:2019(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 function definition
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 definitions
     5.2.3 MIM rule definitions

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 Application module implementation and usage guide
G Change history
Bibliography
Index

(*
ISO/TC 184/SC 4/WG 12 N8053 - ISO/TS 10303-1112 Specification control - EXPRESS ARM
Supersedes ISO/TC 184/SC 4/WG 12 N6673
*)



SCHEMA Specification_control_arm;

USE FROM Alternative_solution_arm;    -- ISO/TS 10303-1109

USE FROM Part_collection_arm;    -- ISO/TS 10303-1115

USE FROM Product_placement_arm;    -- ISO/TS 10303-1343

USE FROM Requirement_view_definition_arm;    -- ISO/TS 10303-1141

USE FROM Specification_based_configuration_arm;    -- ISO/TS 10303-1108


TYPE breakdown_element_select = SELECT
   (Functional_element_definition,
    Physical_element_definition);
END_TYPE;

TYPE constraint_context_select = SELECT
   (Product_class);
END_TYPE;

TYPE effectivity_specification_for_replacement = SELECT BASED_ON effectivity_item WITH
   (Replaced_usage_relationship);
END_TYPE;

TYPE instance_usage_context_select = EXTENSIBLE GENERIC_ENTITY SELECT
   (Collected_item_association,
    Solution_element);
END_TYPE;

TYPE sc_configured_element = SELECT BASED_ON configured_item_select WITH
   (Alternative_solution);
END_TYPE;

ENTITY Breakdown_node_relationship;
  description : OPTIONAL STRING;
  relating : complex_product_select;
  related : breakdown_element_select;
  relation_type : STRING;
WHERE
  WR1: (NOT (relation_type IN ['functionality', 'realization'])) OR (TYPEOF(related) <> TYPEOF(relating));
  WR2: (NOT (relation_type IN ['decomposition', 'specialization', 'occurrence'])) OR (aggregate1_in_aggregate2(TYPEOF(related),TYPEOF(relating)) OR aggregate1_in_aggregate2(TYPEOF(relating),TYPEOF(related)) );
  WR3: (NOT (relation_type IN ['occurrence'])) OR ('SPECIFICATION_CONTROL_ARM.PHYSICAL_ELEMENT_DEFINITION' IN TYPEOF(relating));
END_ENTITY;

ENTITY Class_breakdown_association;
  description : OPTIONAL STRING;
  considered_class : Product_class;
  breakdown_element : breakdown_element_select;
  relation_type : STRING;
END_ENTITY;

ENTITY Complex_node_relationship;
  description : OPTIONAL STRING;
  relating : complex_product_select;
  related : complex_product_select;
  relation_type : STRING;
WHERE
  WR1: (aggregate1_in_aggregate2(TYPEOF(related),TYPEOF(relating)) OR aggregate1_in_aggregate2(TYPEOF(relating),TYPEOF(related)) );
END_ENTITY;

ENTITY Design_constraint_association;
  name : OPTIONAL STRING;
  constrained_object : complex_product_select;
  constraint_definition : Design_constraint_definition;
END_ENTITY;

ENTITY Design_constraint_context_association;
  constraint_definition : Design_constraint_definition;
  constraint_context : constraint_context_select;
END_ENTITY;

ENTITY Design_constraint_definition
  SUBTYPE OF (Requirement_view_definition);
END_ENTITY;

ENTITY Part_function_association
  SUBTYPE OF (View_definition_relationship);
  SELF\View_definition_relationship.relating_view : Functional_element_definition;
  SELF\View_definition_relationship.related_view : Part_view_definition;
END_ENTITY;

ENTITY Part_occurrence_relationship
  SUBTYPE OF (View_definition_relationship);
  SELF\View_definition_relationship.relating_view : Product_occurrence;
  SELF\View_definition_relationship.related_view : Product_occurrence;
END_ENTITY;

ENTITY Replaced_usage_relationship
  SUBTYPE OF (Part_occurrence_relationship);
  usage_context : instance_usage_context_select;
DERIVE
  SELF\View_definition_relationship.relation_type : STRING := 'usage replacement';
END_ENTITY;

ENTITY Specification_category_breakdown_influence;
  influencing_category : Class_category_association;
  influenced_breakdown_node : breakdown_element_select;
END_ENTITY;

FUNCTION aggregate1_in_aggregate2
 (agg1 : AGGREGATE OF GENERIC; agg2 : AGGREGATE OF GENERIC) : LOGICAL;
RETURN(SIZEOF(QUERY (ele <* agg1 | VALUE_IN(agg2, ele)))= SIZEOF(agg1));
END_FUNCTION;

END_SCHEMA;  -- Specification_control_arm


© ISO 2019 — All rights reserved