(*
   $Id$
   ISO TC184/SC4/WG12 N4614 - ISO/CD-TS 10303-1437 Schedule - EXPRESS MIM
*)

SCHEMA Schedule_mim;
  USE FROM Activity_method_implementation_mim;
  USE FROM Attribute_classification_mim;
  USE FROM Condition_evaluation_mim;
  USE FROM Document_assignment_mim;
  USE FROM Effectivity_application_mim;
  USE FROM Information_rights_mim;
  USE FROM Justification_mim;
  USE FROM Observation_mim;
  USE FROM Process_property_assignment_mim;
  USE FROM Property_assignment_mim;
  USE FROM Resource_as_realized_mim;
  USE FROM Resource_property_assignment_mim;
  USE FROM Scheme_mim;
  USE FROM Task_specification_mim;
  USE FROM Time_interval_assignment_mim;
  USE FROM Work_output_mim;
  USE FROM action_schema;   -- ISO 10303-41
  USE FROM product_property_definition_schema   -- ISO 10303-41
  (characterized_object); 


TYPE ss_action_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_items WITH
	(executed_action,
	action_method,
	action_property,
	applied_action_assignment,
	state_observed_assignment,
	property_definition,
	action,
	action_resource,
	resource_property,
	applied_action_method_assignment,
	state_observed,
	state_observed_relationship,
	task_element,
	task_method,
	task_method_version);
END_TYPE;


TYPE ss_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(executed_action,
	action_property,
	applied_action_assignment,
	property_definition,
	event_occurrence,
	action_resource,
	action,
	action_method,
	state_observed_relationship,
	task_method,
	task_method_version);
END_TYPE;

(* TYPE ss_activity_realization_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON activity_realization_select WITH
	(action_method,
	task_method,
	task_method_version);
END_TYPE; *)


TYPE ss_action_request_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_request_item WITH
	(action_method,
	action_property,
	property_definition,
	action_resource,
	resource_property);
END_TYPE;


TYPE ss_aliasable_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON aliasable_item WITH
	(event_occurrence,
	product,
	justification_group_assignment,  justification_assignment,
	product_relationship,
	justification_support_assignment);
END_TYPE;


TYPE ss_approval_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON approval_item WITH
	(action_method_relationship,
	group,
	action_property,
	state_observed_assignment,
	state_type_assignment,
	property_definition,
	action,
	applied_action_assignment,
	event_occurrence,
	product,
	justification_group_assignment,  justification_assignment,
	product_relationship,
	justification_support_assignment,
	action_resource,
	action_resource_relationship,
	action_resource_requirement,
	action_method,
	action_resource_requirement_relationship,
	resource_property,
	task_element,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective,
	applied_action_method_assignment);
END_TYPE;

TYPE ss_certification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON certification_item WITH
	(applied_action_method_assignment,
	action_resource,
	task_element,
	task_method,
	task_method_version,
	task_objective);
END_TYPE;

(* TYPE ss_characterized_activity_definition = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON characterized_activity_definition WITH
	(action_method_relationship,
	action,
	action_method,
	task_objective);
END_TYPE; *)

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


TYPE ss_classification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON classification_item WITH
	(executed_action,
	action_property_representation,
	action_relationship,
	applied_action_assignment,
	property_definition,
	ascribable_state_relationship,
	property_definition_representation,
	ascribable_state);
END_TYPE;


TYPE ss_attribute_classification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON attribute_classification_item WITH
	(executed_action,
	action_method,
	action_property,
	action_property_representation,
	action_relationship,
	applied_action_assignment,
	property_definition,
	action,
	applied_event_occurrence_assignment,
	event_occurrence_relationship,
	action_resource,
	action_resource_relationship,
	property_definition_representation,
	group,
	action_resource_requirement,
	action_resource_requirement_relationship,
	resource_property,
	resource_property_representation);
END_TYPE;


TYPE ss2_action_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_items WITH
	(property_definition);
END_TYPE;


TYPE ss3_action_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_items WITH
	(property_definition,
	property_definition_representation,
	state_observed,
	state_type);
END_TYPE;


TYPE ss_condition_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON condition_action_method_items WITH
	(executed_action,
	action_method_relationship,
	group,
	action_property,
	applied_action_assignment,
	property_definition,
	action_resource,
	action_resource_relationship,
	action,
	action_relationship,
	resource_property,
	state_type,
	state_type_relationship,
	applied_action_method_assignment,
	task_method_relationship,
	task_method_version_relationship);
END_TYPE;

TYPE ss3_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(executed_action,
	action_method,
	action_property,
	action_property_representation,
	property_definition,
	action_resource,
	property_definition_representation,
	action_resource_requirement,
	action_resource_relationship,
	action,
	resource_property,
	resource_property_representation,
	state_observed,
	ascribable_state,
	state_type);
END_TYPE;


