(*
   $Id$
   ISO TC184/SC4/WG12 N3867 - ISO/TS 10303-1640 Assembly module with macro component - EXPRESS ARM
   Supersedes ISO TC184/SC4/WG12 N3354
*)

SCHEMA Assembly_module_with_macro_component_arm;
	USE FROM Assembly_module_macro_definition_arm;	-- ISO/TS 10303-1637
	USE FROM Assembly_module_with_subassembly_arm;	-- ISO/TS 10303-1641

  ENTITY Assembly_module_macro_component
    SUBTYPE OF (Physical_component, Single_instance);
      SELF\Definition_based_product_occurrence.derived_from : Assembly_module;
    INVERSE
      join_access_mechanisms : SET[1:?] OF assembly_module_macro_component_join_terminal FOR associated_component;
    WHERE
      WR1 : SIZEOF(QUERY(ammcjt <* join_access_mechanisms | ammcjt\Component_feature.definition\Shape_element.containing_shape :<>: SELF\Definition_based_product_occurrence.derived_from\Part_design_view.usage_view)) = 0;
      WR2 : NOT EXISTS(SELF\Product_view_definition.additional_characterization);
  END_ENTITY;

  ENTITY Assembly_module_macro_component_join_terminal
    SUBTYPE OF (Physical_component_terminal);
      SELF\Component_feature.definition           : Assembly_module_macro_terminal;
      SELF\Component_feature.associated_component : Assembly_module_macro_component;
  END_ENTITY;

END_SCHEMA;

