Application module: Specification control | ISO/TS 10303-1112:2019(E) © ISO |
(*
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