Application module: Interconnect physical requirement allocation ISO/TS 10303-1689: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 entity definitions
   4.3 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity 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

(*
ISO/TC 184/SC 4/WG 12 N9434 - ISO/TS 10303-1689 Interconnect physical requirement allocation - EXPRESS ARM
Supersedes ISO/TC 184/SC 4/WG 12 N8158
*)



SCHEMA Interconnect_physical_requirement_allocation_arm;

USE FROM Requirement_view_definition_relationship_arm;    -- ISO/TS 10303-1142

USE FROM Integral_shield_arm;    -- ISO/TS 10303-1763

REFERENCE FROM Support_resource_arm   -- ISO/TS 10303-1800
  (bag_to_set);


ENTITY Electrical_isolation_requirement
  SUBTYPE OF (Requirement_view_definition);
  effective_voltage_withstand_capacity_requirement : OPTIONAL Value_limit;
DERIVE
  electrical_isolation_spacing_requirement : SET[1:1] OF Predefined_requirement_view_definition := get_specific_requirement_type_for_primary_rvd_relationship(SELF, 'derived from', 'INTERCONNECT_PLACEMENT_REQUIREMENTS_ARM.LAYOUT_SPACING_REQUIREMENT');
WHERE
  WR1: NOT EXISTS(effective_voltage_withstand_capacity_requirement) OR ((effective_voltage_withstand_capacity_requirement\Qualified_representation_item.qualifiers[1]\Type_qualifier.name in ['minimum']) AND ('VALUE_WITH_UNIT_EXTENSION_ARM.ELECTRIC_POTENTIAL_DATA_ELEMENT' IN TYPEOF(effective_voltage_withstand_capacity_requirement)));
  WR2: 'INTERCONNECT_PLACEMENT_REQUIREMENTS_ARM.LAYOUT_SPACING_REQUIREMENT' IN TYPEOF(electrical_isolation_spacing_requirement[1]);
  WR3: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
END_ENTITY;

ENTITY Interconnect_shield_allocation
  SUBTYPE OF (Requirement_assignment);
  SELF\Requirement_assignment.assigned_to : Integral_shield;
  SELF\Requirement_assignment.assigned_requirement RENAMED assigned_requirement_property : Predefined_requirement_view_definition;
WHERE
  WR1: assigned_requirement_property\Product_view_definition.initial_context\Initial_view_definition_context.application_domain = ps_initial_application_domain_enumeration.electrical;
END_ENTITY;

ENTITY Thermal_isolation_requirement
  SUBTYPE OF (Requirement_view_definition);
  thermal_bar_width : OPTIONAL Length_tolerance_characteristic;
  number_of_bars : OPTIONAL INTEGER;
  effective_current_capacity_requirement : OPTIONAL Value_limit;
  angular_orientation_requirement : OPTIONAL Value_range;
  effective_thermal_resistance_requirement : OPTIONAL Value_limit;
DERIVE
  thermal_isolation_spacing_requirement : SET[1:1] OF Predefined_requirement_view_definition := get_specific_requirement_type_for_primary_rvd_relationship(SELF, 'derived from', 'INTERCONNECT_PLACEMENT_REQUIREMENTS_ARM.LAYOUT_SPACING_REQUIREMENT');
WHERE
  WR1: NOT EXISTS(SELF\Product_view_definition.additional_characterization);
  WR2: NOT(EXISTS(thermal_bar_width) XOR EXISTS(number_of_bars));
  WR3: 'INTERCONNECT_PLACEMENT_REQUIREMENTS_ARM.LAYOUT_SPACING_REQUIREMENT' IN TYPEOF(thermal_isolation_spacing_requirement[1]);
  WR4: NOT EXISTS(effective_current_capacity_requirement) OR ((effective_current_capacity_requirement\Qualified_representation_item.qualifiers[1]\Type_qualifier.name in ['minimum']) AND ('VALUE_WITH_UNIT_EXTENSION_ARM.ELECTRIC_CURRENT_DATA_ELEMENT' IN TYPEOF(effective_current_capacity_requirement)));
  WR5: NOT EXISTS(angular_orientation_requirement) OR ('VALUE_WITH_UNIT_EXTENSION_ARM.ANGLE_DATA_ELEMENT' IN TYPEOF(angular_orientation_requirement));
  WR6: NOT EXISTS(effective_thermal_resistance_requirement) OR ((effective_thermal_resistance_requirement\Qualified_representation_item.qualifiers[1]\Type_qualifier.name in ['minimum']) AND ('VALUE_WITH_UNIT_EXTENSION_ARM.THERMAL_RESISTANCE_DATA_ELEMENT' IN TYPEOF(effective_thermal_resistance_requirement)));
END_ENTITY;

FUNCTION get_specific_requirement_type_for_primary_rvd_relationship
 (input : Requirement_view_definition; id : STRING; reqType : STRING) : SET[0:?] OF Predefined_requirement_view_definition;
LOCAL
    rvdr : SET[0:?] OF Requirement_view_definition_relationship := [];
    rdp : SET[0:?] OF Predefined_requirement_view_definition := [];  --this gives us access to the information base
END_LOCAL;
	rvdr := bag_to_set(QUERY(rvdre <* USEDIN (input, 'REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP_ARM.'+ 'REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP.PRIMARY')|
	                           ((rvdre.relation_type = id) AND (reqType IN TYPEOF(rvdre.secondary)))
                       ));
	-- iterate over rvdr
	REPEAT i := 1 to SIZEOF(rvdr) by 1;
      rdp := rdp + rvdr[i].secondary;
	END_REPEAT;

	RETURN(rdp);
END_FUNCTION;

END_SCHEMA;  -- Interconnect_physical_requirement_allocation_arm


© ISO 2018 — All rights reserved