Application module: Requirement decomposition | ISO/TS 10303-1740:2018-11(E) © ISO |
(*
ISO/TC 184/SC 4/WG 12 N9516 - ISO/TS 10303-1740 Requirement decomposition - EXPRESS ARM
Supersedes
ISO/TC 184/SC 4/WG 12 N7037
*)
SCHEMA Requirement_decomposition_arm;
USE FROM
Conductivity_material_aspects_arm;
-- ISO/TS 10303-1756
USE FROM
Elemental_geometric_shape_arm;
-- ISO/TS 10303-1004
USE FROM
Functional_specification_arm;
-- ISO/TS 10303-1679
USE FROM
Group_arm;
-- ISO/TS 10303-1113
USE FROM
Production_rule_arm;
-- ISO/TS 10303-1739
USE FROM
Requirement_view_definition_relationship_arm;
-- ISO/TS 10303-1142
REFERENCE FROM
Specification_document_arm -- ISO/TS 10303-1747
(get_document_definition);
REFERENCE FROM
Support_resource_arm -- ISO/TS 10303-1800
(bag_to_set);
TYPE characteristic_select =
SELECT
(characteristic,
Boolean_representation_item,
Date_time_representation_item,
Integer_representation_item,
Logical_representation_item,
Property_value_representation,
Rational_representation_item,
Real_representation_item,
Sequence_representation_item,
Set_representation_item);
END_TYPE;
TYPE material_conductivity_classification =
ENUMERATION
OF
(conductive,
resistive,
semi_conductive,
non_conductive);
END_TYPE;
TYPE rd_documented_element_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
documented_element_select
WITH
(Predefined_requirement_view_definition);
END_TYPE;
TYPE rd_material_item_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
material_item_select
WITH
(Predefined_requirement_view_definition);
END_TYPE;
TYPE rd_property_assignment_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
property_assignment_select
WITH
(Requirement_view_definition);
END_TYPE;
TYPE rd_requirement_assignment_item =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
requirement_assignment_item
WITH
(Group,
Group_relationship);
END_TYPE;
TYPE relationship_operation =
ENUMERATION
OF
(and_operation,
or_operation);
END_TYPE;
TYPE requirement_basis_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT;
END_TYPE;
ENTITY Constraint_occurrence
SUPERTYPE OF
(View_based_constraint_occurrence)
SUBTYPE OF (Predefined_requirement_view_definition);
logical_relation :
OPTIONAL
Complex_clause;
WHERE
WR1: (('REQUIREMENT_DECOMPOSITION_ARM.' + 'VIEW_BASED_CONSTRAINT_OCCURRENCE') IN TYPEOF(SELF)) OR EXISTS(logical_relation);
WR2: NOT EXISTS(SELF\Product_view_definition.id);
END_ENTITY;
ENTITY Design_characteristic_occurrence
SUBTYPE OF (Predefined_requirement_view_definition);
END_ENTITY;
ENTITY Material_electrical_conductivity_requirement
SUBTYPE OF (Predefined_requirement_view_definition);
electrical_conductivity_characteristic : material_conductivity_classification;
END_ENTITY;
ENTITY Operational_requirement_relationship
SUBTYPE OF (Assigned_property, View_definition_relationship);
SELF\View_definition_relationship.relating_view RENAMED operand_1 : Requirement_view_definition;
SELF\View_definition_relationship.related_view RENAMED operand_2 : Requirement_view_definition;
SELF\Assigned_property.described_element RENAMED result : Requirement_view_definition;
relationship_type : relationship_operation;
WHERE
WR1: operand_1 :<>: operand_2;
END_ENTITY;
ENTITY Predefined_requirement_view_definition
SUPERTYPE OF
(ONEOF (Constraint_occurrence,
Design_characteristic_occurrence))
SUBTYPE OF (Requirement_view_definition);
required_characteristic :
OPTIONAL
characteristic_select;
requirement_basis :
OPTIONAL
SET[1:?] OF requirement_basis_select;
DERIVE
requirement_specification : SET[1:?] OF Document_definition := get_document_definition(SELF, 'requirement specification',
'SPECIFICATION_DOCUMENT_ARM.SPECIFICATION_DEFINITION');
reference_clause : SET[0:1] OF Document_definition := get_document_definition(SELF, 'reference clause',
'SPECIFICATION_DOCUMENT_ARM.DOCUMENT_DEFINITION');
INVERSE
required_material : SET[0:1] OF Material_identification FOR items;
WHERE
WR1: NOT (SIZEOF(required_material) = 1) OR
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+ 'MATERIAL_IDENTIFICATION_WITH_CONDUCTIVITY_CLASSIFICATION' IN TYPEOF (required_material));
WR2: SELF\Product_view_definition.initial_context.application_domain IN
['mechanical', 'thermal', 'electromechanical', 'electromagnetic compatibility', 'electrical'];
WR3: SELF\Product_view_definition.initial_context.life_cycle_stage in ['design', 'qualify', 'inspect', 'test'];
WR4: NOT EXISTS(SELF\Product_view_definition.name);
WR5: EXISTS(required_characteristic) XOR EXISTS(requirement_basis);
END_ENTITY;
ENTITY Shape_and_view_based_constraint_occurrence
SUBTYPE OF (View_based_constraint_occurrence);
constraining_shape : SET[1:?] OF Geometric_model;
WHERE
WR1: valid_constraining_shape(constraining_shape,
SELF\View_based_constraint_occurrence.constraining_part);
END_ENTITY;
ENTITY View_based_constraint_occurrence
SUPERTYPE OF
(Shape_and_view_based_constraint_occurrence)
SUBTYPE OF (Constraint_occurrence);
constraining_part : Product_view_definition;
END_ENTITY;
FUNCTION get_rvd
(input : requirement_assignment_item; id : STRING) : SET[0:?] OF Requirement_view_definition;
LOCAL rvd : SET[0:?] OF Requirement_view_definition := []; --this gives us access to the information base ra : SET[0:?] OF Requirement_assignment :=[]; END_LOCAL; ra := bag_to_set((QUERY(rai <* USEDIN (input, 'REQUIREMENT_ASSIGNMENT_ARM.'+ 'REQUIREMENT_ASSIGNMENT.ASSIGNED_TO') | (rai.id = id)))); -- iterate over ra REPEAT i := 1 to SIZEOF(ra) by 1; rvd := rvd + ra[i].assigned_requirement; END_REPEAT; RETURN(rvd);
END_FUNCTION;
FUNCTION valid_constraining_shape
(sd : SET[0:?] OF Geometric_model; eepd : Product_view_definition) : BOOLEAN;
RETURN(TRUE);
END_FUNCTION;
END_SCHEMA; -- Requirement_decomposition_arm
© ISO 2018 — All rights reserved