Application module: Requirement decomposition ISO/TS 10303-1740:2018-11(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 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 definitions
     5.2.3 MIM subtype constraint 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 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