Application module: Conductivity material aspects | ISO/TS 10303-1756:2010-07(E) © ISO |
This clause specifies the information requirements for the Conductivity material aspects 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 Conductivity_material_aspects_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Conductivity_material_aspects_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Classification_assignment_arm;
--
ISO/TS 10303-1114
USE FROM
Generic_material_aspects_arm;
--
ISO/TS 10303-1681
USE FROM
Part_view_definition_arm;
--
ISO/TS 10303-1023
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:
Classification_assignment_arm ISO/TS 10303-1114 Generic_material_aspects_arm ISO/TS 10303-1681 Part_view_definition_arm ISO/TS 10303-1023 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 cma_classification_item type is an extension of the classification_item type. It adds the data type Material_identification_with_conductivity_classification 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
cma_classification_item =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
classification_item
WITH
(Material_identification_with_conductivity_classification);
END_TYPE;
(*
The cma_material_item_select type is an extension of the material_item_select type. It adds the data type Part_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
cma_material_item_select =
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
material_item_select
WITH
(Part_view_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 Conductivity_material_property_class
ABSTRACT SUPERTYPE
OF (ONEOF (Material_electrical_conductivity_class,
Material_thermal_conductivity_class))
SUBTYPE OF (Class);
WHERE
WR1: SELF\Class.name IN
['conductive', 'non conductive', 'resistive', 'semi conductive', 'super conductive'];
WR2: NOT EXISTS(SELF\Class.description);
END_ENTITY;
(*
Formal propositions:
WR1: The name attribute inherited from Class shall be set to one of: 'conductive', 'non conductive', 'resistive', 'semi conductive', 'super conductive'.
WR2: The description shall not be populated.
EXPRESS specification:
*)
ENTITY Material_electrical_conductivity_class
SUBTYPE OF (Conductivity_material_property_class);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Material_identification_with_conductivity_classification
SUBTYPE OF (Material_identification);
DERIVE
electrical_conductivity_classification : STRING := get_cond_class(SELF,'MATERIAL_ELECTRICAL_CONDUCTIVITY_CLASS');
magnetic_permeability_classification : STRING := get_cond_class(SELF,'RELATIVE_PERMEABILITY_MATERIAL_PROPERTY_CLASS');
optical_insertion_loss_classification : STRING := get_cond_class(SELF,'RELATIVE_OPTICAL_INSERTION_LOSS_MATERIAL_PROPERTY_CLASS');
thermal_conductivity_classification : STRING := get_cond_class(SELF,'MATERIAL_THERMAL_CONDUCTIVITY_CLASS');
dielectric_permittivity_classification : STRING := get_cond_class(SELF,'RELATIVE_PERMITTIVITY_MATERIAL_PROPERTY_CLASS');
WHERE
WR1: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'MATERIAL_ELECTRICAL_CONDUCTIVITY_CLASS' IN TYPEOF (ca.assigned_class)))) = 1);
WR2: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'MATERIAL_THERMAL_CONDUCTIVITY_CLASS' IN TYPEOF (ca.assigned_class)))) <= 1);
WR3: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'RELATIVE_PERMEABILITY_MATERIAL_PROPERTY_CLASS' IN TYPEOF (ca.assigned_class)))) <= 1);
WR4: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'RELATIVE_PERMITTIVITY_MATERIAL_PROPERTY_CLASS' IN TYPEOF (ca.assigned_class)))) <= 1);
WR5: (SIZEOF(QUERY(ca <* USEDIN(SELF,
'CLASSIFICATION_ASSIGNMENT_ARM.' +
'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS') |
('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+
'RELATIVE_OPTICAL_INSERTION_LOSS_MATERIAL_PROPERTY_CLASS' IN TYPEOF (ca.assigned_class)))) <= 1);
END_ENTITY;
(*
Attribute definitions:
electrical_conductivity_classification: the attribute evaluates to name of Material_electrical_conductivity_class that is refered as assigned_class by Classification_assignment that refers this Material_identification_with_conductivity_classification as a member of items.
magnetic_permeability_classification: the attribute evaluates to name of Relative_permeability_material_property_class that is refered as assigned_class by Classification_assignment that refers this Material_identification_with_conductivity_classification as a member of items.
optical_insertion_loss_classification: the attribute evaluates to name of Relative_optical_insertion_loss_material_property_class that is refered as assigned_class by Classification_assignment that refers this Material_identification_with_conductivity_classification as a member of items.
thermal_conductivity_classification: the attribute evaluates to name of Material_thermal_conductivity_class that is refered as assigned_class by Classification_assignment that refers this Material_identification_with_conductivity_classification as a member of items.
dielectric_permittivity_classification: the attribute evaluates to name of Relative_permittivity_material_property_class that is refered as assigned_class by Classification_assignment that refers this Material_identification_with_conductivity_classification as a member of items.
Formal propositions:
WR1: There shall be one and only one Classification_assignment refering Material_identification_with_conductivity_classification as a member of items, that has Material_electrical_conductivity_class as assigned_class.
WR2: There shall be one and only one Classification_assignment refering Material_identification_with_conductivity_classification as a member of items, that has Material_thermal_conductivity_class as assigned_class.
WR3: There shall be one and only one Classification_assignment refering Material_identification_with_conductivity_classification as a member of items, that has Relative_permeability_material_property_class as assigned_class.
WR4: There shall be one and only one Classification_assignment refering Material_identification_with_conductivity_classification as a member of items, that has Relative_permittivity_material_property_class as assigned_class.
WR5: There shall be one and only one Classification_assignment refering Material_identification_with_conductivity_classification as a member of items, that has Relative_optical_insertion_loss_material_property_class as assigned_class.
EXPRESS specification:
*)
ENTITY Material_thermal_conductivity_class
SUBTYPE OF (Conductivity_material_property_class);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Relative_optical_insertion_loss_material_property_class
SUBTYPE OF (Class);
WHERE
WR1: SELF\Class.name IN
['vacuum', 'very low loss', 'low loss', 'medium loss', 'high loss'];
WR2: NOT EXISTS(SELF\Class.description);
END_ENTITY;
(*
Formal propositions:
WR1: The name attribute inherited from Class shall be set to one of: 'vacuum', 'very low loss', 'low loss', 'medium loss', or 'high loss'.
WR2: The description shall not be populated.
EXPRESS specification:
*)
ENTITY Relative_permeability_material_property_class
SUBTYPE OF (Class);
WHERE
WR1: SELF\Class.name IN
['free space permeabilty', 'low permeability', 'medium permeability', 'highly permeable'];
WR2: NOT EXISTS(SELF\Class.description);
END_ENTITY;
(*
Formal propositions:
WR1: The name attribute inherited from Class shall be set to one of: 'free space permeabilty', 'low permeability', 'medium permeability', or 'highly permeable'.
WR2: The description shall not be populated.
EXPRESS specification:
*)
ENTITY Relative_permittivity_material_property_class
SUBTYPE OF (Class);
WHERE
WR1: SELF\Class.name IN
['vacuum permittivity', 'low permittivity', 'medium permittivity', 'high permittivity'];
WR2: NOT EXISTS(SELF\Class.description);
END_ENTITY;
(*
Formal propositions:
WR1: The name attribute inherited from Class shall be set to one of: 'vacuum permittivity', 'low permittivity', 'medium permittivity', or 'high permittivity'.
WR2: The description shall not be populated.
This subclause specifies the ARM subtype constraint for this module. The subtype constraint places a constraint on the possible super-type / subtype instantiations. The ARM subtype constraint and definition is specified below.
The cma_class_subtypes constraint specifies a constraint that applies to instances of subtypes of Class.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT cma_class_subtypes FOR Class;
ONEOF (Conductivity_material_property_class,
Relative_permeability_material_property_class,
Relative_optical_insertion_loss_material_property_class,
Relative_permittivity_material_property_class);
END_SUBTYPE_CONSTRAINT;
(*
This subclause specifies the ARM function for this module. The ARM function and definition is specified below.
It returns name of assigned_class of Classification_assignment that refers input1 as a member of items and that's assigned_class is of type specified by input2.
It return Undefined if there is no or more than one Classification_assignment refering input1 as a member of items, or if assigned_class of that Classification_assignment is not of type specified by input2.
EXPRESS specification:
*)
FUNCTION get_cond_class (input1 : Material_identification_with_conductivity_classification; input2 : STRING) :STRING;
LOCAL car : SET OF Classification_assignment := []; END_LOCAL; car := QUERY(ca <* bag_to_set(USEDIN(input1, 'CLASSIFICATION_ASSIGNMENT_ARM.' + 'CLASSIFICATION_ASSIGNMENT.' + 'ITEMS')) | ('CONDUCTIVITY_MATERIAL_ASPECTS_ARM.'+ input2 IN TYPEOF (ca.assigned_class))); IF SIZEOF(car) = 1 THEN RETURN(car[1].assigned_class\class.name); ELSE RETURN('?'); END_IF;
END_FUNCTION;
(*
Argument definitions:
input1: the specified instance of Material_identification_with_conductivity_classification.
input2: the specified type of conductivity class. It should be the non-qualified name of entity that is a subtype of Class.
*)
END_SCHEMA; -- Conductivity_material_aspects_arm
(*
© ISO 2010 — All rights reserved