TYPE ss_contract_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON contract_item WITH
	(action_method_relationship,
	group,
	applied_action_method_assignment,
	action_resource,
	action,
	task_element,
	task_element_relationship,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;


TYPE ss_date_and_time_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON date_and_time_item WITH
	(action_method_relationship,
	group,
	action_property,
	action_property_representation,
	applied_action_method_assignment,
	action,
	applied_action_assignment,
	action_resource,
	action_resource_relationship,
	action_resource_requirement,
	action_method,
	resource_property,
	resource_property_representation,
	task_element,
	task_element_relationship,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;

TYPE ss_date_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON date_item WITH
	(action_method_relationship,
	group,
	action_property,
	action_property_representation,
	applied_action_method_assignment,
	action,
	applied_action_assignment,
	action_resource,
	action_resource_relationship,
	action_resource_requirement,
	action_method,
	resource_property,
	resource_property_representation,
	task_element,
	task_element_relationship,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;

TYPE ss_document_reference_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON document_reference_item WITH
	(action_method_relationship,
	group,
	action_property,
	action_property_representation,
	applied_action_method_assignment,
	action,
	action_resource,
	action_resource_requirement,
	action_method,
	action_resource_requirement_relationship,
	action_resource_relationship,
	resource_property,
	resource_property_representation,
	state_observed,
	ascribable_state,
	state_type,
	task_element,
	task_element_relationship,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;


TYPE ss_effectivity_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON effectivity_item WITH
	(action_property,
	applied_action_method_assignment,
	state_type_assignment,
	action_resource_relationship,
	action_method,
	action_resource_requirement_relationship,
	resource_property,
	state_type_relationship);
END_TYPE;


TYPE ss_identification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON identification_item WITH
	(action_method,
	action_method_relationship,
	group,
	action_property,
	action,
	action_resource,
	action_resource_requirement_relationship,
	resource_property,
	state_type,
	state_type_relationship,
	task_element,
	task_element_relationship,
	applied_action_method_assignment,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;


TYPE ss_ir_usage_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON ir_usage_item WITH
	(task_element,
	task_method,
	task_method_version,
	task_objective);
END_TYPE;


TYPE ss_justification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON justification_item WITH
	(action_method_relationship,
	group,
	action_property,
	applied_action_method_assignment,
	action_resource_relationship,
	action_resource_requirement,
	action_method,
	action_resource_requirement_relationship,
	action_resource,
	action,
	resource_property,
	ascribable_state,
	task_element,
	task_element_relationship,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;

TYPE ss_justification_support_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON justification_support_item WITH
	(action_property,
	applied_action_method_assignment,
	state_observed_assignment,
	state_type_assignment,
	resource_property,
	state_observed,
	state_type,
	state_observed_relationship);
END_TYPE;

TYPE ss_location_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON location_item WITH
	(executed_action,
	applied_action_assignment,
	applied_action_method_assignment,
	action_resource_requirement,
	action_method,
	action_resource,
	task_element,
	task_method,
	task_method_version,
	task_method_version_relationship);
END_TYPE;

TYPE ss_person_and_organization_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON person_and_organization_item WITH
	(action_method_relationship,
	group,
	action_property,
	action_property_representation,
	applied_action_method_assignment,
	action,
	applied_action_assignment,
	action_resource,
	action_resource_relationship,
	action_resource_requirement,
	action_method,
	resource_property,
	resource_property_representation,
	task_element,
	task_element_relationship,
	task_method_relationship,
	task_method,
	task_method_version_relationship,
	task_objective);
END_TYPE;

TYPE ss_organization_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON organization_item WITH
	(action_method_relationship,
	group,
	action_property,
	action_property_representation,
	applied_action_method_assignment,
	action,
	applied_action_assignment,
	action_resource,
	action_resource_relationship,
	action_resource_requirement,
	action_method,
	resource_property,
	resource_property_representation,
	task_element,
	task_element_relationship,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;


TYPE ss_project_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON project_item WITH
	(action_method,
	action_method_relationship,
	group,
	applied_action_assignment,
	applied_action_method_assignment,
	task_element,
	task_method,
	task_method_version,
	task_objective);
END_TYPE;

(* TYPE ss_property_assignment_select = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON property_assignment_select WITH
	(applied_action_assignment,
	applied_action_method_assignment);
END_TYPE; *)


ENTITY ss_characterizable_applied_action_assignment
  SUBTYPE OF (applied_action_assignment, characterized_object);
END_ENTITY;


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



TYPE ss4_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(executed_action,
	action_method,
	applied_action_assignment,
	event_occurrence,
	task_element,
	task_method,
	applied_action_method_assignment,
	task_method_version,
	task_method_version_relationship);
END_TYPE;



TYPE ss_security_classification_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON security_classification_item WITH
	(action_method_relationship,
	group,
	applied_action_method_assignment,
	action_resource,
	task_element,
	task_element_relationship,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;


TYPE ss_state_type_of_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON state_type_of_item WITH
	(executed_action,
	action_method,
	applied_action_assignment,
	applied_action_method_assignment,
	action_resource,
	action_resource_relationship,
	action,
	action_property,
	action_relationship);
END_TYPE;


TYPE ss_state_observed_of_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON state_observed_of_item WITH
	(executed_action,
	action_method,
	applied_action_assignment,
	action_resource,
	action_resource_relationship,
	action,
	action_property,
	action_relationship,
	task_method_version,
	task_objective);
END_TYPE;

TYPE ss_multi_language_attribute_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON multi_language_attribute_item WITH
	(action_method_relationship,
	group,
	action_property,
	applied_action_method_assignment,
	action,
	action_resource,
	action_resource_relationship,
	action_resource_requirement,
	action_resource_requirement_relationship,
	action_relationship,
	action_method,
	resource_property,
	task_element,
	task_element_relationship,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;

TYPE ss_attribute_language_item = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON attribute_language_item WITH
	(action_method_relationship,
	group,
	action_property,
	applied_action_method_assignment,
	action,
	action_resource,
	action_resource_relationship,
	action_resource_requirement,
	action_resource_requirement_relationship,
	action_relationship,
	action_method,
	resource_property,
	task_element,
	task_element_relationship,
	task_method,
	task_method_relationship,
	task_method_version,
	task_method_version_relationship,
	task_objective);
END_TYPE;

TYPE ss5_action_method_items = EXTENSIBLE GENERIC_ENTITY SELECT BASED_ON action_method_items WITH
	(executed_action,
	action_method,
	applied_action_assignment,
	applied_action_method_assignment,
	event_occurrence,
	task_element,
	task_method,
	task_method_version);
END_TYPE;

END_SCHEMA;

