(*
   $Id$
   ISO TC184/SC4/WG12 N3873 - ISO/TS 10303-1642 Assembly module usage view - EXPRESS ARM
   Supersedes ISO TC184/SC4/WG12 N3300
*)

SCHEMA Assembly_module_usage_view_arm;

	USE FROM Functional_usage_view_arm;	-- ISO/TS 10303-1705
	USE FROM Packaged_connector_model_arm;	-- ISO/TS 10303-1708


  ENTITY Assembly_module_interface_terminal
    SUBTYPE OF (Assembly_module_terminal);
  END_ENTITY;

  ENTITY Assembly_module_terminal
    SUPERTYPE OF (assembly_module_interface_terminal ANDOR
 Pca_terminal)
    SUBTYPE OF (Part_terminal);
      SELF\Part_feature.associated_definition : Assembly_module_usage_view;
      reference_terminal                      : OPTIONAL Packaged_part_interface_terminal;
      related_connector                       : OPTIONAL Next_assembly_usage;
      SELF\Shape_feature.connection_area      : OPTIONAL SET[1:?] OF Connection_zone_in_usage_view;            
    WHERE
      WR1 : NOT EXISTS(related_connector) OR 
            (SELF\Shape_element.containing_shape.described_element = 
             related_connector\Product_occurrence_definition_relationship.related_view);
      WR2 : NOT EXISTS(related_connector) OR EXISTS(related_connector.location_indicator);
      WR3 : EXISTS(related_connector) OR 
            (SELF\Shape_element.containing_shape.described_element = 
             SELF\Part_feature.associated_definition);
  END_ENTITY;

  ENTITY Assembly_module_usage_view
    SUPERTYPE OF (Pca_usage_view)
    SUBTYPE OF (Part_usage_view);
      implemented_function              : OPTIONAL Functional_unit_usage_view;
    INVERSE
      access_mechanisms : SET[0:?] OF assembly_module_terminal FOR associated_definition;
    WHERE
      WR1 : NOT EXISTS(SELF\Product_view_definition.additional_characterization);
  END_ENTITY;

  ENTITY Pca_terminal
    SUBTYPE OF (Assembly_module_terminal);
      SELF\Part_feature.associated_definition : Pca_usage_view;
  END_ENTITY;

  ENTITY Pca_usage_view
    SUBTYPE OF (Assembly_module_usage_view);
      maximum_negative_component_height : OPTIONAL Datum_based_length_measure;
      maximum_positive_component_height : OPTIONAL Datum_based_length_measure;
  END_ENTITY;

END_SCHEMA;
