Application module: Requirement decomposition | ISO/TS 10303-1740:2018-11(E) © ISO |
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;
(*
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.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
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;
(*
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.
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;
(*
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;
(*
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;
(*
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;
(*
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.
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;
(*
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.
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.
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;
(*
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.
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.
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.
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.
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.
This subclause specifies the ARM functions for this module. The ARM functions and definitions are specified below.
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.
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