(*
   $Id$ 
   ISO TC184/SC4/WG3 N2288 - ISO/CD-TS 10303-1453 Function based behaviour - EXPRESS MIM
*)

SCHEMA Function_based_behaviour_mim;

USE FROM Behaviour_description_assignment_mim;

USE FROM Expression_assignment_mim;

USE FROM External_functional_model_mim;

USE FROM General_model_parameter_mim;

USE FROM Required_resource_mim;

USE FROM Resource_property_assignment_mim;

USE FROM Textual_expression_representation_mim;

USE FROM Function_based_behaviour_representation_mim;

USE FROM Condition_mim;  
--  (condition); 
  
USE FROM External_item_identification_assignment_mim  
  (applied_external_identification_assignment); 

USE FROM File_identification_mim  
  (document_file); 
  
USE FROM Task_specification_mim  
  (task_element,
  task_element_relationship,
  task_step); 
  
TYPE fbb_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
  (action_method,
   product_definition_formation_relationship,
   action_resource_requirement,
   action_resource,
   resource_property);
END_TYPE;

TYPE fbb_pmri_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(document_file);
END_TYPE;

TYPE fbb_ss_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(property_definition);
END_TYPE;

TYPE fbb_ap233_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(group,
	condition,
	applied_action_method_assignment,
	action_method_assignment_relationship
	);
END_TYPE;

(*TYPE fbb_ss_characterized_resource_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON characterized_resource_select WITH
	(action_resource_requirement,
	action_resource,
	action_method,
	action_resource_relationship);
END_TYPE;*)

TYPE fbb_classification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON classification_item WITH
  (action_method,
   action_method_relationship,
   applied_action_method_assignment,
   class,
   context_dependent_unit,
   document_file,
   applied_identification_assignment,
   general_property,
   general_property_relationship,
   product,
   product_category,
   product_definition_formation,
   product_definition_formation_relationship,
   product_definition,
   representation,
   representation_context,
   representation_item,
   action_resource_requirement,
   action_resource_requirement_relationship,
   action_resource,
   action_resource_relationship,
   resource_property,
   resource_property_representation,
   uncertainty_measure_with_unit,
   named_unit, derived_unit,
   measure_with_unit,
   product_definition_context);
END_TYPE;

TYPE fbb_pmri_classification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON classification_item WITH
	(conversion_based_unit,
	derived_unit,
	external_class_library,
	applied_external_identification_assignment,
	product_definition_formation_relationship);
END_TYPE;

TYPE fbb_condition_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON condition_action_method_items WITH
  (action_method_relationship,
   applied_action_method_assignment,
   action_resource_requirement,
   action_method,
   action_resource_requirement_relationship,
   action_resource,
   action_resource_relationship,
   resource_property,
   task_element_relationship);
END_TYPE;

TYPE fbb_ss_condition_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON condition_action_method_items WITH
	(property_definition,
	resource_property);
END_TYPE;

TYPE fbb2_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
  (parameter_value_select);
END_TYPE;

TYPE fbb3_pmri_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(applied_classification_assignment,
	applied_identification_assignment,
	property_definition_representation,
	product,
	product_related_product_category,
	product_definition_formation,
	product_definition,
	representation);
END_TYPE;

TYPE fbb3_ss_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(action_method,
	property_definition,
	property_definition_representation,
	action_resource_requirement,
	resource_property,
	resource_property_representation);
END_TYPE;

TYPE fbb_assignment_target_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON assignment_target_select WITH
  (condition);
END_TYPE;

TYPE fbb_identification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON identification_item WITH
  (applied_action_method_assignment,
   condition,
   general_property,
   product,
   product_definition_formation,
   product_definition,
   action_resource_requirement,
   action_resource,
   task_step);
END_TYPE;

TYPE fbb_pmri_identification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON identification_item WITH
	(document_file,
	external_class_library,
	applied_external_identification_assignment,
	general_property,
	general_property_relationship,
	product_category,
	representation);
END_TYPE;

TYPE fbb_ss_identification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON identification_item WITH
	(action_method,
	action_method_relationship,
	action_resource_requirement_relationship,
	resource_property,
	task_element,
	task_element_relationship);
END_TYPE;

TYPE fbb_ap233_identification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON identification_item WITH
	(applied_action_method_assignment);
END_TYPE;

(*TYPE fbb_sbb_property_assignment_select = SELECT BASED_ON property_assignment_select WITH
  (Activity_method,
   Behaviour_view_definition,
   Product_view_definition);
END_TYPE;

is captured by:*)

ENTITY fbb_characterized_action_method
  SUBTYPE OF (action_method, characterized_object);
END_ENTITY;

(*TYPE fbb_sbb_ap233_property_assignment_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON property_assignment_select WITH
	(property_definition,
	applied_action_method_assignment,
	generic_expression,
	general_property,
	general_property_relationship,
	product,
	product_category,
	product_definition_formation,
	product_definition_formation_relationship,
	property_definition_representation,
	representation,
	representation_context,
	representation_item);
END_TYPE;

is captured by:*)


ENTITY fbb_characterized_property_definition
  SUBTYPE OF (characterized_object, property_definition);
END_ENTITY;

ENTITY fbb_characterized_applied_action_method_assignment
  SUBTYPE OF (characterized_object, applied_action_method_assignment);
END_ENTITY;

ENTITY fbb_characterized_generic_expression	
  SUBTYPE OF (characterized_object, generic_expression);
END_ENTITY;

ENTITY fbb_characterized_general_property
  SUBTYPE OF (characterized_object, general_property);
END_ENTITY;

ENTITY fbb_characterized_general_property_relationship
  SUBTYPE OF (characterized_object, general_property_relationship);
END_ENTITY;

ENTITY fbb_characterized_product
  SUBTYPE OF (characterized_object, product);
END_ENTITY;

ENTITY fbb_characterized_product_category
  SUBTYPE OF (characterized_object, product_category);
END_ENTITY;

ENTITY fbb_characterized_product_definition_formation
  SUBTYPE OF (characterized_object, product_definition_formation);
END_ENTITY;

ENTITY fbb_characterized_product_definition_formation_relationship
  SUBTYPE OF (characterized_object, product_definition_formation_relationship);
END_ENTITY;

ENTITY fbb_characterized_property_definition_representation
  SUBTYPE OF (characterized_object, property_definition_representation);
END_ENTITY;

ENTITY fbb_characterized_representation
  SUBTYPE OF (characterized_object, representation);
END_ENTITY;

ENTITY fbb_characterized_representation_context
  SUBTYPE OF (characterized_object, representation_context);
END_ENTITY;

ENTITY fbb_characterized_representation_item
  SUBTYPE OF (characterized_object, representation_item);
END_ENTITY;

TYPE fbb5_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
  (task_step);
END_TYPE;

TYPE fbb4_ss_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(action_method,
	task_element);
END_TYPE;

TYPE fbb2_ap233_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(product,
	product_definition_formation,
	product_definition);
END_TYPE;

TYPE fbb7_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
  (product,
   product_definition_formation,
   product_definition);
END_TYPE;

TYPE fbb4_ap233_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(action_method);
END_TYPE;

TYPE fbb3_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
  (product,
   product_definition_formation,
   product_definition);
END_TYPE;

TYPE fbb2_pmri_action_method_items= EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(document_file);
END_TYPE;

TYPE fbb4_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
  (product,
   product_definition_formation,
   product_definition);
END_TYPE;

TYPE functional_groupable_item = SELECT BASED_ON groupable_item WITH
  (functional_model);
END_TYPE;

END_SCHEMA;

