Application module: Specification control | ISO/TS 10303-1112:2019(E) © ISO |
This clause specifies the information requirements for the Specification control 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 Specification_control_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Specification_control_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
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
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Alternative_solution_arm ISO/TS 10303-1109 Part_collection_arm ISO/TS 10303-1115 Product_placement_arm ISO/TS 10303-1343 Requirement_view_definition_arm ISO/TS 10303-1141 Specification_based_configuration_arm ISO/TS 10303-1108
NOTE 2 See Annex C, Figures C.1and C.2 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 breakdown_element_select type allows for the designation of the data types Functional_element_definition and Physical_element_definition.
EXPRESS specification:
*)
TYPE
breakdown_element_select =
SELECT
(Functional_element_definition,
Physical_element_definition);
END_TYPE;
(*
The constraint_context_select type allows for the designation of the data type Product_class.
EXPRESS specification:
*)
TYPE
constraint_context_select =
SELECT
(Product_class);
END_TYPE;
(*
The effectivity_specification_for_replacement type is an extension of the effectivity_item type. It adds the data type Replaced_usage_relationship to the list of alternate data types.
EXPRESS specification:
*)
TYPE
effectivity_specification_for_replacement =
SELECT
BASED_ON
effectivity_item
WITH
(Replaced_usage_relationship);
END_TYPE;
(*
The instance_usage_context_select type is an extensible list of alternate data types that allows for the designation of the data types Collected_item_association and Solution_element.
NOTE The list of entity data types may be extended in application modules that use the constructs of this module.
EXPRESS specification:
*)
TYPE
instance_usage_context_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
(Collected_item_association,
Solution_element);
END_TYPE;
(*
The sc_configured_element type is an extension of the configured_item_select type. It adds the data type Alternative_solution to the list of alternate data types.
EXPRESS specification:
*)
TYPE
sc_configured_element =
SELECT
BASED_ON
configured_item_select
WITH
(Alternative_solution);
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.
EXPRESS specification:
*)
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;
(*
Attribute definitions:
description: a text that provides further information about the relationship. The value of this attribute need not be specified.
relating: the instance of an entity type listed in complex_product_select type that is related.
related: the instance of an entity type listed in breakdown_element_select type that is related.
relation_type: the text that specifies the meaning of the relationship.
Where applicable, the following values shall be used:
NOTE This case is identical to the functionality of Breakdown_element_usage that should be used preferably
EXAMPLE 1 The functional element 'heat dissipation' may be considered as one of the functionalities to be fulfilled by any technical solution for the physical element 'braking system'.
NOTE This case is identical to the functionality of Breakdown_element_realization that should be used preferably.
EXAMPLE 2 The physical element 'braking system' may be considered as a means to realize the functional element 'braking'.
Formal propositions:
WR1: If the relation_type is 'functionality' or 'realization', the related and relating shall be of different types.
WR2: If the relation_type is 'decomposition', 'specialization' or 'occurrence', the related and relating shall be of same type or types where one is a subtype of the other.
WR3: If the relation_type is 'occurrence', the relating shall be a Physical_element_definition.
EXAMPLE A Class_breakdown_association may associate a Product_class with the top node of a generic decomposition of products of that product class.
EXPRESS specification:
*)
ENTITY Class_breakdown_association;
description :
OPTIONAL
STRING;
considered_class : Product_class;
breakdown_element : breakdown_element_select;
relation_type : STRING;
END_ENTITY;
(*
Attribute definitions:
description: a text that provides further information about the association. The value of this attribute need not be specified.
considered_class: the Product_class that is considered.
breakdown_element: the Functional_element_definition or the Physical_element_definition that is associated.
relation_type: the text that specifies the meaning of the association.
Where applicable, the following values shall be used:
EXPRESS specification:
*)
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;
(*
Attribute definitions:
description: a text that provides further information about the relationship. The value of this attribute need not be specified.
relating: the first instance of an entity type listed in complex_product_select type that is related.
related: the second instance of an entity type listed in complex_product_select type that is related.
relation_type: the text that specifies the meaning of the relationship.
Where applicable, the following values shall be used:
NOTE 1 The relationship does not imply inheritance of any kind between the application objects that are related.
EXAMPLE 1 'version hierarchy' is used, whenever a revision of one particular version is prepared, for example 'version 1.1'.
NOTE 2 The relationship does not imply inheritance of any kind between the application objects that are related.
EXAMPLE 2 'version sequence' is used, whenever a new version is prepared, for example 'version 1.0' is the preceding version of 'version 2.0'.
Formal propositions:
WR1: The type of the relating shall either be the same or a specialization of the type of the related, or, the type of the related shall either be the same or a specialization of the type of the relating.
EXPRESS specification:
*)
ENTITY Design_constraint_association;
name :
OPTIONAL
STRING;
constrained_object : complex_product_select;
constraint_definition : Design_constraint_definition;
END_ENTITY;
(*
Attribute definitions:
name: a text by which the association may be referred to. The value of this attribute need not be specified.
constrained_object: the instance of an entity type listed in complex_product_select type, whose design is constrained by the associated design constraint.
constraint_definition: the Design_constraint_context_association that is associated.
EXAMPLE A design constraint about ergonomy of driving devices may be specified in the context of the design of a new product class of cars.
EXPRESS specification:
*)
ENTITY Design_constraint_context_association;
constraint_definition : Design_constraint_definition;
constraint_context : constraint_context_select;
END_ENTITY;
(*
Attribute definitions:
constraint_definition: the Design_constraint_context_association that is considered.
constraint_context: the Product_class for which the design constraint shall be considered.
A Design_constraint_definition is a type of Requirement_view_definition that specifies a definition of a version of requirement that impacts the design of some physical or functional elements.
NOTE In the present context, design of a functional or physical element means design of parts that realize or fulfills the functional or organic requirement.
EXAMPLE 1 Ergonomic information like 'hip point' or 'forward driver vision' as well as 'door opening control lines', 'shipping critical dimensions', or 'stone throw zone' are examples of design constraint.
EXAMPLE 2 The standard diameter of soft drink cans is a constraint for designing the hole of a cup holder in a car.
EXPRESS specification:
*)
ENTITY Design_constraint_definition
SUBTYPE OF (Requirement_view_definition);
END_ENTITY;
(*
Where applicable, the inherited relation_type attribute shall take the following values:
EXPRESS specification:
*)
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;
(*
Attribute definitions:
relating_view: the Functional_element_definition that specifies a definition of the realized functionality.
related_view: the Part_view_definition that identifies the definition of the part the provides the functionality.
Where applicable, the inherited relation_type attribute shall take the following values:
EXPRESS specification:
*)
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;
(*
Attribute definitions:
relating_view: the first part occurrence that is related.
related_view: the second part occurrence that is related.
This replacement is specified in the context of a part collection or of an alternative solution. Both part occurrences shall be elements of this part collection or of this alternative solution.
Each Replaced_usage_relationship shall be referenced by an Effectivity_assignment that defines the validity of the replacement.
EXPRESS specification:
*)
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;
(*
Attribute definitions:
usage_context: the instance of Collected_item_association or of Solution_element that identifies a context in which the relating part occurrence is considered and where the replacement applies.
relation_type: in this specialization of Part_occurrence_relationship , the "relation type" is assigned the value 'usage replacement'.
EXAMPLE For cars, the specification category containing the target markets, influences the design of the realization of the function Driving, as the driving side may vary.
EXPRESS specification:
*)
ENTITY Specification_category_breakdown_influence;
influencing_category : Class_category_association;
influenced_breakdown_node : breakdown_element_select;
END_ENTITY;
(*
Attribute definitions:
influencing_category: the Class_category_association that identifies the influencing Specification_category and the Product_class in which this influence is considered.
influenced_breakdown_node: the instance of an entity listed in breakdown_element_select, the design of the solutions of which is influenced.
This subclause specifies the ARM function for this module. The ARM function and definition is specified below.
EXPRESS specification:
*)
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;
(*
Argument definitions:
agg1: the aggregate whose inclusion in the agg2 aggregate is evaluated.
agg2: the aggregate that may or not contain agg1.
*)
END_SCHEMA; -- Specification_control_arm
(*
© ISO 2019 — All rights reserved