Application module: Specification document | ISO/TS 10303-1747:2018-11(E) © ISO |
This clause specifies the information requirements for the Specification document 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_document_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Specification_document_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Characteristic_arm;
--
ISO/TS 10303-1654
USE FROM
Configuration_item_arm;
--
ISO/TS 10303-1056
USE FROM
Tagged_text_representation_arm;
--
ISO/TS 10303-1366
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:
Characteristic_arm ISO/TS 10303-1654 Configuration_item_arm ISO/TS 10303-1056 Tagged_text_representation_arm ISO/TS 10303-1366 Support_resource_arm ISO/TS 10303-1800
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 sd_documented_element_select type is an extension of the documented_element_select type. It adds the data types Product_configuration, Product_view_definition, Product_version, and Product to the list of alternate data types.
EXPRESS specification:
*)
TYPE
sd_documented_element_select =
SELECT
BASED_ON
documented_element_select
WITH
(Product_configuration,
Product_view_definition,
Product_version,
Product);
END_TYPE;
(*
The sd_organization_or_person_in_organization_item type is an extension of the organization_or_person_in_organization_item type. It adds the data type Specification_definition to the list of alternate data types.
EXPRESS specification:
*)
TYPE
sd_organization_or_person_in_organization_item =
SELECT
BASED_ON
organization_or_person_in_organization_item
WITH
(Specification_definition);
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 Design_specification
SUPERTYPE OF (Interface_specification_document_definition)
SUBTYPE OF (Specification_definition);
WHERE
WR1: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
END_ENTITY;
(*
Formal propositions:
WR1: The additional_characterization shall not be populated.
EXPRESS specification:
*)
ENTITY Fabrication_technology_specification
SUBTYPE OF (Process_specification);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Interface_specification_document_definition
SUBTYPE OF (Design_specification);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Language_reference_manual
SUBTYPE OF (Specification_definition);
WHERE
WR1: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
END_ENTITY;
(*
Formal propositions:
WR1: The additional_characterization shall not be populated.
EXPRESS specification:
*)
ENTITY Material_specification
SUBTYPE OF (Specification_definition);
WHERE
WR1: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
END_ENTITY;
(*
Formal propositions:
WR1: The additional_characterization shall not be populated.
EXPRESS specification:
*)
ENTITY Partial_document_with_structured_text_representation_assignment
SUBTYPE OF (Partial_document_assignment);
structured_portion : string_representation_item_select;
UNIQUE
UR1: SELF\Partial_document_assignment.document_portion, SELF\Document_assignment.assigned_document;
END_ENTITY;
(*
Attribute definitions:
structured_portion: specifies the role of the string_representation_item_select for the Partial_document_with_structured_text_representation_assignment.
Formal propositions:
UR1: The combination of document_portion and assigned_document shall be unique within a population of Partial_document_with_structured_text_representation_assignments.
A Process_specification is a type of Specification_definition that identifies and describes an activity and limits on the results of the activity to be performed on an Product or material during a product realization process.
EXAMPLE Figure 1 illustrates a detail from a Process_specification for an etching process.
EXPRESS specification:
*)
ENTITY Process_specification
SUBTYPE OF (Specification_definition);
WHERE
WR1: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
END_ENTITY;
(*
Formal propositions:
WR1: The additional_characterization shall not be populated.
A Specification_allocation is a type of Document_assignment, which an assigned_document must be of Specification_definition type.
EXPRESS specification:
*)
ENTITY Specification_allocation
SUBTYPE OF (Document_assignment);
SELF\Document_assignment.assigned_document RENAMED allocated_specification : Specification_definition;
END_ENTITY;
(*
Attribute definitions:
allocated_specification: specifies the role of the Specification_definition for the Specification_allocation.
EXPRESS specification:
*)
ENTITY Specification_definition
SUPERTYPE OF (ONEOF (Design_specification,
Process_specification,
Material_specification,
Test_specification,
Language_reference_manual))
SUBTYPE OF (Document_definition);
DERIVE
source : SET[0:?] OF Organization_or_person_in_organization_assignment := bag_to_set(QUERY(temp <* USEDIN(SELF,'PERSON_ORGANIZATION_ASSIGNMENT_ARM.'+
'ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT.ITEMS') |
(temp.role = 'document source') ));
WHERE
WR1: EXISTS (source) AND (SIZEOF(source) = 1);
END_ENTITY;
(*
Attribute definitions:
source: specifies the Organization or the Person_in_organization responsible for the information of a Specification_definition.
Formal propositions:
WR1: The source shall be provided and its size shall be one.
EXPRESS specification:
*)
ENTITY Surface_finish_specification
SUBTYPE OF (Material_specification);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Test_specification
SUBTYPE OF (Specification_definition);
WHERE
WR1: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
END_ENTITY;
(*
Formal propositions:
WR1: The additional_characterization shall not be populated.
This subclause specifies the ARM function for this module. The ARM function and definition is specified below.
EXPRESS specification:
*)
FUNCTION get_document_definition (input : documented_element_select; role : STRING; type_name : STRING) : SET[0:?] OF Document_definition;
LOCAL dd : SET[0:?] OF Document_definition := []; --this gives us access to the information base da : SET[0:?] OF Document_assignment :=[]; END_LOCAL; da := bag_to_set(QUERY(dr <* USEDIN (input, 'DOCUMENT_ASSIGNMENT_ARM.'+ 'DOCUMENT_ASSIGNMENT.IS_ASSIGNED_TO') | (dr.role = role))); -- iterate over da REPEAT i := 1 to SIZEOF(da) by 1; IF(type_name IN TYPEOF (da[i].assigned_document))THEN dd := dd + da[i].assigned_document; END_IF; END_REPEAT; RETURN(dd);
END_FUNCTION;
(*
Argument definitions:
input: the specified documented_element_select.
role: the specified role of Document_definitions.
type_name: the specified type of Document_definitions.
*)
END_SCHEMA; -- Specification_document_arm
(*
© ISO 2018 — All rights reserved