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

4 Information requirements

This clause specifies the information requirements for the Requirement decomposition application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.

NOTE 1  A graphical representation of the information requirements is given in Annex C.

NOTE 2  The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Requirement_decomposition_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Requirement_decomposition_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
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);
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Conductivity_material_aspects_arm ISO/TS 10303-1756
Elemental_geometric_shape_arm ISO/TS 10303-1004
Functional_specification_arm ISO/TS 10303-1679
Group_arm ISO/TS 10303-1113
Production_rule_arm ISO/TS 10303-1739
Requirement_view_definition_relationship_arm ISO/TS 10303-1142
Specification_document_arm ISO/TS 10303-1747
Support_resource_arm ISO/TS 10303-1800

NOTE 2   See Annex C, Figures C.1, C.2and C.3 for a graphical representation of this schema.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 characteristic_select   EXPRESS-G

The characteristic_select type allows for the designation of the data types 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, and Set_representation_item.

EXPRESS specification:

*)
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;
(*

4.2.2 material_conductivity_classification   EXPRESS-G

A material_conductivity_classification lists the classification types of the material conductivity.

EXPRESS specification:

*)
TYPE material_conductivity_classification = ENUMERATION OF
   (conductive,
    resistive,
    semi_conductive,
    non_conductive);
END_TYPE;
(*

Enumerated item definitions:

conductive: specifies that material is conductive;

resistive: specifies that material is resistive;

semi_conductive: specifies that material is semi conductive;

non_conductive: specifies that material is non conductive.

4.2.3 rd_documented_element_select   EXPRESS-G

The rd_documented_element_select type is an extension of the documented_element_select type. It adds the data type Predefined_requirement_view_definition to the list of alternate data types.

NOTE  The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE rd_documented_element_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON documented_element_select WITH
   (Predefined_requirement_view_definition);
END_TYPE;
(*

4.2.4 rd_material_item_select   EXPRESS-G

The rd_material_item_select type is an extension of the material_item_select type. It adds the data type Predefined_requirement_view_definition to the list of alternate data types.

NOTE  The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE rd_material_item_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON material_item_select WITH
   (Predefined_requirement_view_definition);
END_TYPE;
(*

4.2.5 rd_property_assignment_select   EXPRESS-G

The rd_property_assignment_select type is an extension of the property_assignment_select type. It adds the data type Requirement_view_definition to the list of alternate data types.

NOTE  The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE rd_property_assignment_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON property_assignment_select WITH
   (Requirement_view_definition);
END_TYPE;
(*

4.2.6 rd_requirement_assignment_item   EXPRESS-G

The rd_requirement_assignment_item type is an extension of the requirement_assignment_item type. It adds the data types Group, and Group_relationship to the list of alternate data types.

NOTE  The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE rd_requirement_assignment_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON requirement_assignment_item WITH
   (Group,
    Group_relationship);
END_TYPE;
(*

4.2.7 relationship_operation   EXPRESS-G

A relationship_operation lists the operations of the relationship.

EXPRESS specification:

*)
TYPE relationship_operation = ENUMERATION OF
   (and_operation,
    or_operation);
END_TYPE;
(*

Enumerated item definitions:

and_operation: specifies the "and" operation;

or_operation: specifies the "or" operation.

4.2.8 requirement_basis_select   EXPRESS-G

The requirement_basis_select type is an extensible list of alternate data types. Additional alternate data types are specified in select data types that extend the requirement_basis_select type.

NOTE   This empty extensible select requires extension in a further module to ensure that entities that refer to it have at least one valid instantiation.

EXPRESS specification:

*)
TYPE requirement_basis_select = EXTENSIBLE GENERIC_ENTITY SELECT;
END_TYPE;
(*

4.3 ARM entity definitions

This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.

4.3.1 Constraint_occurrence   EXPRESS-GMapping table

A Constraint_occurrence is a type of Predefined_requirement_view_definition that limits possible solutions to the requirements specification by identifying boundary conditions for any potential solution. A Constraint_occurrence may be a View_based_constraint_occurrence.

NOTE    A constraint is simply a logical relation among several unknowns (or variables), each taking a value in a given domain. A constraint thus restricts the possible values that variables can take, it represents some partial information about the variables of interest. For instance, "the circle is inside the square" relates two objects without precisely specifying their positions, i.e., their coordinates. Now, one may move the square or the circle and he or she is still able to maintain the relation between these two objects. Also, one may want to add other object, say triangle, and introduce another constraint, say "square is to the left of the triangle". From the user (human) point of view, everything remains absolutely transparent.

Constraints naturally enjoy several interesting properties:

Constraints arise naturally in most areas of human endeavor. The three angles of a triangle sum to 180 degrees, the sum of the currents floating into a node must equal zero, the position of the scroller in the window scrollbar must reflect the visible part of the underlying document, these are some examples of constraints which appear in the real world. Thus, constraints are a natural medium for people to express problems in many fields. Reference: http://kti.ms.mff.cuni.cz/~bartak/constraints/intro.html

EXPRESS specification:

*)
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;
(*

Attribute definitions:

logical_relation: specifies the Complex_clause for the Constraint_occurrence. The value of this attribute need not be specified.

Formal propositions:

WR1: The Constraint_occurrence must be further defined by an View_based_constraint_occurrence or must have a logical_relation specified.

WR2: The id shall not be populated.

4.3.2 Design_characteristic_occurrence   EXPRESS-GMapping table

A Design_characteristic_occurrence is a type of Predefined_requirement_view_definition that specifies the technical performance values and tolerances for some aspect of a design.

NOTE    The specifications set forth in design characteristics may include such items as enterprise or customer specifications on preferred packaging, power design and control, design rules, and preferred design practices.

EXPRESS specification:

*)
ENTITY Design_characteristic_occurrence
  SUBTYPE OF (Predefined_requirement_view_definition);
END_ENTITY;
(*

4.3.3 Material_electrical_conductivity_requirement   EXPRESS-GMapping table

A Material_electrical_conductivity_requirement is a type of Predefined_requirement_view_definition that specifies the requirement for conductive material.

EXPRESS specification:

*)
ENTITY Material_electrical_conductivity_requirement
  SUBTYPE OF (Predefined_requirement_view_definition);
  electrical_conductivity_characteristic : material_conductivity_classification;
END_ENTITY;
(*

Attribute definitions:

electrical_conductivity_characteristic: specifies the material_conductivity_classification for the Material_electrical_conductivity_requirement. The electrical_conductivity_characteristic specifies either a conductive, a non_conductive, a resistive, or a semi_conductive classification of material conductivity for the material_conductivity_classification.

NOTE    These are generic category names. If more specific data is required, the characteristics should be associated to the Material_electrical_conductivity_requirement using the required_characteristic inherited from Predefined_requirement_view_definition.

4.3.4 Operational_requirement_relationship   EXPRESS-GMapping table

An Operational_requirement_relationship is a type of Assigned_property and a type of View_definition_relationship. An Operational_requirement_relationship is the association between one Requirement_view_definition and another, with a defined type of relationship. An Operational_requirement_relationship is an incompletely modeled concept and shall be combined with members of Requirement_collection_relationship to form a complete requirement.

EXPRESS specification:

*)
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;
(*

Attribute definitions:

operand_1: an instance specifies the first Requirement_view_definition for the Operational_requirement_relationship. The first Requirement_view_definition is the dependent item if the relationship is a dependency relationship.

operand_2: an instance specifies the second Requirement_view_definition for the Operational_requirement_relationship. The second Requirement_view_definition is the independent item if the relationship is a dependency relationship.

result: specifies a result of the two operands after the operation. The result is of type Requirement_view_definition.

relationship_type: specifies one of the following:

The mathematical operations AND, OR shall be implemented for this relationship_type. The AND_OPERATION is provided so that changes in relationship_type from OR_OPERATION to AND_OPERATION do not cause a structural change to the populated data. The implicit relationship between two member of Predefined_requirement_view_definition that help to compose the same Predefined_requirement_view_definition is an AND relationship.

Formal propositions:

WR1: The operand_1 shall not be the operand_2.

4.3.5 Predefined_requirement_view_definition   EXPRESS-GMapping table

A Predefined_requirement_view_definition is a type of Requirement_view_definition. A Predefined_requirement_view_definition may be either a Constraint_occurrence or a Design_characteristic_occurrence. A Predefined_requirement_view_definition is a statement of criteria for design or manufacturing that may be derived from more abstract criteria or may be a decomposition of a technical parameter associated wtih a product structure. Complex requirements may be associated with a product specifically for the purpose of managing the requirements.

NOTE    This part of ISO 10303 provides generic categories for enterprise classification of requirements and includes some predefined domain classified requirements.

EXAMPLE    An inspection requirement may be derived from an electromagnetic requirement.

EXPRESS specification:

*)
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;
(*

Attribute definitions:

required_characteristic: specifies a role of the characteristic_select for the Predefined_requirement_view_definition. The value of this attribute need not be specified.

requirement_basis: specifies the basis for the Predefined_requirement_view_definition. The value of this attribute need not be specified.

requirement_specification: specifies the Specification_definition for the source of the Predefined_requirement_view_definition. There shall be one or more Specification_definition for a Predefined_requirement_view_definition.

reference_clause: specifies the Document_definition for the Predefined_requirement_view_definition in a natural language. The value of this attribute need not be specified.

required_material: specifies an inverse relationship that specifies that the existence of the Predefined_requirement_view_definition is dependent on the existence of the Material_identification that specifies the Predefined_requirement_view_definition as its items. The value of this attribute need not be specified.

Formal propositions:

WR1: If required_material is provided, it's type shall be Material_identification_with_conductivity_classification.

WR2: The application_domain of View_definition_context, that is in role of initial_context of Predefined_requirement_view_definition, shall be set to one of: 'mechanical', 'thermal', 'electromechanical', 'electromagnetic compatibility', 'electrical'.

WR3: The life_cycle_stage of View_definition_context, that is in role of initial_context of Predefined_requirement_view_definition, shall be set to one of: 'design', 'qualify', 'inspect', 'test'.

WR4: The name shall not be populated.

WR5: Either required_characteristic or requirement_basis shall be specified.

4.3.6 Shape_and_view_based_constraint_occurrence   EXPRESS-GMapping table

A Shape_and_view_based_constraint_occurrence is a type of View_based_constraint_occurrence that has a basis in the characteristics of one or more Geometric_model within the context of the constraining_part inherited from View_based_constraint_occurrence. Each member of Geometric_model referenced shall reference the Product_view_definition referenced by the constraining_part attribute inherited from View_based_constraint_occurrence.

NOTE    This provides a mechanism to specify that one or more of the analysis or keepout shapes on Part_view_definition is a constraint.

EXPRESS specification:

*)
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;
(*

Attribute definitions:

constraining_shape: specifies a role of the Geometric_model for the Shape_and_view_based_constraint_occurrence. The interpretation shall be that the constraining_shape specifies the shape representation and the constraining_part inherited from the supertype specifies the Product_view_definition. There may be one or more Geometric_model for the Shape_and_view_based_constraint_occurrence.

Formal propositions:

WR1: The constraining_shape defined by the constraining_part must be a valid constraining shape.

4.3.7 View_based_constraint_occurrence   EXPRESS-GMapping table

A View_based_constraint_occurrence is a type of Constraint_occurrence that has a basis in the characteristics of a Product_view_definition. A View_based_constraint_occurrence may be a Shape_and_view_based_constraint_occurrence.

EXPRESS specification:

*)
ENTITY View_based_constraint_occurrence
  SUPERTYPE OF (Shape_and_view_based_constraint_occurrence)
  SUBTYPE OF (Constraint_occurrence);
  constraining_part : Product_view_definition;
END_ENTITY;
(*

Attribute definitions:

constraining_part: specifies the Product_view_definition for the View_based_constraint_occurrence.

4.4 ARM function definitions

This subclause specifies the ARM functions for this module. The ARM functions and definitions are specified below.

4.4.1 get_rvd

The get_rvd function returns the set of Requirement_view_definitions that are assigned to the specified input by the Requirement_assignments, having their id set to the specified id, as assigned_requirements.

EXPRESS specification:

*)
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;
(*

Argument definitions:

input: the specified requirement_assignment_item.

id: the identifier for Requirement_assignments.

4.4.2 valid_constraining_shape

The valid_constraining_shape function returns the logical value.

EXPRESS specification:

*)
FUNCTION valid_constraining_shape (sd : SET[0:?] OF Geometric_model; eepd : Product_view_definition) : BOOLEAN;
RETURN(TRUE);
END_FUNCTION;
(*

Argument definitions:

sd: the specified set of Geometric_model.

eepd: the specified Product_view_definition.



*)
END_SCHEMA;  -- Requirement_decomposition_arm
(*


© ISO 2018 — All rights reserved