(*
   $Id$
   ISO TC184/SC4/WG12 N3891 - ISO/TS 10303-1648 Assembly physical requirement allocation - EXPRESS ARM
   Supersedes ISO TC184/SC4/WG12 N3309
*)

SCHEMA Assembly_physical_requirement_allocation_arm;

	USE FROM Assembly_physical_interface_requirement_arm;	-- ISO/TS 10303-1647
	USE FROM Assembly_technology_arm;	-- ISO/TS 10303-1649
	USE FROM Discrete_shield_arm;	-- ISO/TS 10303-1744

	TYPE apra_requirement_assignment_item = EXTENSIBLE SELECT BASED_ON requirement_assignment_item WITH 
    	(component_or_feature,
    	Physical_shield);
	END_TYPE; 

 	TYPE component_or_feature = EXTENSIBLE GENERIC_ENTITY SELECT
 		(Assembly_component,
 		Assembly_joint,
 		Component_feature);
	END_TYPE;

  ENTITY Assembly_shield_allocation
    SUBTYPE OF (Requirement_assignment);
      SELF\Requirement_assignment.assigned_to : Physical_shield;
      SELF\Requirement_assignment.assigned_requirement RENAMED assigned_requirement_property  : Predefined_requirement_view_definition;
    WHERE
     WR1 : assigned_requirement_property\Product_view_definition.initial_context\View_definition_context.application_domain = 'electrical';
  END_ENTITY;

   ENTITY Assembly_requirement_allocation
    SUBTYPE OF (Requirement_assignment);
      SELF\Requirement_assignment.assigned_to : component_or_feature;
  END_ENTITY;
 
  ENTITY Assembly_separation_requirement_allocation
    SUBTYPE OF (Assembly_requirement_allocation);
      disjoint_assignment : SET[1:?] OF component_or_feature;
  END_ENTITY;

  ENTITY Electromagnetic_compatibility_requirement_allocation
    SUBTYPE OF (Assembly_requirement_allocation);
  END_ENTITY;

  ENTITY Interface_component_allocation;
      mating_solution    : Interface_component;
      mating_requirement : Mating_connector_usage;
  END_ENTITY;

  ENTITY Thermal_requirement_allocation
    SUBTYPE OF (Assembly_requirement_allocation);
      SELF\Requirement_assignment.assigned_to : Thermal_component;
      SELF\Requirement_assignment.assigned_requirement RENAMED assigned_requirement_property  : Predefined_requirement_view_definition;
    WHERE
     WR1 : assigned_requirement_property\Product_view_definition.initial_context\View_definition_context.application_domain = 'thermal';
  END_ENTITY;

END_SCHEMA;
