(*
 * $Id$
 *
 * JSDAI(TM), a way to implement STEP, ISO 10303
 * Copyright (C) 1997-2008, LKSoftWare GmbH, Germany
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License
 * version 3 as published by the Free Software Foundation (AGPL v3).
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * JSDAI is a registered trademark of LKSoftWare GmbH, Germany
 * This software is also available under commercial licenses.
 * See also http://www.jsdai.net/
 *)

(*
   Derived from ISO TC184/SC4/WG12 N - ISO/CD-TS 10303-xxxx Assembly module with packaged connector component - EXPRESS ARM 
   by LKSoftWare GmbH for implementation purpose within IDA-STEP(TM)
*)

SCHEMA Assembly_module_with_packaged_connector_component_xim;

USE FROM Interface_component_xim;

USE FROM Assembly_module_design_xim;

USE FROM Assembly_module_with_packaged_connector_component_mim;

 	TYPE amwpcc_assembled_feature_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON assembled_feature_select WITH   
    (Packaged_connector_component_interface_terminal);
  END_TYPE;

  ENTITY Interface_mounted_join_armx
  	(* CONNOTATIONAL *) SUBTYPE OF (interface_mounted_join);
      SELF\shape_aspect_relationship.related_shape_aspect RENAMED connection_to_interconnect_module_component : Packaged_connector_component_interface_terminal;
      SELF\shape_aspect_relationship.relating_shape_aspect RENAMED access_to_interface_mounted_component			: Physical_component_terminal_armx;
    DERIVE
      SELF\shape_aspect.of_shape : product_definition_shape := ?;
      SELF\shape_aspect_relationship.description : text := ?;
      SELF\shape_aspect.product_definitional : LOGICAL := ?;
      SELF\shape_aspect_relationship.name : label := ?;
  END_ENTITY;

  ENTITY Packaged_connector_component_armx
    (* CONNOTATIONAL *) SUBTYPE OF (Interface_component_armx,
 			Packaged_component_armx, packaged_connector_component);
      SELF\Definition_based_product_occurrence.derived_from : Packaged_connector_armx;
    DERIVE
      SELF\Product_view_definition.name_x : STRING := '';
    INVERSE
      interface_access_mechanism : SET[1:?] OF packaged_connector_component_interface_terminal FOR containing_shape(* TEMP-AC! *);
  END_ENTITY;

  ENTITY Packaged_connector_component_interface_terminal
    (* CONNOTATIONAL *) SUBTYPE OF (Physical_component_interface_terminal_armx);
      SELF\Component_feature_armx.definition           : Packaged_part_interface_terminal;
      SELF\Shape_element.containing_shape(* TEMP-CF! *) : Packaged_connector_component_armx;
    DERIVE
      SELF\shape_aspect.description : text := 'packaged connector component interface terminal';
  END_ENTITY;

END_SCHEMA;

