(*
 $Id: arm_lf.exp,v 1.19 2005/03/02 12:34:18 robbod Exp $
 ISO TC184/SC4/WG3 N1560 - ISO/TS 10303-439 AP239 product life cycle support - EXPRESS ARM Long form
 Supersedes ISO TC184/SC4/WG3 N1400
*) 
(* ===================================================================================== *)
(* Long form schema generated by PDTec LongformGenerator V 3.1-15 *)
(* generated at 2005-01-17 15:51:29 *)
(* ===================================================================================== *)


SCHEMA AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF;
 
(* Original schemas: 
  schema = Activity_arm ;
  schema = Activity_as_realized_arm ;
  schema = Activity_characterized_arm ;
  schema = Activity_method_arm ;
  schema = Activity_method_assignment_arm ;
  schema = Activity_method_characterized_arm ;
  schema = Activity_method_implementation_arm ;
  schema = Alias_identification_arm ;
  schema = Ap239_activity_recording_arm ;
  schema = Ap239_document_management_arm ;
  schema = Ap239_management_resource_information_arm ;
  schema = Ap239_part_definition_information_arm ;
  schema = Ap239_product_definition_information_arm ;
  schema = Ap239_product_life_cycle_support_arm ;
  schema = Ap239_product_status_recording_arm ;
  schema = Ap239_properties_arm ;
  schema = Ap239_task_specification_resourced_arm ;
  schema = Ap239_work_definition_arm ;
  schema = Approval_arm ;
  schema = Assembly_structure_arm ;
  schema = Attachment_slot_arm ;
  schema = Attribute_classification_arm ;
  schema = Certification_arm ;
  schema = Class_arm ;
  schema = Classification_assignment_arm ;
  schema = Condition_arm ;
  schema = Condition_characterized_arm ;
  schema = Condition_evaluation_arm ;
  schema = Condition_evaluation_characterized_arm ;
  schema = Configuration_effectivity_arm ;
  schema = Configuration_item_arm ;
  schema = Contextual_shape_positioning_arm ;
  schema = Contract_arm ;
  schema = Date_time_arm ;
  schema = Date_time_assignment_arm ;
  schema = Document_and_version_identification_arm ;
  schema = Document_assignment_arm ;
  schema = Document_definition_arm ;
  schema = Document_management_arm ;
  schema = Document_properties_arm ;
  schema = Document_structure_arm ;
  schema = Effectivity_application_arm ;
  schema = Effectivity_arm ;
  schema = Elemental_geometric_shape_arm ;
  schema = Envelope_arm ;
  schema = Event_arm ;
  schema = Event_assignment_arm ;
  schema = Experience_arm ;
  schema = Extended_measure_representation_arm ;
  schema = External_class_arm ;
  schema = External_item_identification_assignment_arm ;
  schema = External_model_arm ;
  schema = File_identification_arm ;
  schema = Foundation_representation_arm ;
  schema = Functional_breakdown_arm ;
  schema = Group_arm ;
  schema = Hybrid_breakdown_arm ;
  schema = Identification_assignment_arm ;
  schema = Independent_property_arm ;
  schema = Independent_property_representation_arm ;
  schema = Information_rights_arm ;
  schema = Interface_arm ;
  schema = Interface_lifecycle_arm ;
  schema = Justification_arm ;
  schema = Location_arm ;
  schema = Location_assignment_arm ;
  schema = Location_assignment_characterized_arm ;
  schema = Management_resource_information_arm ;
  schema = Measure_representation_arm ;
  schema = Message_arm ;
  schema = Multi_linguism_arm ;
  schema = Name_assignment_arm ;
  schema = Observation_arm ;
  schema = Organization_type_arm ;
  schema = Part_and_version_identification_arm ;
  schema = Part_definition_relationship_arm ;
  schema = Part_view_definition_arm ;
  schema = Person_organization_arm ;
  schema = Person_organization_assignment_arm ;
  schema = Physical_breakdown_arm ;
  schema = Plib_class_reference_arm ;
  schema = Position_in_organization_arm ;
  schema = Probability_arm ;
  schema = Probability_distribution_arm ;
  schema = Process_property_assignment_arm ;
  schema = Product_as_individual_arm ;
  schema = Product_breakdown_arm ;
  schema = Product_categorization_arm ;
  schema = Product_concept_identification_arm ;
  schema = Product_group_arm ;
  schema = Product_identification_arm ;
  schema = Product_relationship_arm ;
  schema = Product_replacement_arm ;
  schema = Product_structure_arm ;
  schema = Product_version_arm ;
  schema = Product_version_relationship_arm ;
  schema = Product_view_definition_arm ;
  schema = Product_view_definition_properties_arm ;
  schema = Product_view_definition_relationship_arm ;
  schema = Project_arm ;
  schema = Property_assignment_arm ;
  schema = Qualifications_arm ;
  schema = Required_resource_arm ;
  schema = Required_resource_characterized_arm ;
  schema = Requirement_assignment_arm ;
  schema = Requirement_identification_and_version_arm ;
  schema = Requirement_management_arm ;
  schema = Requirement_view_definition_arm ;
  schema = Requirement_view_definition_relationship_arm ;
  schema = Resource_as_realized_arm ;
  schema = Resource_as_realized_characterized_arm ;
  schema = Resource_item_arm ;
  schema = Resource_item_characterized_arm ;
  schema = Resource_management_arm ;
  schema = Resource_management_characterized_arm ;
  schema = Resource_property_assignment_arm ;
  schema = Scheme_arm ;
  schema = Security_classification_arm ;
  schema = Selected_item_arm ;
  schema = Set_theory_arm ;
  schema = Shape_property_assignment_arm ;
  schema = Single_part_representation_arm ;
  schema = State_characterized_arm ;
  schema = State_definition_arm ;
  schema = State_observed_arm ;
  schema = System_breakdown_arm ;
  schema = Task_specification_arm ;
  schema = Time_interval_arm ;
  schema = Time_interval_assignment_arm ;
  schema = Type_of_person_arm ;
  schema = Value_with_unit_arm ;
  schema = Work_order_arm ;
  schema = Work_order_characterized_arm ;
  schema = Work_output_arm ;
  schema = Work_output_characterized_arm ;
  schema = Work_request_arm ;
  schema = Work_request_characterized_arm ;
  schema = Zonal_breakdown_arm ;
*)
 
TYPE activity_item = SELECT 
  (Activity, Activity_method, Activity_property, Applied_activity_assignment, 
  Applied_state_assignment, Applied_state_definition_assignment, 
  Assigned_document_property, Assigned_property, Contract, 
  Descriptive_document_property, Document, Document_definition, 
  Document_version, Effectivity, Envelope, Event, File, Independent_property, 
  Interface_connection, Interface_connector_occurrence, 
  Interface_definition_connection, Location, Location_representation, 
  Managed_resource, Message, Numerical_document_property, 
  Observation_consequence, Organization, Person, Person_in_organization, 
  Position, Position_group, Product, Product_concept, Product_configuration, 
  Product_group, Product_version, Product_version_relationship, 
  Product_view_definition, Project, Resource_as_realized, Resource_event, 
  Resource_item, Resource_property, Scheme, Scheme_entry, Scheme_version, State
  , State_assertion, State_assessment, State_relationship, Task_element, 
  Task_method, Task_method_version, View_definition_relationship);
END_TYPE; (* declared in: Activity_arm *)
 
TYPE activity_method_item = SELECT 
  (Activity, Activity_method, Activity_property, Applied_activity_assignment, 
  Assigned_document_property, Assigned_property, Breakdown_element, 
  Breakdown_element_definition, Breakdown_element_usage, 
  Breakdown_element_version, Contract, Document, Document_version, Envelope, 
  Event, File, Interface_connection, Interface_connector_occurrence, 
  Interface_definition_connection, Location, Managed_resource, Message, 
  Observation_consequence, Organization, Organization_type, Part, Part_version
  , Part_view_definition, Person, Person_in_organization, Position, 
  Position_group, Position_type, Product, Product_as_individual, 
  Product_as_individual_version, Product_as_individual_view, 
  Product_based_location_identification, Product_concept, Product_configuration
  , Product_group, Product_version, Product_version_relationship, 
  Product_view_definition, Project, Required_resource, 
  Required_resource_assignment, Resource_as_realized, Resource_event, 
  Resource_item, Resource_property, Scheme_entry, State_relationship, 
  Task_method, Task_method_version, Type_of_person, Type_of_person_definition, 
  View_definition_relationship, Work_output, Work_output_assignment);
END_TYPE; (* declared in: Activity_method_assignment_arm *)
 
TYPE activity_realization_select = SELECT 
  (Scheme, Scheme_version, Task_element, Task_method, Task_method_version);
END_TYPE; (* declared in: Activity_method_implementation_arm *)
 
TYPE affected_item_select = SELECT 
  (Activity_method, Activity_property, Assigned_property, Contract, Document, 
  Document_definition, Document_version, File, Interface_connection, 
  Interface_connector_occurrence, Interface_definition_connection, Organization
  , Person, Person_in_organization, Product, Product_group, Product_version, 
  Product_view_definition, Resource_item, Resource_property, 
  View_definition_relationship);
END_TYPE; (* declared in: Work_request_arm *)
 

TYPE alias_identification_item = SELECT 
  (Address, Approval, Approval_status, Attachment_slot, 
  Attachment_slot_definition, Attachment_slot_version, Breakdown, 
  Breakdown_element, Breakdown_element_definition, Breakdown_element_version, 
  Breakdown_version, Certification, Contract, Digital_document_definition, 
  Digital_file, Document, Document_assignment, Document_version, Event, 
  External_class_library, Hardcopy, Identification_assignment, 
  Interface_connection, Interface_connector, Interface_connector_as_planned, 
  Interface_connector_as_realized, Interface_connector_definition, 
  Interface_connector_design, Interface_connector_occurrence, 
  Interface_connector_version, Interface_definition_connection, 
  Interface_definition_for, Interface_specification, 
  Interface_specification_definition, Interface_specification_version, 
  Item_shape, Justification, Justification_assignment, 
  Justification_relationship, Justification_support_assignment, Organization, 
  Organization_or_person_in_organization_assignment, Part, Part_version, 
  Part_view_definition, Person, Person_in_organization, 
  Physical_document_definition, Product_as_individual, 
  Product_as_individual_view, Product_as_planned, Product_as_realized, 
  Product_concept, Product_configuration, Product_relationship, Project, 
  Requirement_assignment, Requirement_collection_relationship, 
  Requirement_source, Requirement_version_relationship, Security_classification
  , Security_classification_assignment, Shape_element_relationship, 
  Tracing_relationship, View_definition_relationship);
END_TYPE; (* declared in: Alias_identification_arm *)


TYPE any_number_value = NUMBER;
END_TYPE; (* declared in: Value_with_unit_arm *)
 
TYPE any_string_value = STRING;
END_TYPE; (* declared in: Value_with_unit_arm *)
 
TYPE approval_item = SELECT 
  (Activity, Activity_method, Activity_method_assignment, 
  Activity_method_realization, Activity_method_realization_relationship, 
  Activity_method_relationship, Activity_property, Address_assignment, 
  Affected_items_assignment, Alternate_part_relationship, 
  Applied_activity_assignment, Applied_activity_method_assignment, 
  Applied_information_usage_right, Applied_state_assignment, 
  Applied_state_definition_assignment, Assembly_component_relationship, 
  Assembly_relationship_substitution, Assigned_property, 
  Attachment_slot_as_planned, Attachment_slot_as_realized, 
  Attachment_slot_design, Attachment_slot_design_to_planned, 
  Attachment_slot_design_to_realized, Attachment_slot_on_product, 
  Attachment_slot_planned_to_realized, Breakdown, Breakdown_element, 
  Breakdown_element_definition, Breakdown_element_realization, 
  Breakdown_element_usage, Breakdown_element_version, Breakdown_version, 
  Certification, Certification_assignment, Classification_assignment, Condition
  , Condition_assignment, Condition_evaluation, Condition_evaluation_assignment
  , Contract, Contract_assignment, Date_or_date_time_assignment, 
  Descriptive_document_property, Digital_document_definition, Directed_activity
  , Document_assignment, Document_definition_relationship, Document_version, 
  Effectivity, Effectivity_assignment, Envelope, Event, Event_assignment, 
  Experience_gained, Experience_type, Identification_assignment, In_zone, 
  Independent_property, Independent_property_relationship, 
  Information_usage_right, Interface_connection, Interface_connector_as_planned
  , Interface_connector_as_realized, Interface_connector_definition, 
  Interface_connector_design, Interface_connector_design_to_planned, 
  Interface_connector_design_to_realized, Interface_connector_occurrence, 
  Interface_connector_planned_to_realized, Interface_connector_version, 
  Interface_definition_for, Interface_specification, 
  Interface_specification_definition, Interface_specification_version, 
  Justification, Justification_assignment, Justification_relationship, 
  Justification_support_assignment, Location_assignment, Managed_resource, 
  Managed_resource_relationship, Message, Numerical_document_property, 
  Observation, Organization_or_person_in_organization_assignment, 
  Organization_organization_type_relationship, Organization_relationship, Part
  , Part_version, Part_view_definition, Person_in_organization, 
  Person_or_organization_or_person_in_organization_in_position, 
  Person_or_organization_or_person_in_organization_in_position_relationship, 
  Physical_document_definition, Position, Position_assignment, 
  Position_group_assignment, Position_position_type_assignment, Position_type, 
  Position_type_assignment, Product_as_individual, Product_as_planned, 
  Product_as_realized, Product_category_assignment, Product_concept, 
  Product_configuration, Product_definition_element_relationship, 
  Product_design_to_individual, Product_design_version_to_individual, 
  Product_group, Product_group_membership, Product_group_relationship, 
  Product_in_attachment_slot, Product_planned_to_realized, Product_relationship
  , Product_version_relationship, Product_view_definition, Project, 
  Project_assignment, Qualification_assignment, Qualification_type, 
  Required_resource, Required_resource_assignment, 
  Required_resource_relationship, Requirement, Requirement_assignment, 
  Requirement_collection_relationship, Requirement_source, Requirement_version
  , Requirement_version_relationship, Requirement_view_definition, 
  Resource_as_realized, Resource_as_realized_assignment, Resource_event, 
  Resource_item, Resource_item_assignment, Resource_item_relationship, 
  Resource_property, Security_classification, 
  Security_classification_assignment, Selected_item_assignment, Task_element, 
  Task_element_relationship, Task_element_state_relationship, Task_method, 
  Task_method_assignment, Task_method_relationship, 
  Task_method_state_relationship, Task_method_version, 
  Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Task_objective_state_relationship, Tracing_relationship, 
  Type_of_person, Type_of_person_assignment, View_definition_context, 
  View_definition_relationship, Work_order, Work_output, Work_request);
END_TYPE; (* declared in: Approval_arm *)
 
TYPE assigned_document_select = SELECT 
  (Document, Document_definition, Document_version, File);
END_TYPE; (* declared in: Document_assignment_arm *)
 
TYPE assigned_name_select = SELECT 
  (External_class_library);
END_TYPE; (* declared in: Name_assignment_arm *)
 
TYPE breakdown_item = SELECT 
  (Breakdown_element_definition, Breakdown_element_usage);
END_TYPE; (* declared in: Product_breakdown_arm *)
 
TYPE cartesian_transformation = SELECT 
  (Cartesian_transformation_2d, Cartesian_transformation_3d);
END_TYPE; (* declared in: Elemental_geometric_shape_arm *)
 
TYPE certification_item = SELECT 
  (Activity, Activity_method, Applied_activity_method_assignment, Breakdown, 
  Document, Document_version, Interface_connection, Interface_connector_version
  , Interface_definition_connection, Interface_specification_version, Part, 
  Part_version, Product_as_individual, Product_as_planned, Product_as_realized
  , Product_configuration, Product_group, Product_group_relationship, 
  Product_version_relationship, Project, Qualification_assignment, 
  Resource_item, Task_element, Task_method, Task_method_version, Task_objective
  , View_definition_relationship, Work_output);
END_TYPE; (* declared in: Certification_arm *)
 
TYPE characterized_activity_definition = SELECT 
  (Activity, Activity_method, Activity_method_relationship, Condition, 
  Condition_evaluation, Condition_relationship, Required_resource_assignment, 
  Resource_as_realized_assignment, Resource_event, Resource_item_assignment, 
  Task_objective, Work_output);
END_TYPE; (* declared in: Process_property_assignment_arm *)
 
TYPE characterized_resource_select = SELECT 
  (Managed_resource, Required_resource, Resource_as_realized, Resource_item, 
  Resource_item_relationship);
END_TYPE; (* declared in: Resource_property_assignment_arm *)
 
TYPE classification_item = SELECT 
  (Activity, Activity_method, Activity_method_assignment, 
  Activity_method_realization, Activity_method_realization_relationship, 
  Activity_method_relationship, Activity_property, 
  Activity_property_representation, Activity_relationship, Activity_status, 
  Address, Address_assignment, Affected_items_assignment, 
  Alternate_part_relationship, Applied_activity_assignment, 
  Applied_activity_method_assignment, Applied_information_usage_right, 
  Applied_state_assignment, Applied_state_definition_assignment, Approval, 
  Approval_assignment, Approval_relationship, Approval_status, 
  Approving_person_organization, Assembly_relationship_substitution, 
  Assigned_property, Attachment_slot_design_to_planned, 
  Attachment_slot_design_to_realized, Attachment_slot_on_product, 
  Attachment_slot_planned_to_realized, Attribute_translation_assignment, 
  Breakdown, Breakdown_context, Breakdown_element, 
  Breakdown_element_realization, Breakdown_element_usage, 
  Breakdown_element_version, Breakdown_of, Calendar_date, Certification, 
  Certification_assignment, Characterizable_object, Class, Condition, 
  Condition_assignment, Condition_evaluation, Condition_evaluation_assignment, 
  Condition_evaluation_parameter, Condition_parameter, Condition_relationship, 
  Content_item, Context_dependent_unit, Contract, Contract_assignment, 
  Date_or_date_time_assignment, Date_time, Defined_state_relationship, 
  Descriptive_document_property, Digital_document_definition, Digital_file, 
  Directed_activity, Document, Document_assignment, 
  Document_definition_relationship, Document_location_identification, 
  Document_property_representation, Document_version, Effectivity, 
  Effectivity_assignment, Effectivity_relationship, Envelope, 
  Envelope_relationship, Event, Event_assignment, Event_relationship, 
  Experience_gained, Experience_instance, Experience_type, 
  External_class_library, External_item_identification, 
  External_source_identification, File_location_identification, 
  File_relationship, Hardcopy, Identification_assignment, In_zone, 
  Independent_property, Independent_property_relationship, 
  Independent_property_representation, Information_right, 
  Information_usage_right, Information_usage_right_relationship, 
  Interface_connection, Interface_connector, Interface_connector_as_planned, 
  Interface_connector_as_realized, Interface_connector_definition, 
  Interface_connector_design, Interface_connector_design_to_planned, 
  Interface_connector_design_to_realized, Interface_connector_occurrence, 
  Interface_connector_planned_to_realized, Interface_connector_version, 
  Interface_definition_connection, Interface_definition_for, 
  Interface_specification, Interface_specification_definition, 
  Interface_specification_version, Item_design_association, Item_shape, 
  Item_usage_effectivity, Justification, Justification_assignment, 
  Justification_relationship, Justification_support_assignment, Language, 
  Language_indication, Local_time, Location, Location_assignment, 
  Location_relationship, Location_representation, Managed_resource, 
  Managed_resource_relationship, Market, Message, Message_relationship, 
  Numerical_document_property, Observation, Observation_consequence, 
  Observation_item, Observation_relationship, Organization, 
  Organization_or_person_in_organization_assignment, Organization_relationship
  , Organization_type, Organizational_location_identification, Part, 
  Part_version, Part_view_definition, Partial_document_assignment, Person, 
  Person_in_organization, 
  Person_or_organization_or_person_in_organization_in_position, 
  Person_or_organization_or_person_in_organization_in_position_relationship, 
  Physical_document_definition, Position, Position_assignment, Position_group, 
  Position_group_assignment, Position_group_relationship, 
  Position_position_type_assignment, Position_relationship, Position_type, 
  Position_type_assignment, Probability_distribution, Product, 
  Product_as_planned, Product_as_realized, Product_category, Product_concept, 
  Product_configuration, Product_design_to_individual, 
  Product_design_version_to_individual, Product_group, 
  Product_group_relationship, Product_planned_to_realized, Product_relationship
  , Product_version, Product_version_relationship, Product_view_definition, 
  Project, Project_assignment, Project_relationship, Property_representation, 
  Qualification_assignment, Qualification_type, Qualification_type_relationship
  , Regional_coordinate, Related_condition_parameter, Representation, 
  Representation_context, Representation_item, Required_resource, 
  Required_resource_assignment, Required_resource_relationship, Requirement, 
  Requirement_assignment, Requirement_collection_relationship, 
  Requirement_source, Requirement_version, Requirement_version_relationship, 
  Requirement_view_definition, Resource_as_realized, 
  Resource_as_realized_assignment, Resource_as_realized_relationship, 
  Resource_event, Resource_event_correspondence_relationship, 
  Resource_event_relationship, Resource_item, Resource_item_assignment, 
  Resource_item_relationship, Resource_property, 
  Resource_property_representation, Security_classification, 
  Security_classification_assignment, Selected_item, Selected_item_assignment, 
  State, State_assertion, State_assessment, State_definition, 
  State_definition_relationship, State_relationship, State_role, 
  Supplied_part_relationship, Task_element_state_relationship, Task_method, 
  Task_method_state_relationship, Task_objective, 
  Task_objective_state_relationship, Time_interval_relationship, 
  Tracing_relationship, Type_of_person, Type_of_person_assignment, 
  Type_of_person_definition, Type_of_person_definition_relationship, 
  Type_of_person_definition_required_attributes_relationship, 
  Uncertainty_with_unit, Unit, Value_with_unit, View_definition_context, 
  View_definition_relationship, Work_order, Work_output, Work_output_assignment
  , Work_output_relationship, Work_request, Work_request_status);
END_TYPE; (* declared in: Classification_assignment_arm *)
 
TYPE classified_attribute_select = SELECT 
  (Activity, Activity_method, Activity_method_assignment, Activity_property, 
  Activity_property_representation, Activity_relationship, Address_assignment, 
  Affected_items_assignment, Alternate_part_relationship, 
  Applied_activity_assignment, Applied_state_assignment, 
  Applied_state_definition_assignment, Approval, Approval_assignment, 
  Approval_relationship, Approval_status, Approving_person_organization, 
  Assigned_property, Breakdown_context, Breakdown_element_realization, 
  Breakdown_element_usage, Certification, Certification_assignment, Condition, 
  Condition_evaluation, Condition_evaluation_parameter, Condition_parameter, 
  Condition_relationship, Content_item, Context_dependent_unit, Contract, 
  Date_or_date_time_assignment, Descriptive_document_property, Digital_file, 
  Document_assignment, Document_definition_relationship, 
  Document_location_identification, Document_property_representation, 
  Effectivity, Effectivity_assignment, Envelope, Envelope_relationship, 
  Event_assignment, Event_relationship, External_item_identification, 
  External_source_identification, File_location_identification, 
  File_relationship, Global_location_representation, Hardcopy, 
  Identification_assignment, Independent_property, 
  Independent_property_relationship, Independent_property_representation, 
  Information_right, Information_usage_right, 
  Information_usage_right_relationship, Interface_connection, 
  Interface_connector_definition, Interface_definition_connection, 
  Interface_specification_definition, Justification, Justification_assignment, 
  Justification_support_assignment, Language, Location, Location_relationship, 
  Managed_resource, Managed_resource_relationship, Market, Message, 
  Message_relationship, Numerical_document_property, 
  Organization_or_person_in_organization_assignment, Organization_relationship
  , Organizational_location_identification, Part_view_definition, 
  Partial_document_assignment, Person_in_organization, Product, 
  Product_based_location_identification, Product_category, Product_concept, 
  Product_relationship, Product_version_relationship, Product_view_definition, 
  Project_assignment, Project_relationship, Property_representation, 
  Regional_coordinate, Regional_grid_location_representation, 
  Related_condition_parameter, Representation, Representation_context, 
  Representation_item, Required_resource, Required_resource_relationship, 
  Requirement_version_relationship, Requirement_view_definition, 
  Resource_as_realized, Resource_as_realized_relationship, Resource_event, 
  Resource_event_correspondence_relationship, Resource_event_relationship, 
  Resource_item, Resource_item_assignment, Resource_item_relationship, 
  Resource_property, Resource_property_representation, Security_classification
  , State, State_definition, State_definition_relationship, State_relationship
  , Time_interval_relationship, Uncertainty_with_unit, Unit, Value_with_unit, 
  View_definition_context, View_definition_relationship, Work_order, 
  Work_output, Work_output_relationship, Work_request, Work_request_status);
END_TYPE; (* declared in: Attribute_classification_arm *)
 
TYPE condition_evaluation_item = SELECT 
  (Activity, Activity_method, Activity_method_realization, 
  Activity_method_realization_relationship, Activity_method_relationship, 
  Applied_activity_assignment, Applied_activity_method_assignment, Approval, 
  Approval_assignment, Assigned_property, Document_assignment, 
  Hierarchical_interface_connection, Interface_connection, 
  Interface_definition_connection, Managed_resource, 
  Product_definition_element_relationship, Product_group, 
  Product_group_membership, Product_group_relationship, Resource_as_realized, 
  Resource_as_realized_assignment, Resource_as_realized_relationship, 
  Resource_event, Resource_event_relationship, Resource_item, 
  Resource_item_assignment, Resource_item_relationship, State_assertion, 
  State_assessment, View_definition_relationship);
END_TYPE; (* declared in: Condition_evaluation_arm *)
 
TYPE condition_evaluation_parameter_item = SELECT 
  (Activity, Activity_method, Activity_property, 
  Activity_property_representation, Approval, Approval_assignment, 
  Assigned_property, Calendar_date, Certification_assignment, 
  Classification_assignment, Contract_assignment, Date_or_date_time_assignment
  , Date_time, Document_assignment, Hierarchical_interface_connection, 
  Identification_assignment, Independent_property_representation, 
  Interface_connection, Interface_connector_occurrence, 
  Interface_definition_connection, Managed_resource, 
  Organization_or_person_in_organization_assignment, Product, 
  Product_as_individual, Product_category_assignment, Product_concept, 
  Product_definition_element_relationship, Product_version, 
  Product_view_definition, Property_representation, Representation, 
  Required_resource, Resource_as_realized, Resource_as_realized_relationship, 
  Resource_event, Resource_property, Resource_property_representation, State, 
  State_definition, View_definition_relationship);
END_TYPE; (* declared in: Condition_evaluation_arm *)
 
TYPE condition_item = SELECT 
  (Activity, Activity_method_realization, 
  Activity_method_realization_relationship, Activity_method_relationship, 
  Activity_property, Applied_activity_assignment, 
  Applied_activity_method_assignment, Approval, Approval_assignment, 
  Assigned_property, Document_assignment, Hierarchical_interface_connection, 
  Interface_connection, Interface_definition_connection, Managed_resource, 
  Managed_resource_relationship, Product_definition_element_relationship, 
  Product_group, Product_group_membership, Product_group_relationship, 
  Required_resource, Required_resource_assignment, 
  Required_resource_relationship, Resource_event, Resource_event_relationship, 
  Resource_item, Resource_item_assignment, Resource_item_relationship, 
  Resource_property, State_definition, State_definition_relationship, 
  Task_element_relationship, Task_method_assignment, Task_method_relationship, 
  Task_method_version_assignment, Task_method_version_relationship, 
  View_definition_relationship);
END_TYPE; (* declared in: Condition_arm *)
 
TYPE condition_parameter_item = SELECT 
  (Activity, Activity_method, Activity_property, 
  Activity_property_representation, Approval, Approval_assignment, 
  Assigned_property, Calendar_date, Certification_assignment, 
  Classification_assignment, Condition_relationship, Contract_assignment, 
  Date_or_date_time_assignment, Date_time, Document_assignment, 
  Hierarchical_interface_connection, Identification_assignment, 
  Independent_property_representation, Interface_connection, 
  Interface_connector_occurrence, Interface_definition_connection, 
  Managed_resource, Organization_or_person_in_organization_assignment, Product
  , Product_as_individual, Product_category_assignment, Product_concept, 
  Product_definition_element_relationship, Product_version, 
  Product_view_definition, Property_representation, Representation, 
  Required_resource, Resource_as_realized, Resource_as_realized_relationship, 
  Resource_event, Resource_property, Resource_property_representation, State, 
  State_definition, View_definition_relationship);
END_TYPE; (* declared in: Condition_arm *)
 
TYPE connection_definition_items = SELECT 
  (Interface_connector_definition, Product_view_definition);
END_TYPE; (* declared in: Interface_arm *)
 
TYPE connection_items = SELECT 
  (connection_definition_items, Interface_connector_occurrence, 
  View_definition_relationship);
END_TYPE; (* declared in: Interface_arm *)
 
TYPE connector_on_item = SELECT 
  (Product_view_definition, View_definition_relationship);
END_TYPE; (* declared in: Interface_arm *)
 
TYPE constraint_context = SELECT 
  (Task_element, Task_method_version);
END_TYPE; (* declared in: Task_specification_arm *)
 
TYPE contract_item = SELECT 
  (Activity, Activity_method, Activity_method_realization, 
  Activity_method_realization_relationship, Activity_method_relationship, 
  Applied_activity_assignment, Applied_activity_method_assignment, Breakdown, 
  Breakdown_element, Breakdown_version, Document, Document_version, 
  External_class, External_class_library, Information_usage_right, 
  Interface_connector_as_planned, Interface_connector_as_realized, 
  Interface_connector_design, Interface_connector_version, 
  Interface_specification_version, Managed_resource, Message, Part, 
  Part_version, Product_as_individual, Product_as_planned, Product_as_realized
  , Product_configuration, Product_group, Product_group_relationship, Project, 
  Requirement, Requirement_assignment, Requirement_collection_relationship, 
  Requirement_source, Requirement_version, Requirement_version_relationship, 
  Requirement_view_definition, Resource_event, Resource_item, 
  Security_classification, Task_element, Task_element_relationship, Task_method
  , Task_method_assignment, Task_method_relationship, Task_method_version, 
  Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Tracing_relationship);
END_TYPE; (* declared in: Contract_arm *)
 
TYPE date_or_date_time_item = SELECT 
  (Activity, Activity_method, Activity_method_assignment, 
  Activity_method_realization, Activity_method_realization_relationship, 
  Activity_method_relationship, Activity_property, 
  Activity_property_representation, Activity_relationship, Address_assignment, 
  Affected_items_assignment, Alias_identification, Alternate_part_relationship
  , Applied_activity_assignment, Applied_activity_method_assignment, 
  Applied_information_usage_right, Applied_state_assignment, 
  Applied_state_definition_assignment, Approval, 
  Assembly_component_relationship, Assembly_relationship_substitution, 
  Assigned_property, Attachment_slot, Attachment_slot_definition, 
  Attachment_slot_design_to_planned, Attachment_slot_design_to_realized, 
  Attachment_slot_planned_to_realized, Attachment_slot_version, Breakdown, 
  Breakdown_element, Breakdown_element_realization, Breakdown_element_usage, 
  Breakdown_version, Certification, Certification_assignment, 
  Classification_assignment, Condition, Condition_assignment, 
  Condition_evaluation, Condition_evaluation_assignment, Contract, 
  Contract_assignment, Date_or_date_time_assignment, 
  Descriptive_document_property, Digital_document_definition, Digital_file, 
  Directed_activity, Document, Document_assignment, 
  Document_definition_relationship, Document_version, Effectivity, 
  Effectivity_assignment, Envelope, Event_assignment, Experience_instance, 
  Hardcopy, Hierarchical_interface_connection, Identification_assignment, 
  Independent_property, Independent_property_relationship, 
  Independent_property_representation, Information_usage_right, 
  Interface_connection, Interface_connector_as_planned, 
  Interface_connector_as_realized, Interface_connector_definition, 
  Interface_connector_design_to_planned, Interface_connector_design_to_realized
  , Interface_connector_occurrence, Interface_connector_planned_to_realized, 
  Interface_connector_version, Interface_definition_connection, 
  Interface_definition_for, Interface_specification_definition, 
  Interface_specification_version, Justification, Justification_assignment, 
  Justification_relationship, Justification_support_assignment, 
  Location_assignment, Location_representation, Managed_resource, 
  Managed_resource_relationship, Message, Numerical_document_property, 
  Observation, Organization_or_person_in_organization_assignment, 
  Organization_organization_type_relationship, Organization_relationship, Part
  , Part_version, Part_view_definition, Person, Person_in_organization, 
  Person_or_organization_or_person_in_organization_in_position, 
  Person_or_organization_or_person_in_organization_in_position_relationship, 
  Physical_document_definition, Position_assignment, Position_group_assignment
  , Position_position_type_assignment, Position_type_assignment, 
  Product_as_planned, Product_as_realized, Product_category_assignment, 
  Product_concept, Product_configuration, Product_design_to_individual, 
  Product_design_version_to_individual, Product_group, Product_group_membership
  , Product_group_relationship, Product_in_attachment_slot, 
  Product_planned_to_realized, Product_relationship, Product_version, 
  Product_version_relationship, Product_view_definition, Project, 
  Project_assignment, Property_representation, Qualification_assignment, 
  Representation, Required_resource, Required_resource_assignment, Requirement
  , Requirement_assignment, Requirement_collection_relationship, 
  Requirement_source, Requirement_version, Requirement_version_relationship, 
  Requirement_view_definition, Resource_as_realized, 
  Resource_as_realized_assignment, Resource_event, Resource_item, 
  Resource_item_assignment, Resource_property, Resource_property_representation
  , Scheme_entry, Security_classification, Security_classification_assignment, 
  Selected_item, Selected_item_assignment, State, State_assertion, 
  State_assessment, State_definition, State_definition_relationship, 
  State_relationship, Task_element, Task_element_relationship, 
  Task_element_state_relationship, Task_method, Task_method_assignment, 
  Task_method_relationship, Task_method_state_relationship, Task_method_version
  , Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Task_objective_state_relationship, Tracing_relationship, 
  Type_of_person_assignment, View_definition_context, Work_order, Work_output, 
  Work_request);
END_TYPE; (* declared in: Date_time_assignment_arm *)
 
TYPE date_or_date_time_select = SELECT 
  (Calendar_date, Date_time);
END_TYPE; (* declared in: Date_time_arm *)
 
TYPE date_or_event = SELECT 
  (Calendar_date, Date_time, Event);
END_TYPE; (* declared in: Event_arm *)
 
TYPE day_in_month_number = INTEGER;
WHERE
  WR1 : {1 <= SELF <= 31};
END_TYPE; (* declared in: Date_time_arm *)
 
TYPE defined_activities = SELECT 
  (Activity_actual, Resource_as_realized);
END_TYPE; (* declared in: Experience_arm *)
 
TYPE defined_attributes = SELECT 
  (Experience_type, Qualification_type);
END_TYPE; (* declared in: Type_of_person_arm *)
 
TYPE defined_methods = SELECT 
  (Activity, Activity_method, Required_resource);
END_TYPE; (* declared in: Experience_arm *)
 
TYPE descriptive_or_numerical = SELECT 
  (Descriptive_document_property, Numerical_document_property);
END_TYPE; (* declared in: Document_properties_arm *)
 
TYPE document_property_item = property_assignment_select;
WHERE
  wr1 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ADDRESS' IN TYPEOF(SELF))
    ;
  wr2 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.APPLIED_ACTIVITY_ASSIGNMENT' IN 
    TYPEOF(SELF));
  wr3 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.APPLIED_ACTIVITY_METHOD_ASSIGNMENT'
     IN TYPEOF(SELF));
  wr4 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.APPLIED_STATE_ASSIGNMENT'
     IN TYPEOF(SELF));
  wr5 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.APPLIED_STATE_DEFINITION_ASSIGNMENT'
     IN TYPEOF(SELF));
  wr6 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_REALIZATION' IN 
    TYPEOF(SELF));
  wr7 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_USAGE' 
    IN TYPEOF(SELF));
  wr8 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.DOCUMENT_ASSIGNMENT' IN 
    TYPEOF(SELF));
  wr9 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ENVELOPE' IN TYPEOF(SELF)
    );
  wr10 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.EXPERIENCE_INSTANCE' IN 
    TYPEOF(SELF));
  wr11 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.HIERARCHICAL_INTERFACE_CONNECTION'
     IN TYPEOF(SELF));
  wr12 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_CONNECTION' IN
     TYPEOF(SELF));
  wr13 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_CONNECTOR_OCCURRENCE' IN
     TYPEOF(SELF));
  wr14 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_DEFINITION_CONNECTION' 
    IN TYPEOF(SELF));
  wr15 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.LOCATION_ASSIGNMENT' IN 
    TYPEOF(SELF));
  wr16 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT'
     IN TYPEOF(SELF));
  wr17 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART_VIEW_DEFINITION' IN
     TYPEOF(SELF));
  wr18 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PERSON' IN TYPEOF(SELF))
    ;
  wr19 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PERSON_IN_ORGANIZATION' 
    IN TYPEOF(SELF));
  wr20 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_GROUP_MEMBERSHIP' IN 
    TYPEOF(SELF));
  wr21 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_VIEW_DEFINITION'
     IN TYPEOF(SELF));
  wr22 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PROJECT' IN TYPEOF(SELF)
    );
  wr23 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.STATE' IN TYPEOF(SELF));
  wr24 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.STATE_DEFINITION' IN 
    TYPEOF(SELF));
  wr25 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.STATE_DEFINITION_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr26 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.STATE_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr27 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TASK_METHOD_STATE_RELATIONSHIP' IN
     TYPEOF(SELF));
  wr28 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TASK_OBJECTIVE_STATE_RELATIONSHIP'
     IN TYPEOF(SELF));
  wr29 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TYPE_OF_PERSON_DEFINITION' IN 
    TYPEOF(SELF));
  wr30 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.VIEW_DEFINITION_RELATIONSHIP' IN 
    TYPEOF(SELF));
END_TYPE; (* declared in: Document_properties_arm *)
 
TYPE documented_element_select = SELECT 
  (Activity, Activity_method, Activity_method_realization, 
  Activity_method_realization_relationship, Activity_method_relationship, 
  Activity_property, Activity_property_representation, 
  Alternate_part_relationship, Applied_activity_assignment, 
  Applied_activity_method_assignment, Approval, Approval_assignment, 
  Assembly_component_relationship, Assembly_relationship_substitution, 
  Assigned_property, Attachment_slot, Attachment_slot_design_to_planned, 
  Attachment_slot_design_to_realized, Attachment_slot_planned_to_realized, 
  Attachment_slot_version, Breakdown, Breakdown_context, Breakdown_element, 
  Breakdown_element_realization, Breakdown_element_usage, Breakdown_version, 
  Certification, Certification_assignment, Condition, Condition_evaluation, 
  Contract, Contract_assignment, Document, Document_definition, 
  Document_version, Effectivity, Effectivity_assignment, Experience_instance, 
  Experience_type, Identification_assignment, Independent_property, 
  Independent_property_relationship, Independent_property_representation, 
  Information_right, Information_usage_right, Interface_connection, 
  Interface_connector_as_planned, Interface_connector_as_realized, 
  Interface_connector_design, Interface_connector_design_to_planned, 
  Interface_connector_design_to_realized, Interface_connector_occurrence, 
  Interface_connector_planned_to_realized, Interface_connector_version, 
  Interface_definition_connection, Interface_specification, 
  Interface_specification_version, Location, Location_assignment, 
  Location_representation, Managed_resource, Market, Message, Observation, 
  Observation_consequence, Organization, 
  Organization_or_person_in_organization_assignment, Organization_type, 
  Organizational_location_identification, Part, Part_version, 
  Part_view_definition, Person, 
  Person_or_organization_or_person_in_organization_in_position, 
  Person_or_organization_or_person_in_organization_in_position_relationship, 
  Position, Position_group, Position_type, Position_type_assignment, 
  Probability_distribution, Product, Product_as_planned, Product_as_realized, 
  Product_concept, Product_configuration, Product_design_to_individual, 
  Product_design_version_to_individual, Product_group, Product_group_membership
  , Product_group_relationship, Product_planned_to_realized, 
  Product_relationship, Product_version, Product_version_relationship, 
  Product_view_definition, Project, Property_representation, Qualification_type
  , Regional_grid_location_representation, Representation, Representation_item
  , Required_resource, Required_resource_assignment, 
  Required_resource_relationship, Requirement, Requirement_assignment, 
  Requirement_source, Requirement_version, Resource_as_realized, Resource_event
  , Resource_item, Resource_item_assignment, Resource_item_relationship, 
  Resource_property, Resource_property_representation, Security_classification
  , Security_classification_assignment, Selected_item, Shape_element, 
  Shape_element_relationship, State, State_assertion, State_assessment, 
  State_definition, Task_element, Task_element_relationship, 
  Task_element_state_relationship, Task_method, Task_method_assignment, 
  Task_method_relationship, Task_method_state_relationship, Task_method_version
  , Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Task_objective_state_relationship, Type_of_person, 
  Type_of_person_definition, View_definition_relationship, Work_order, 
  Work_request);
END_TYPE; (* declared in: Document_assignment_arm *)
 
TYPE effectivity_item = SELECT 
  (Activity, Activity_method, Activity_property, Address_assignment, 
  Alternate_part_relationship, Applied_activity_assignment, 
  Applied_activity_method_assignment, Applied_information_usage_right, 
  Applied_state_definition_assignment, Approval_assignment, 
  Assembly_component_relationship, Assembly_relationship_substitution, 
  Assigned_property, Attachment_slot, Attachment_slot_as_planned, 
  Attachment_slot_as_realized, Attachment_slot_definition, 
  Attachment_slot_design, Attachment_slot_design_to_planned, 
  Attachment_slot_design_to_realized, Attachment_slot_on_product, 
  Attachment_slot_planned_to_realized, Attachment_slot_version, 
  Attribute_translation_assignment, Breakdown, Breakdown_element, 
  Breakdown_element_definition, Breakdown_element_realization, 
  Breakdown_element_usage, Breakdown_element_version, Breakdown_of, 
  Breakdown_version, Certification_assignment, Contract_assignment, 
  Date_or_date_time_assignment, Document, Document_assignment, 
  Document_definition, Document_definition_relationship, 
  Document_location_identification, Document_version, Effectivity_assignment, 
  File, File_relationship, Identification_assignment, Interface_connection, 
  Interface_connector_design_to_planned, Interface_connector_design_to_realized
  , Interface_connector_occurrence, Interface_connector_planned_to_realized, 
  Interface_definition_for, Justification, Justification_assignment, 
  Justification_relationship, Justification_support_assignment, 
  Location_assignment, Make_from_relationship, Managed_resource_relationship, 
  Organization_or_person_in_organization_assignment, Organization_relationship
  , Part, Part_version, Part_view_definition, Person_in_organization, 
  Person_or_organization_or_person_in_organization_in_position_relationship, 
  Position_assignment, Position_group_assignment, 
  Position_position_type_assignment, Position_type_assignment, Product, 
  Product_as_individual, Product_as_individual_version, 
  Product_as_individual_view, Product_configuration, 
  Product_design_to_individual, Product_design_version_to_individual, 
  Product_group, Product_group_membership, Product_group_relationship, 
  Product_in_attachment_slot, Product_planned_to_realized, Product_relationship
  , Product_version, Product_version_relationship, Product_view_definition, 
  Project_assignment, Required_resource_assignment, 
  Required_resource_relationship, Requirement, Requirement_assignment, 
  Requirement_collection_relationship, Requirement_source, Requirement_version
  , Requirement_version_relationship, Requirement_view_definition, 
  Resource_item_assignment, Resource_item_relationship, Resource_property, 
  Security_classification_assignment, Selected_item_assignment, 
  State_definition_relationship, Type_of_person_assignment, 
  Type_of_person_definition_relationship, Work_order, Work_output_assignment, 
  Work_output_relationship);
END_TYPE; (* declared in: Effectivity_application_arm *)
 
TYPE event_item = SELECT 
  (Certification, Project);
END_TYPE; (* declared in: Event_assignment_arm *)
 
TYPE external_identification_item = SELECT 
  (Document_definition, File);
END_TYPE; (* declared in: External_item_identification_assignment_arm *)
 
TYPE geometric_mapping_target = SELECT 
  (Axis_placement, cartesian_transformation);
END_TYPE; (* declared in: Elemental_geometric_shape_arm *)
 
TYPE hour_in_day = INTEGER;
WHERE
  WR1 : {0 <= SELF < 24};
END_TYPE; (* declared in: Date_time_arm *)
 
TYPE identification_item = SELECT 
  (Activity, Activity_method, Activity_method_realization, 
  Activity_method_realization_relationship, Activity_method_relationship, 
  Activity_property, Address, Affected_items_assignment, 
  Applied_activity_assignment, Applied_activity_method_assignment, 
  Applied_state_assignment, Applied_state_definition_assignment, Approval, 
  Approval_status, Assigned_property, Attachment_slot, 
  Attachment_slot_definition, Attachment_slot_version, Breakdown, 
  Breakdown_element, Breakdown_element_definition, Breakdown_element_version, 
  Breakdown_version, Certification, Condition, Condition_evaluation, Contract, 
  Defined_state_relationship, Descriptive_document_property, 
  Digital_document_definition, Digital_file, Directed_activity, Document, 
  Document_assignment, Document_version, Effectivity, Event, 
  Experience_instance, Experience_type, External_class_library, Hardcopy, 
  Independent_property, Independent_property_relationship, Information_right, 
  Information_usage_right, Interface_connection, Interface_connector, 
  Interface_connector_as_planned, Interface_connector_as_realized, 
  Interface_connector_definition, Interface_connector_design, 
  Interface_connector_occurrence, Interface_connector_version, 
  Interface_definition_connection, Interface_specification, 
  Interface_specification_definition, Interface_specification_version, 
  Item_shape, Justification, Justification_assignment, 
  Justification_relationship, Justification_support_assignment, Location, 
  Location_representation, Managed_resource, Market, Message, 
  Numerical_document_property, Observation, Observation_consequence, 
  Organization, Organization_or_person_in_organization_assignment, 
  Organization_type, Organizational_location_identification, Part, Part_version
  , Part_view_definition, Person, Person_in_organization, 
  Person_or_organization_or_person_in_organization_in_position, 
  Person_or_organization_or_person_in_organization_in_position_relationship, 
  Physical_document_definition, Position, Position_group, 
  Probability_distribution, Product_as_individual, 
  Product_as_individual_version, Product_as_individual_view, Product_as_planned
  , Product_as_realized, Product_concept, Product_configuration, Product_group
  , Product_group_membership, Product_group_relationship, Product_relationship
  , Project, Qualification_assignment, Qualification_type, Required_resource, 
  Required_resource_relationship, Requirement, Requirement_assignment, 
  Requirement_collection_relationship, Requirement_source, Requirement_version
  , Requirement_version_relationship, Requirement_view_definition, 
  Resource_as_realized, Resource_event, Resource_item, Resource_property, 
  Security_classification, Security_classification_assignment, 
  Shape_element_relationship, State, State_assertion, State_assessment, 
  State_definition, State_definition_relationship, State_relationship, 
  Task_element, Task_element_relationship, Task_element_state_relationship, 
  Task_method, Task_method_assignment, Task_method_relationship, 
  Task_method_state_relationship, Task_method_version, 
  Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Task_objective_state_relationship, Tracing_relationship, 
  Type_of_person, View_definition_relationship, Work_order, Work_output, 
  Work_request);
END_TYPE; (* declared in: Identification_assignment_arm *)
 
TYPE in_zone_item = SELECT 
  (Hierarchical_interface_connection, Interface_connection, 
  Interface_connector_occurrence, Interface_definition_connection, 
  Product_view_definition);
END_TYPE; (* declared in: Zonal_breakdown_arm *)
 
TYPE information_usage_right_item = SELECT 
  (Alternate_part_relationship, Applied_information_usage_right, 
  Assembly_component_relationship, Assembly_relationship_substitution, 
  Attachment_slot_definition, Attachment_slot_design_to_planned, 
  Attachment_slot_design_to_realized, Attachment_slot_on_product, 
  Attachment_slot_version, Breakdown, Breakdown_element, 
  Breakdown_element_realization, Breakdown_element_usage, Breakdown_version, 
  Certification, Certification_assignment, Digital_document_definition, 
  Digital_file, Document, Document_definition_relationship, Document_version, 
  File_relationship, Hardcopy, Interface_connection, Interface_connector, 
  Interface_connector_as_planned, Interface_connector_as_realized, 
  Interface_connector_definition, Interface_connector_design, 
  Interface_connector_occurrence, Interface_connector_version, 
  Interface_definition_connection, Interface_definition_for, 
  Interface_specification, Interface_specification_definition, 
  Interface_specification_version, Message, Part, Part_version, 
  Part_view_definition, Physical_document_definition, Product_as_individual, 
  Product_as_individual_view, Product_as_planned, Product_as_realized, 
  Product_configuration, Requirement, Requirement_assignment, 
  Requirement_version, Requirement_view_definition, Security_classification, 
  Security_classification_assignment, Supplied_part_relationship, Task_element
  , Task_method, Task_method_version, Task_objective);
END_TYPE; (* declared in: Information_rights_arm *)
 
TYPE interface_definition_item = SELECT 
  (Interface_connector_occurrence, Product_view_definition);
END_TYPE; (* declared in: Interface_arm *)
 
TYPE justification_item = SELECT 
  (Activity, Activity_method, Activity_method_realization, 
  Activity_method_realization_relationship, Activity_method_relationship, 
  Activity_property, Applied_activity_assignment, 
  Applied_activity_method_assignment, Applied_state_assignment, Approval, 
  Approval_assignment, Assigned_property, Classification_assignment, 
  Descriptive_document_property, Document_assignment, Document_definition, 
  Document_definition_relationship, Effectivity, File_relationship, 
  Independent_property, Independent_property_relationship, Interface_connection
  , Interface_connector_occurrence, Interface_definition_connection, 
  Location_assignment, Managed_resource_relationship, Message, 
  Numerical_document_property, Product, Product_version, 
  Product_version_relationship, Product_view_definition, Required_resource, 
  Required_resource_assignment, Required_resource_relationship, 
  Resource_as_realized, Resource_event, Resource_item, Resource_item_assignment
  , Resource_item_relationship, Resource_property, State_assertion, 
  State_assessment, Task_element, Task_element_relationship, 
  Task_element_state_relationship, Task_method, Task_method_assignment, 
  Task_method_relationship, Task_method_state_relationship, Task_method_version
  , Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Task_objective_state_relationship, 
  View_definition_relationship);
END_TYPE; (* declared in: Justification_arm *)
 
TYPE justification_support_item = SELECT 
  (Activity, Activity_method, Activity_method_assignment, Activity_property, 
  Applied_activity_assignment, Applied_activity_method_assignment, 
  Applied_state_assignment, Applied_state_definition_assignment, Approval, 
  Assigned_property, Certification, Contract, Descriptive_document_property, 
  Document, Document_definition, Document_definition_relationship, 
  Document_version, Effectivity, Event, File_relationship, Independent_property
  , Independent_property_relationship, Interface_connection, 
  Interface_connector_occurrence, Interface_definition_connection, Location, 
  Location_assignment, Message, Numerical_document_property, Observation, 
  Product, Product_version, Product_version_relationship, 
  Product_view_definition, Project, Resource_property, State, State_definition
  , State_definition_relationship, State_relationship, 
  View_definition_relationship, Work_order, Work_request);
END_TYPE; (* declared in: Justification_arm *)
 
TYPE length_measure = REAL;
END_TYPE; (* declared in: Value_with_unit_arm *)
 
TYPE limit_qualifier_list = ENUMERATION OF 
  (minimum, maximum);
END_TYPE; (* declared in: Extended_measure_representation_arm *)
 
TYPE location_assignment_select = SELECT 
  (Activity, Activity_method_assignment, Applied_activity_assignment, 
  Applied_activity_method_assignment, Attachment_slot, 
  Attachment_slot_definition, Attachment_slot_version, Breakdown, 
  Breakdown_element, Breakdown_element_definition, Breakdown_version, Document
  , Document_definition, Document_version, File, Interface_connection, 
  Interface_connector_occurrence, Interface_definition_connection, 
  Managed_resource, Organization, Organization_type, Person, 
  Person_in_organization, Position, Position_type, Product, Product_group, 
  Product_version, Product_view_definition, Project, Required_resource, 
  Required_resource_assignment, Resource_item, Resource_item_assignment, 
  Task_element, Task_method, Task_method_assignment, Task_method_version, 
  Task_method_version_assignment, Type_of_person, View_definition_relationship)
  ;
END_TYPE; (* declared in: Location_assignment_arm *)
 
TYPE measure_value = SELECT 
  (any_number_value, any_string_value, length_measure, plane_angle_measure);
END_TYPE; (* declared in: Value_with_unit_arm *)
 
TYPE message_definer_select = SELECT 
  (Organization, Person_in_organization);
END_TYPE; (* declared in: Message_arm *)
 
TYPE method_or_method_version = SELECT 
  (Task_method, Task_method_version);
END_TYPE; (* declared in: Task_specification_arm *)
 
TYPE minute_in_hour = INTEGER;
WHERE
  WR1 : {0 <= SELF <= 59};
END_TYPE; (* declared in: Date_time_arm *)
 
TYPE month_in_year_number = INTEGER;
WHERE
  WR1 : {1 <= SELF <= 12};
END_TYPE; (* declared in: Date_time_arm *)
 
TYPE observation_recorder = SELECT 
  (Product_as_realized);
END_TYPE; (* declared in: Observation_arm *)
 
TYPE observed_context = SELECT 
  (Activity, Activity_method, Applied_activity_assignment, Attachment_slot, 
  Attachment_slot_definition, Attachment_slot_version, Breakdown, 
  Breakdown_element, Breakdown_element_definition, Breakdown_version, 
  Interface_connector_occurrence, Product, Product_group, Product_version, 
  Product_view_definition, Required_resource, Resource_as_realized, 
  Resource_item, Scheme, Scheme_entry, Scheme_version, Task_element, 
  Task_method, Task_method_version, View_definition_relationship, Work_order, 
  Work_output, Work_request);
END_TYPE; (* declared in: Observation_arm *)
 
TYPE offset_orientation = ENUMERATION OF 
  (ahead, exact, behind);
END_TYPE; (* declared in: Date_time_arm *)
 
TYPE organization_or_person_in_organization_item = SELECT 
  (Activity, Activity_method, Activity_method_assignment, 
  Activity_method_realization, Activity_method_realization_relationship, 
  Activity_method_relationship, Activity_property, 
  Activity_property_representation, Activity_relationship, Address_assignment, 
  Affected_items_assignment, Alias_identification, Alternate_part_relationship
  , Applied_activity_assignment, Applied_activity_method_assignment, 
  Applied_independent_resource_property, Applied_state_assignment, 
  Applied_state_definition_assignment, Approval, 
  Assembly_component_relationship, Assembly_relationship_substitution, 
  Assigned_property, Breakdown, Breakdown_element, 
  Breakdown_element_realization, Breakdown_element_usage, Breakdown_version, 
  Certification, Certification_assignment, Classification_assignment, Condition
  , Condition_assignment, Condition_evaluation, Condition_evaluation_assignment
  , Contract, Contract_assignment, Date_or_date_time_assignment, 
  Descriptive_document_property, Digital_document_definition, Digital_file, 
  Directed_activity, Document, Document_assignment, Document_definition, 
  Document_version, Effectivity, Effectivity_assignment, Envelope, Event, 
  Event_assignment, Hardcopy, Identification_assignment, Independent_property, 
  Independent_property_relationship, Independent_property_representation, 
  Information_usage_right, Interface_connection, Interface_connector, 
  Interface_connector_as_planned, Interface_connector_as_realized, 
  Interface_connector_definition, Interface_connector_occurrence, 
  Interface_connector_version, Interface_definition_connection, 
  Interface_definition_for, Interface_specification, 
  Interface_specification_definition, Interface_specification_version, 
  Justification, Justification_assignment, Justification_relationship, 
  Justification_support_assignment, Location_assignment, Managed_resource, 
  Managed_resource_relationship, Message, Numerical_document_property, 
  Observation, Organization_or_person_in_organization_assignment, Part, 
  Part_version, Part_view_definition, Person_in_organization, 
  Physical_document_definition, Position_assignment, Position_group_assignment
  , Position_position_type_assignment, Position_type, Position_type_assignment
  , Product_as_individual, Product_as_planned, Product_as_realized, 
  Product_category, Product_category_assignment, Product_configuration, 
  Product_group, Product_group_membership, Product_group_relationship, 
  Product_relationship, Product_version, Product_view_definition, Project, 
  Project_assignment, Property_representation, Qualification_assignment, 
  Qualification_type, Representation, Required_resource, 
  Required_resource_assignment, Requirement, Requirement_assignment, 
  Requirement_collection_relationship, Requirement_source, Requirement_version
  , Requirement_version_relationship, Requirement_view_definition, 
  Resource_as_realized, Resource_as_realized_assignment, Resource_event, 
  Resource_item, Resource_item_assignment, Resource_property, 
  Resource_property_representation, Scheme, Scheme_entry, 
  Security_classification, Security_classification_assignment, Selected_item, 
  Selected_item_assignment, State, State_assertion, State_assessment, 
  State_definition, State_definition_relationship, State_relationship, 
  Task_element, Task_element_relationship, Task_element_state_relationship, 
  Task_method, Task_method_assignment, Task_method_relationship, 
  Task_method_state_relationship, Task_method_version, 
  Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Task_objective_state_relationship, Tracing_relationship, 
  Type_of_person_assignment, View_definition_context, Work_order, Work_output, 
  Work_request);
END_TYPE; (* declared in: Person_organization_assignment_arm *)
 
TYPE organization_or_person_in_organization_select = SELECT 
  (Organization, Person_in_organization);
END_TYPE; (* declared in: Person_organization_arm *)
 
TYPE person_or_organization_or_person_in_organization_select = SELECT 
  (Organization, Person, Person_in_organization);
END_TYPE; (* declared in: Experience_arm *)
 
TYPE plane_angle_measure = REAL;
END_TYPE; (* declared in: Value_with_unit_arm *)
 
TYPE position_context_item = SELECT 
  (Organization, Position_group, Project);
END_TYPE; (* declared in: Position_in_organization_arm *)
 
TYPE position_group_item = SELECT 
  (Approving_person_organization, Document_definition, 
  Organization_or_person_in_organization_assignment, Product, Product_version, 
  Product_view_definition);
END_TYPE; (* declared in: Position_in_organization_arm *)
 
TYPE position_item = SELECT 
  (Approving_person_organization, Document_definition, 
  Organization_or_person_in_organization_assignment, Product, Product_version, 
  Product_view_definition);
END_TYPE; (* declared in: Position_in_organization_arm *)
 
TYPE position_person_or_organization_or_person_in_organization_select = SELECT 
  (Organization, Person, Person_in_organization);
END_TYPE; (* declared in: Position_in_organization_arm *)
 
TYPE position_type_item = SELECT 
  (Approving_person_organization, Document_definition, 
  Organization_or_person_in_organization_assignment, Product, Product_version, 
  Product_view_definition);
END_TYPE; (* declared in: Position_in_organization_arm *)
 
TYPE product_based_location_representation = SELECT 
  (Interface_connection, Interface_connector_occurrence, 
  Interface_definition_connection, Product, Product_version);
END_TYPE; (* declared in: Location_arm *)
 
TYPE product_item = SELECT 
  (Interface_connector_occurrence, Product_group, Product_view_definition, 
  View_definition_usage);
END_TYPE; (* declared in: Product_breakdown_arm *)
 
TYPE product_select = SELECT 
  (Product, Product_as_individual, Product_concept, Product_group, 
  Product_version);
END_TYPE; (* declared in: Product_group_arm *)
 
TYPE project_item = SELECT 
  (Activity, Activity_method, Activity_method_realization, 
  Activity_method_realization_relationship, Activity_method_relationship, 
  Applied_activity_assignment, Applied_activity_method_assignment, Breakdown, 
  Independent_property, Product, Product_concept, Product_configuration, 
  Product_group, Product_group_membership, Product_group_relationship, 
  Product_version, Task_element, Task_method, Task_method_assignment, 
  Task_method_version, Task_method_version_assignment, Task_objective);
END_TYPE; (* declared in: Project_arm *)
 
TYPE property_assignment_select = SELECT 
  (Address, Applied_activity_assignment, Applied_activity_method_assignment, 
  Applied_state_assignment, Applied_state_definition_assignment, 
  Breakdown_element_realization, Breakdown_element_usage, Document_assignment, 
  Document_definition, Envelope, Experience_instance, File, 
  Hierarchical_interface_connection, Interface_connection, 
  Interface_connector_occurrence, Interface_definition_connection, 
  Location_assignment, Organization_or_person_in_organization_assignment, 
  Part_view_definition, Person, Person_in_organization, 
  Product_group_membership, Product_view_definition, Project, State, 
  State_definition, State_definition_relationship, State_relationship, 
  Task_method_state_relationship, Task_objective_state_relationship, 
  Type_of_person_definition, View_definition_relationship);
END_TYPE; (* declared in: Property_assignment_arm *)
 
TYPE qualifications_select = SELECT 
  (Organization, Person, Person_in_organization);
END_TYPE; (* declared in: Qualifications_arm *)
 
TYPE required_resource_item = SELECT 
  (Activity, Activity_method, Applied_activity_assignment, Event, Position, 
  Position_type, Scheme, Scheme_entry, Scheme_version, Task_element, 
  Task_method, Task_method_assignment, Task_method_version, 
  Task_method_version_assignment, Type_of_person);
END_TYPE; (* declared in: Required_resource_arm *)
 
TYPE requirement_assignment_item = SELECT 
  (Activity_method, Alternate_part_relationship, 
  Applied_activity_method_assignment, Applied_state_assignment, 
  Applied_state_definition_assignment, Assembly_component_relationship, 
  Assembly_relationship_substitution, Attachment_slot, Attachment_slot_version
  , Breakdown, Breakdown_element, Breakdown_element_realization, 
  Breakdown_element_usage, Breakdown_element_version, Breakdown_version, 
  Document_version, Interface_connector_occurrence, Interface_specification, 
  Part_version, Product_as_individual_version, Product_as_planned, 
  Product_as_realized, Product_configuration, Product_in_attachment_slot, 
  Product_view_definition, Project, Required_resource_by_specification, State, 
  State_definition);
END_TYPE; (* declared in: Requirement_assignment_arm *)
 
TYPE requirement_source_item = SELECT 
  (Activity_method, Applied_activity_method_assignment, 
  Applied_state_assignment, Applied_state_definition_assignment, 
  Document_version, Interface_connector_occurrence, Part_version, 
  Product_as_individual_version, Product_view_definition, State, 
  State_definition);
END_TYPE; (* declared in: Requirement_assignment_arm *)
 
TYPE resource_as_realized_item = SELECT 
  (Activity_actual, Applied_activity_assignment, Event);
END_TYPE; (* declared in: Resource_as_realized_arm *)
 
TYPE resource_as_realized_relationship_select = SELECT 
  (Required_resource, Resource_event);
END_TYPE; (* declared in: Resource_as_realized_arm *)
 
TYPE resource_assignment_item = SELECT 
  (Contract, Location, Part, Part_version, Part_view_definition, 
  Product_as_individual, Product_as_individual_version, 
  Product_as_individual_view, Product_group, Project);
END_TYPE; (* declared in: Resource_item_arm *)
 
TYPE resource_item_select = SELECT 
  (Document, Document_definition, Document_version, File, Location, 
  Organization, Organization_type, Part, Part_version, Part_view_definition, 
  Person, Person_in_organization, Position, Position_type, 
  Product_as_individual, Product_as_individual_version, 
  Product_as_individual_view, Product_group, Type_of_person);
END_TYPE; (* declared in: Resource_item_arm *)
 
TYPE scheme_entry_item_select = activity_method_item;
WHERE
  wr1 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ACTIVITY_METHOD' IN 
    TYPEOF(SELF));
  wr2 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ACTIVITY_PROPERTY' IN 
    TYPEOF(SELF));
  wr3 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ASSIGNED_DOCUMENT_PROPERTY' IN 
    TYPEOF(SELF));
  wr4 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ASSIGNED_PROPERTY' IN 
    TYPEOF(SELF));
  wr5 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT' IN 
    TYPEOF(SELF));
  wr6 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_DEFINITION' IN 
    TYPEOF(SELF));
  wr7 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_USAGE' 
    IN TYPEOF(SELF));
  wr8 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_VERSION' IN 
    TYPEOF(SELF));
  wr9 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.CONTRACT' IN TYPEOF(SELF)
    );
  wr10 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.DOCUMENT' IN TYPEOF(SELF
    ));
  wr11 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.DOCUMENT_VERSION' IN 
    TYPEOF(SELF));
  wr12 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ENVELOPE' IN TYPEOF(SELF
    ));
  wr13 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.FILE' IN TYPEOF(SELF));
  wr14 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_CONNECTION' IN
     TYPEOF(SELF));
  wr15 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_CONNECTOR_OCCURRENCE' IN
     TYPEOF(SELF));
  wr16 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_DEFINITION_CONNECTION' 
    IN TYPEOF(SELF));
  wr17 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.LOCATION' IN TYPEOF(SELF
    ));
  wr18 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.MANAGED_RESOURCE' IN 
    TYPEOF(SELF));
  wr19 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.MESSAGE' IN TYPEOF(SELF)
    );
  wr20 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.OBSERVATION_CONSEQUENCE'
     IN TYPEOF(SELF));
  wr21 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ORGANIZATION' IN TYPEOF(
    SELF));
  wr22 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ORGANIZATION_TYPE' IN 
    TYPEOF(SELF));
  wr23 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART' IN TYPEOF(SELF));
  wr24 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART_VERSION' IN TYPEOF(
    SELF));
  wr25 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART_VIEW_DEFINITION' IN
     TYPEOF(SELF));
  wr26 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PERSON' IN TYPEOF(SELF))
    ;
  wr27 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PERSON_IN_ORGANIZATION' 
    IN TYPEOF(SELF));
  wr28 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION' IN TYPEOF(SELF
    ));
  wr29 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION_GROUP' IN 
    TYPEOF(SELF));
  wr30 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION_TYPE' IN TYPEOF
    (SELF));
  wr31 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT' IN TYPEOF(SELF)
    );
  wr32 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_AS_INDIVIDUAL' 
    IN TYPEOF(SELF));
  wr33 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_AS_INDIVIDUAL_VERSION' IN 
    TYPEOF(SELF));
  wr34 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_AS_INDIVIDUAL_VIEW' IN 
    TYPEOF(SELF));
  wr35 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_BASED_LOCATION_IDENTIFICATION'
     IN TYPEOF(SELF));
  wr36 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_CONCEPT' IN 
    TYPEOF(SELF));
  wr37 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_CONFIGURATION' 
    IN TYPEOF(SELF));
  wr38 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_GROUP' IN TYPEOF
    (SELF));
  wr39 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_VERSION' IN 
    TYPEOF(SELF));
  wr40 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_VERSION_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr41 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_VIEW_DEFINITION'
     IN TYPEOF(SELF));
  wr42 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PROJECT' IN TYPEOF(SELF)
    );
  wr43 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.REQUIRED_RESOURCE' IN 
    TYPEOF(SELF));
  wr44 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.REQUIRED_RESOURCE_ASSIGNMENT' IN 
    TYPEOF(SELF));
  wr45 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_AS_REALIZED' IN
     TYPEOF(SELF));
  wr46 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_ITEM' IN TYPEOF
    (SELF));
  wr47 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_PROPERTY' IN 
    TYPEOF(SELF));
  wr48 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.SCHEME_ENTRY' IN TYPEOF(
    SELF));
  wr49 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.STATE_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr50 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TASK_METHOD' IN TYPEOF(
    SELF));
  wr51 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TASK_METHOD_VERSION' IN 
    TYPEOF(SELF));
  wr52 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TYPE_OF_PERSON' IN 
    TYPEOF(SELF));
  wr53 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TYPE_OF_PERSON_DEFINITION' IN 
    TYPEOF(SELF));
  wr54 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.VIEW_DEFINITION_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr55 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.WORK_OUTPUT' IN TYPEOF(
    SELF));
  wr56 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.WORK_OUTPUT_ASSIGNMENT' 
    IN TYPEOF(SELF));
END_TYPE; (* declared in: Scheme_arm *)
 
TYPE scheme_subject_select = activity_method_item;
WHERE
  wr1 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ACTIVITY_PROPERTY' IN 
    TYPEOF(SELF));
  wr2 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ASSIGNED_DOCUMENT_PROPERTY' IN 
    TYPEOF(SELF));
  wr3 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ASSIGNED_PROPERTY' IN 
    TYPEOF(SELF));
  wr4 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT' IN 
    TYPEOF(SELF));
  wr5 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_DEFINITION' IN 
    TYPEOF(SELF));
  wr6 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_USAGE' 
    IN TYPEOF(SELF));
  wr7 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_VERSION' IN 
    TYPEOF(SELF));
  wr8 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ENVELOPE' IN TYPEOF(SELF)
    );
  wr9 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.EVENT' IN TYPEOF(SELF));
  wr10 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.FILE' IN TYPEOF(SELF));
  wr11 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_CONNECTION' IN
     TYPEOF(SELF));
  wr12 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_CONNECTOR_OCCURRENCE' IN
     TYPEOF(SELF));
  wr13 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_DEFINITION_CONNECTION' 
    IN TYPEOF(SELF));
  wr14 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.MESSAGE' IN TYPEOF(SELF)
    );
  wr15 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.OBSERVATION_CONSEQUENCE'
     IN TYPEOF(SELF));
  wr16 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART' IN TYPEOF(SELF));
  wr17 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART_VERSION' IN TYPEOF(
    SELF));
  wr18 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART_VIEW_DEFINITION' IN
     TYPEOF(SELF));
  wr19 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION' IN TYPEOF(SELF
    ));
  wr20 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION_GROUP' IN 
    TYPEOF(SELF));
  wr21 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION_TYPE' IN TYPEOF
    (SELF));
  wr22 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_BASED_LOCATION_IDENTIFICATION'
     IN TYPEOF(SELF));
  wr23 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_CONCEPT' IN 
    TYPEOF(SELF));
  wr24 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_CONFIGURATION' 
    IN TYPEOF(SELF));
  wr25 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_VERSION_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr26 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.REQUIRED_RESOURCE_ASSIGNMENT' IN 
    TYPEOF(SELF));
  wr27 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_EVENT' IN 
    TYPEOF(SELF));
  wr28 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_PROPERTY' IN 
    TYPEOF(SELF));
  wr29 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.STATE_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr30 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TASK_METHOD' IN TYPEOF(
    SELF));
  wr31 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TASK_METHOD_VERSION' IN 
    TYPEOF(SELF));
  wr32 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TYPE_OF_PERSON_DEFINITION' IN 
    TYPEOF(SELF));
  wr33 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.VIEW_DEFINITION_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr34 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.WORK_OUTPUT' IN TYPEOF(
    SELF));
  wr35 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.WORK_OUTPUT_ASSIGNMENT' 
    IN TYPEOF(SELF));
END_TYPE; (* declared in: Scheme_arm *)
 
TYPE scheme_version_select = activity_method_item;
WHERE
  wr1 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ACTIVITY_PROPERTY' IN 
    TYPEOF(SELF));
  wr2 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ASSIGNED_DOCUMENT_PROPERTY' IN 
    TYPEOF(SELF));
  wr3 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ASSIGNED_PROPERTY' IN 
    TYPEOF(SELF));
  wr4 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT' IN 
    TYPEOF(SELF));
  wr5 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_DEFINITION' IN 
    TYPEOF(SELF));
  wr6 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_USAGE' 
    IN TYPEOF(SELF));
  wr7 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.BREAKDOWN_ELEMENT_VERSION' IN 
    TYPEOF(SELF));
  wr8 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ENVELOPE' IN TYPEOF(SELF)
    );
  wr9 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.EVENT' IN TYPEOF(SELF));
  wr10 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.FILE' IN TYPEOF(SELF));
  wr11 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_CONNECTION' IN
     TYPEOF(SELF));
  wr12 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_CONNECTOR_OCCURRENCE' IN
     TYPEOF(SELF));
  wr13 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.INTERFACE_DEFINITION_CONNECTION' 
    IN TYPEOF(SELF));
  wr14 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.MESSAGE' IN TYPEOF(SELF)
    );
  wr15 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.OBSERVATION_CONSEQUENCE'
     IN TYPEOF(SELF));
  wr16 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART' IN TYPEOF(SELF));
  wr17 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART_VERSION' IN TYPEOF(
    SELF));
  wr18 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PART_VIEW_DEFINITION' IN
     TYPEOF(SELF));
  wr19 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION' IN TYPEOF(SELF
    ));
  wr20 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION_GROUP' IN 
    TYPEOF(SELF));
  wr21 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.POSITION_TYPE' IN TYPEOF
    (SELF));
  wr22 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_BASED_LOCATION_IDENTIFICATION'
     IN TYPEOF(SELF));
  wr23 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_CONCEPT' IN 
    TYPEOF(SELF));
  wr24 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_CONFIGURATION' 
    IN TYPEOF(SELF));
  wr25 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_VERSION_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr26 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.REQUIRED_RESOURCE_ASSIGNMENT' IN 
    TYPEOF(SELF));
  wr27 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_EVENT' IN 
    TYPEOF(SELF));
  wr28 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_PROPERTY' IN 
    TYPEOF(SELF));
  wr29 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.STATE_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr30 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TASK_METHOD' IN TYPEOF(
    SELF));
  wr31 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TASK_METHOD_VERSION' IN 
    TYPEOF(SELF));
  wr32 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.TYPE_OF_PERSON_DEFINITION' IN 
    TYPEOF(SELF));
  wr33 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.VIEW_DEFINITION_RELATIONSHIP' IN 
    TYPEOF(SELF));
  wr34 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.WORK_OUTPUT' IN TYPEOF(
    SELF));
  wr35 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.WORK_OUTPUT_ASSIGNMENT' 
    IN TYPEOF(SELF));
END_TYPE; (* declared in: Scheme_arm *)
 
TYPE second_in_minute = REAL;
WHERE
  WR1 : {0 <= SELF <= 60.0};
END_TYPE; (* declared in: Date_time_arm *)
 
TYPE security_classification_item = SELECT 
  (Activity, Activity_method, Activity_method_realization, 
  Activity_method_realization_relationship, Activity_method_relationship, 
  Alternate_part_relationship, Applied_activity_assignment, 
  Applied_activity_method_assignment, Assembly_component_relationship, 
  Assembly_relationship_substitution, Attachment_slot_design_to_planned, 
  Attachment_slot_design_to_realized, Attachment_slot_on_product, 
  Attachment_slot_planned_to_realized, Attachment_slot_version, Breakdown, 
  Breakdown_element_definition, Breakdown_element_realization, 
  Breakdown_element_usage, Breakdown_element_version, 
  Digital_document_definition, Digital_file, Document, Document_assignment, 
  Document_version, Hardcopy, Hierarchical_interface_connection, 
  Interface_connection, Interface_connector, Interface_connector_as_planned, 
  Interface_connector_as_realized, Interface_connector_definition, 
  Interface_connector_design, Interface_connector_occurrence, 
  Interface_connector_version, Interface_definition_connection, 
  Interface_definition_for, Interface_specification_definition, 
  Interface_specification_version, Message, Part, Part_version, 
  Part_view_definition, Physical_document_definition, Product_as_individual, 
  Product_as_individual_view, Product_as_planned, Product_as_realized, 
  Product_configuration, Product_design_to_individual, 
  Product_design_version_to_individual, Product_group, Product_group_membership
  , Product_group_relationship, Product_relationship, Requirement, 
  Requirement_assignment, Requirement_collection_relationship, 
  Requirement_source, Requirement_version, Requirement_version_relationship, 
  Requirement_view_definition, Resource_item, Task_element, 
  Task_element_relationship, Task_element_state_relationship, Task_method, 
  Task_method_assignment, Task_method_relationship, Task_method_version, 
  Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Task_objective_state_relationship, Tracing_relationship, 
  Work_output);
END_TYPE; (* declared in: Security_classification_arm *)
 
TYPE selected_item_context_items = SELECT 
  (Breakdown, Contract, Part, Part_version, Product_as_individual, 
  Product_as_individual_version, Product_concept, Product_configuration, 
  Project);
END_TYPE; (* declared in: Selected_item_arm *)
 
TYPE selected_item_select = SELECT 
  (Interface_connection, Interface_connector_definition, 
  Interface_connector_occurrence, Interface_definition_connection, Product, 
  Product_version);
END_TYPE; (* declared in: Selected_item_arm *)
 
TYPE shape_dependent_select = SELECT 
  (Item_shape, Shape_element);
END_TYPE; (* declared in: Shape_property_assignment_arm *)
 
TYPE shape_model = SELECT 
  (External_geometric_model, Geometric_model);
END_TYPE; (* declared in: Shape_property_assignment_arm *)
 
TYPE shape_select = SELECT 
  (Item_shape, Shape_element, Shape_element_relationship);
END_TYPE; (* declared in: Shape_property_assignment_arm *)
 
TYPE shapeable_item = SELECT 
  (Characterizable_object, Product_view_definition, View_definition_usage);
END_TYPE; (* declared in: Shape_property_assignment_arm *)
 
TYPE state_definition_of_item = SELECT 
  (Activity, Activity_method, Alternate_part_relationship, 
  Applied_activity_assignment, Applied_activity_method_assignment, 
  Assembly_component_relationship, Assembly_relationship_substitution, 
  Attachment_slot, Attachment_slot_definition, 
  Attachment_slot_design_to_planned, Attachment_slot_design_to_realized, 
  Attachment_slot_on_product, Attachment_slot_planned_to_realized, 
  Attachment_slot_version, Breakdown, Breakdown_element, 
  Breakdown_element_definition, Breakdown_element_realization, 
  Breakdown_element_usage, Breakdown_element_version, Breakdown_version, 
  Certification, Contract, Digital_document_definition, Digital_file, Document
  , Document_version, File_location_identification, Hardcopy, 
  Interface_connection, Interface_connector_as_planned, 
  Interface_connector_as_realized, Interface_connector_definition, 
  Interface_connector_design, Interface_connector_occurrence, 
  Interface_connector_version, Interface_definition_connection, 
  Interface_specification, Interface_specification_definition, 
  Interface_specification_version, Location, Managed_resource, Organization, 
  Part, Part_version, Part_view_definition, Person_in_organization, 
  Physical_document_definition, Product, Product_as_individual, 
  Product_as_individual_view, Product_as_planned, Product_as_realized, 
  Product_category, Product_concept, Product_configuration, Product_group, 
  Product_in_attachment_slot, Product_version, Project, Resource_as_realized, 
  Resource_as_realized_assignment, Resource_as_realized_relationship, 
  Resource_as_realized_resource_item, Resource_event, 
  Resource_event_correspondence_relationship, Resource_event_relationship, 
  Resource_group_relationship, Resource_item, Resource_item_assignment, 
  Resource_item_relationship, Scheme, Scheme_version, Security_classification, 
  View_definition_relationship, Work_order, Work_request);
END_TYPE; (* declared in: State_definition_arm *)
 
TYPE state_of_item = SELECT 
  (Activity, Activity_method, Alternate_part_relationship, 
  Applied_activity_assignment, Assembly_component_relationship, 
  Assembly_relationship_substitution, Attachment_slot, 
  Attachment_slot_definition, Attachment_slot_design_to_planned, 
  Attachment_slot_design_to_realized, Attachment_slot_on_product, 
  Attachment_slot_planned_to_realized, Attachment_slot_version, Breakdown, 
  Breakdown_element, Breakdown_element_definition, 
  Breakdown_element_realization, Breakdown_element_usage, 
  Breakdown_element_version, Breakdown_version, Certification, Contract, 
  Digital_document_definition, Digital_file, Document, Document_version, 
  File_location_identification, Hardcopy, Interface_connection, 
  Interface_connector_as_planned, Interface_connector_as_realized, 
  Interface_connector_definition, Interface_connector_design, 
  Interface_connector_occurrence, Interface_connector_version, 
  Interface_definition_connection, Interface_specification, 
  Interface_specification_definition, Interface_specification_version, Location
  , Managed_resource, Message, Organization, Part, Part_version, 
  Part_view_definition, Person_in_organization, Physical_document_definition, 
  Product, Product_as_individual, Product_as_individual_view, 
  Product_as_planned, Product_as_realized, Product_concept, 
  Product_configuration, Product_group, Product_in_attachment_slot, 
  Product_version, Project, Resource_as_realized, 
  Resource_as_realized_assignment, Resource_as_realized_relationship, 
  Resource_as_realized_resource_item, Resource_event, 
  Resource_event_correspondence_relationship, Resource_event_relationship, 
  Resource_group_relationship, Resource_item, Resource_item_assignment, 
  Resource_item_relationship, Scheme, Scheme_version, Security_classification, 
  Task_method_version, View_definition_relationship, Work_order, Work_request);
END_TYPE; (* declared in: State_observed_arm *)
 
TYPE state_or_state_definition_select = SELECT 
  (Applied_state_assignment, Applied_state_definition_assignment, State, 
  State_definition);
END_TYPE; (* declared in: Task_specification_arm *)
 
TYPE string_select = SELECT 
  (Activity, Activity_method, Activity_method_assignment, 
  Activity_method_realization, Activity_method_realization_relationship, 
  Activity_method_relationship, Activity_property, Activity_relationship, 
  Alternate_part_relationship, Applied_activity_assignment, 
  Applied_activity_method_assignment, Approval, Approval_relationship, 
  Approval_status, Assembly_component_relationship, 
  Assembly_relationship_substitution, Assigned_property, Attachment_slot, 
  Attachment_slot_definition, Attachment_slot_design_to_planned, 
  Attachment_slot_design_to_realized, Attachment_slot_on_product, 
  Attachment_slot_planned_to_realized, Attachment_slot_version, Breakdown, 
  Breakdown_element, Breakdown_element_realization, Breakdown_element_usage, 
  Breakdown_element_version, Certification, Condition, Condition_evaluation, 
  Condition_evaluation_parameter, Condition_parameter, Condition_relationship, 
  Contract, Date_or_date_time_assignment, Digital_document_definition, Document
  , Document_assignment, Document_definition_relationship, Document_version, 
  Envelope, Envelope_relationship, Event, Experience_gained, Experience_type, 
  External_item_identification, External_source_identification, 
  File_relationship, Global_location_representation, Identification_assignment
  , Independent_property, Independent_property_relationship, Information_right
  , Information_usage_right, Interface_connection, Interface_connector, 
  Interface_connector_definition, Interface_connector_occurrence, 
  Interface_connector_version, Interface_definition_connection, 
  Interface_definition_for, Justification, Justification_assignment, 
  Justification_relationship, Justification_support_assignment, Location, 
  Location_assignment, Location_relationship, Managed_resource, 
  Managed_resource_relationship, Message, Message_relationship, Observation, 
  Observation_consequence, Organization_relationship, Organization_type, 
  Organizational_location_identification, Part, Part_version, 
  Part_view_definition, Person_in_organization, Physical_document_definition, 
  Position, Position_group, Position_relationship, Position_role, Position_type
  , Product_as_individual, Product_as_individual_version, 
  Product_as_individual_view, Product_based_location_identification, 
  Product_category, Product_configuration, Product_group, 
  Product_group_relationship, Product_relationship, Project, Project_assignment
  , Project_relationship, Qualification_type, Regional_coordinate, 
  Regional_grid_location_representation, Related_condition_parameter, 
  Representation_item, Required_resource, Required_resource_relationship, 
  Requirement, Requirement_assignment, Requirement_collection_relationship, 
  Requirement_source, Requirement_version, Requirement_version_relationship, 
  Requirement_view_definition, Resource_as_realized, 
  Resource_as_realized_relationship, Resource_event, 
  Resource_event_correspondence_relationship, Resource_event_relationship, 
  Resource_item, Resource_item_assignment, Resource_item_relationship, 
  Resource_property, State, State_definition, State_definition_relationship, 
  State_relationship, Task_element, Task_element_relationship, Task_method, 
  Task_method_assignment, Task_method_relationship, Task_method_version, 
  Task_method_version_assignment, Task_method_version_relationship, 
  Task_objective, Tracing_relationship, Type_of_person, 
  Type_of_person_assignment, Type_of_person_definition, 
  Type_of_person_definition_relationship, Work_order, Work_output, 
  Work_output_relationship);
END_TYPE; (* declared in: Multi_linguism_arm *)
 
TYPE task_item = activity_method_item;
WHERE
  wr1 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ACTIVITY' IN TYPEOF(SELF)
    );
  wr2 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ACTIVITY_METHOD' IN 
    TYPEOF(SELF));
  wr3 : NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.APPLIED_ACTIVITY_ASSIGNMENT' IN 
    TYPEOF(SELF));
  wr4 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.CONTRACT' IN TYPEOF(SELF)
    );
  wr5 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.EVENT' IN TYPEOF(SELF));
  wr6 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.MANAGED_RESOURCE' IN 
    TYPEOF(SELF));
  wr7 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PERSON' IN TYPEOF(SELF));
  wr8 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PERSON_IN_ORGANIZATION' 
    IN TYPEOF(SELF));
  wr9 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PROJECT' IN TYPEOF(SELF))
    ;
  wr10 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_AS_REALIZED' IN
     TYPEOF(SELF));
  wr11 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.RESOURCE_EVENT' IN 
    TYPEOF(SELF));
  wr12 : NOT ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.SCHEME_ENTRY' IN TYPEOF(
    SELF));
END_TYPE; (* declared in: Task_specification_arm *)
 
TYPE template_instance = SELECT 
  (Mapping_based_template_instance, Transformation_based_template_instance);
END_TYPE; (* declared in: Contextual_shape_positioning_arm *)
 
TYPE type_of_person_item_select = SELECT 
  (Person, Person_in_organization, Position, Position_group, Position_type);
END_TYPE; (* declared in: Type_of_person_arm *)
 
TYPE version_or_definition = SELECT 
  (Product_version, Product_view_definition);
END_TYPE; (* declared in: Configuration_item_arm *)
 
TYPE work_item = SELECT 
  (Activity, Activity_method, Applied_activity_assignment, 
  Applied_activity_method_assignment, Event, Scheme, Scheme_entry, 
  Scheme_version, Task_element, Task_method, Task_method_version);
END_TYPE; (* declared in: Work_output_arm *)
 
TYPE work_output_item = SELECT 
  (Breakdown, Breakdown_version, Contract, Document, Document_definition, 
  Document_version, Envelope, File, Location, Managed_resource, Message, 
  Organization, Organization_type, Part, Part_version, Part_view_definition, 
  Person, Person_in_organization, Position, Position_type, Product, 
  Product_as_individual, Product_as_individual_version, 
  Product_as_individual_view, Product_group, Product_version, 
  Product_view_definition, Resource_as_realized, Resource_item, Type_of_person)
  ;
END_TYPE; (* declared in: Work_output_arm *)
 
TYPE year_number = INTEGER;
END_TYPE; (* declared in: Date_time_arm *)
 
ENTITY Activity;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  chosen_method : Activity_method;
END_ENTITY; (* declared in: Activity_arm *)
 
ENTITY Activity_actual
SUBTYPE OF (Activity);
END_ENTITY; (* declared in: Activity_as_realized_arm *)
 
ENTITY Activity_happening
SUBTYPE OF (Activity_relationship);
  SELF\Activity_relationship.relating_activity : Activity_actual;
DERIVE
  actual : Activity_actual := SELF\Activity_relationship.relating_activity;
  predicted : Activity := SELF\Activity_relationship.related_activity;
WHERE
  WR1 : NOT ('ACTIVITY_AS_REALIZED.ACTIVITY_ACTUAL' IN TYPEOF(predicted));
END_ENTITY; (* declared in: Activity_as_realized_arm *)
 
ENTITY Activity_method
SUPERTYPE OF (ONEOF (Task_element, Task_method, Task_method_version));
  name : STRING;
  description :  OPTIONAL STRING;
  consequence :  OPTIONAL STRING;
  purpose : STRING;
END_ENTITY; (* declared in: Activity_method_arm *)
 
ENTITY Activity_method_assignment;
  relation_type : STRING;
  assigned_method : Activity_method;
  associated_request : Work_request;
END_ENTITY; (* declared in: Work_request_arm *)
 
ENTITY Activity_method_realization;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  activity_method : Activity_method;
  realized_by : activity_realization_select;
END_ENTITY; (* declared in: Activity_method_implementation_arm *)
 
ENTITY Activity_method_realization_relationship;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Activity_method_realization;
  related : Activity_method_realization;
END_ENTITY; (* declared in: Activity_method_implementation_arm *)
 
ENTITY Activity_method_relationship
SUPERTYPE OF (ONEOF (Task_element_relationship, Task_method_relationship, 
Task_method_version_relationship));
  name : STRING;
  description :  OPTIONAL STRING;
  relating_method : Activity_method;
  related_method : Activity_method;
END_ENTITY; (* declared in: Activity_method_assignment_arm *)
 
ENTITY Activity_property;
  name : STRING;
  description : STRING;
  described_element : characterized_activity_definition;
END_ENTITY; (* declared in: Process_property_assignment_arm *)
 
ENTITY Activity_property_representation;
  description :  OPTIONAL STRING;
  property : Activity_property;
  rep : Representation;
  role : STRING;
END_ENTITY; (* declared in: Process_property_assignment_arm *)
 
ENTITY Activity_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating_activity : Activity;
  related_activity : Activity;
END_ENTITY; (* declared in: Activity_arm *)
 
ENTITY Activity_status;
  assigned_activity : Activity;
  status : STRING;
END_ENTITY; (* declared in: Activity_arm *)
 
ENTITY Address;
  name :  OPTIONAL STRING;
  street_number :  OPTIONAL STRING;
  street :  OPTIONAL STRING;
  postal_box :  OPTIONAL STRING;
  town :  OPTIONAL STRING;
  region :  OPTIONAL STRING;
  postal_code :  OPTIONAL STRING;
  country :  OPTIONAL STRING;
  internal_location :  OPTIONAL STRING;
  facsimile_number :  OPTIONAL STRING;
  telephone_number :  OPTIONAL STRING;
  electronic_mail_address :  OPTIONAL STRING;
  telex_number :  OPTIONAL STRING;
  url :  OPTIONAL STRING;
WHERE
  WR1 : EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS
    (town) OR EXISTS(region) OR EXISTS(postal_code) OR EXISTS(country) OR 
    EXISTS(internal_location) OR EXISTS(facsimile_number) OR EXISTS(
    telephone_number) OR EXISTS(electronic_mail_address) OR EXISTS(telex_number
    );
END_ENTITY; (* declared in: Person_organization_arm *)
 
ENTITY Address_assignment;
  address_type :  OPTIONAL STRING;
  assigned_address : Address;
  located_person_organizations : SET [1:?] OF 
  organization_or_person_in_organization_select;
END_ENTITY; (* declared in: Person_organization_arm *)
 
ENTITY Address_based_location_representation
SUBTYPE OF (Location_representation);
  postal_address : Address;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Advisory_task_step
SUBTYPE OF (Task_step);
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Affected_items_assignment;
  assigned_work_request : Work_request;
  items : SET [1:?] OF affected_item_select;
END_ENTITY; (* declared in: Work_request_arm *)
 
ENTITY Alias_identification
SUBTYPE OF (Identification_assignment);
DERIVE
  SELF\Identification_assignment.role : STRING := 'alias';
WHERE
  WR1 : SIZEOF(QUERY(item <* SELF\Identification_assignment.items | NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ALIAS_IDENTIFICATION_ITEM' IN 
    TYPEOF(item)))) = 0;
END_ENTITY; (* declared in: Alias_identification_arm *)
 
ENTITY Alternate_part_relationship
SUBTYPE OF (Alternate_product_relationship);
  SELF\Alternate_product_relationship.alternate_product : Part;
  SELF\Alternate_product_relationship.base_product : Part;
END_ENTITY; (* declared in: Product_structure_arm *)
 
ENTITY Alternate_product_relationship;
  name :  OPTIONAL STRING;
  description :  OPTIONAL STRING;
  alternate_product : Product;
  base_product : Product;
  criteria : STRING;
UNIQUE
  UR1 : alternate_product, base_product;
WHERE
  WR1 : alternate_product :<>: base_product;
END_ENTITY; (* declared in: Product_replacement_arm *)
 
ENTITY Amount_of_substance_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY And_state_cause_effect_definition
SUBTYPE OF (State_cause_effect_definition);
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY Applied_activity_assignment;
  assigned_activity : Activity;
  items : SET [1:?] OF activity_item;
  role : STRING;
END_ENTITY; (* declared in: Activity_arm *)
 
ENTITY Applied_activity_method_assignment;
  assigned_activity_method : Activity_method;
  items : SET [1:?] OF activity_method_item;
  role : STRING;
END_ENTITY; (* declared in: Activity_method_assignment_arm *)
 
ENTITY Applied_independent_activity_property
SUBTYPE OF (Activity_property);
  base_element_property : Independent_property;
DERIVE
  SELF\Activity_property.name : STRING := base_element_property.property_type;
END_ENTITY; (* declared in: Process_property_assignment_arm *)
 
ENTITY Applied_independent_property
SUBTYPE OF (Assigned_property);
  base_independent_property : Independent_property;
DERIVE
  SELF\Assigned_property.name : STRING := base_independent_property.
  property_type;
END_ENTITY; (* declared in: Property_assignment_arm *)
 
ENTITY Applied_independent_resource_property
SUBTYPE OF (Resource_property);
  base_element_property : Independent_property;
DERIVE
  SELF\Resource_property.name : STRING := base_element_property.property_type;
END_ENTITY; (* declared in: Resource_property_assignment_arm *)
 
ENTITY Applied_information_usage_right;
  item : SET [1:?] OF information_usage_right_item;
  right_applied : Information_usage_right;
END_ENTITY; (* declared in: Information_rights_arm *)
 
ENTITY Applied_state_assignment;
  described_state : State;
  assigned_to : state_of_item;
  role : State_role;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY Applied_state_definition_assignment;
  described_state_definition : State_definition;
  assigned_to : state_definition_of_item;
  role : State_definition_role;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY Approval;
  status : Approval_status;
  purpose : STRING;
  planned_date :  OPTIONAL date_or_date_time_select;
  actual_date :  OPTIONAL date_or_date_time_select;
END_ENTITY; (* declared in: Approval_arm *)
 
ENTITY Approval_assignment;
  assigned_approval : Approval;
  items : SET [1:?] OF approval_item;
  role :  OPTIONAL STRING;
END_ENTITY; (* declared in: Approval_arm *)
 
ENTITY Approval_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_approval : Approval;
  related_approval : Approval;
END_ENTITY; (* declared in: Approval_arm *)
 
ENTITY Approval_status;
  status_name : STRING;
END_ENTITY; (* declared in: Approval_arm *)
 
ENTITY Approving_person_organization;
  person_organization : organization_or_person_in_organization_select;
  approval_date :  OPTIONAL date_or_date_time_select;
  authorized_approval : Approval;
  role :  OPTIONAL STRING;
END_ENTITY; (* declared in: Approval_arm *)
 
ENTITY Assembly_component_relationship
ABSTRACT SUPERTYPE OF (ONEOF (Next_assembly_usage, Promissory_usage, 
Component_upper_level_identification))
SUBTYPE OF (View_definition_usage);
  quantity :  OPTIONAL Value_with_unit;
  location_indicator :  OPTIONAL STRING;
WHERE
  WR1: NOT(EXISTS(quantity)) OR ((NOT ('NUMBER' IN TYPEOF(quantity.value_component))) XOR (quantity.value_component > 0));
END_ENTITY; (* declared in: Assembly_structure_arm *)
 
ENTITY Assembly_relationship_substitution;
  name :  OPTIONAL STRING;
  description :  OPTIONAL STRING;
  base_relationship : Assembly_component_relationship;
  substitute_relationship : Assembly_component_relationship;
UNIQUE
  UR1 : base_relationship, substitute_relationship;
WHERE
  WR1 : base_relationship.relating_view :=: substitute_relationship.
    relating_view;
  WR2 : base_relationship :<>: substitute_relationship;
END_ENTITY; (* declared in: Product_replacement_arm *)
 
ENTITY Assigned_document_property
SUBTYPE OF (Assigned_property);
  SELF\Assigned_property.described_element : document_property_item;
DERIVE
  SELF\Assigned_property.name : STRING := 'document property';
UNIQUE
  UR1 : SELF\Assigned_property.described_element;
WHERE
  WR1 : SIZEOF(['AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.DOCUMENT_DEFINITION', 
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.FILE'] * TYPEOF(SELF\
    Assigned_property.described_element)) = 1;
END_ENTITY; (* declared in: Document_properties_arm *)
 
ENTITY Assigned_property;
  id :  OPTIONAL STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  described_element : property_assignment_select;
END_ENTITY; (* declared in: Property_assignment_arm *)
 
ENTITY Attachment_slot
SUBTYPE OF (Product);
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_as_planned
SUBTYPE OF (Attachment_slot_version);
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_as_realized
SUBTYPE OF (Attachment_slot_version);
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_definition
SUBTYPE OF (Product_view_definition);
  SELF\Product_view_definition.defined_version : Attachment_slot_version;
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_design
SUBTYPE OF (Attachment_slot_version);
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_design_to_planned;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  design : Attachment_slot_design;
  planned : Attachment_slot_as_planned;
WHERE
  WR1 : SELF.design.of_product :=: SELF.planned.of_product;
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_design_to_realized;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  design : Attachment_slot_design;
  realized : Attachment_slot_as_realized;
WHERE
  WR1 : SELF.design.of_product :=: SELF.realized.of_product;
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_on_product;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  product : Product_view_definition;
  attachment_slot : Attachment_slot_definition;
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_planned_to_realized;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  planned : Attachment_slot_as_planned;
  realized : Attachment_slot_as_realized;
WHERE
  WR1 : SELF.planned.of_product :=: SELF.realized.of_product;
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attachment_slot_version
SUPERTYPE OF (ONEOF (Attachment_slot_as_planned, Attachment_slot_as_realized, 
Attachment_slot_design))
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Attachment_slot;
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Attribute_classification;
  allowed_value : Class;
  attribute_name : STRING;
  classified_entity : SET [1:?] OF classified_attribute_select;
END_ENTITY; (* declared in: Attribute_classification_arm *)
 
ENTITY Attribute_translation_assignment;
  considered_instance : string_select;
  considered_attribute : STRING;
  translation_text : STRING;
  translation_language : Language;
UNIQUE
  UR1 : considered_instance, considered_attribute, translation_language;
END_ENTITY; (* declared in: Multi_linguism_arm *)
 
ENTITY Axis_placement
SUBTYPE OF (Detailed_geometric_model_element);
  origin : Cartesian_point;
  x_axis : Direction;
  y_axis : Direction;
DERIVE
  dim : INTEGER := SIZEOF(origin.coordinates);
WHERE
  WR1 : dim > 1;
  WR2 : dim = SIZEOF(x_axis.coordinates);
  WR3 : dim = SIZEOF(y_axis.coordinates);
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Axis_placement_mapping;
  source : Axis_placement;
  target : Axis_placement;
WHERE
  WR1 : source\Axis_placement.dim = target\Axis_placement.dim;
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Axis_placement_transformation_mapping;
  source : Axis_placement;
  target : cartesian_transformation;
WHERE
  WR1 : source\Axis_placement.dim = SIZEOF(target.translation\Cartesian_point.
    coordinates);
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Breakdown
SUPERTYPE OF (ONEOF (Functional_breakdown, Hybrid_breakdown, Physical_breakdown
, System_breakdown, Zone_breakdown))
SUBTYPE OF (Product);
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Breakdown_context
SUPERTYPE OF (ONEOF (Functional_breakdown_context, Hybrid_breakdown_context, 
Physical_breakdown_context, System_breakdown_context, Zone_breakdown_context));
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  breakdown : Breakdown_version;
  breakdown_element : Breakdown_element_definition;
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Breakdown_element
SUPERTYPE OF (ONEOF (Functional_element, Physical_element, System_element, 
Zone_element))
SUBTYPE OF (Product);
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Breakdown_element_definition
SUPERTYPE OF (ONEOF (Functional_element_definition, Physical_element_definition
, System_element_definition, Zone_element_definition))
SUBTYPE OF (Product_view_definition);
  SELF\Product_view_definition.defined_version : Breakdown_element_version;
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Breakdown_element_realization
SUBTYPE OF (Product_definition_element_relationship);
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Breakdown_element_usage
SUPERTYPE OF (ONEOF (Functional_element_usage, Hybrid_element_usage, 
Physical_element_usage, System_element_usage, Zone_element_usage))
SUBTYPE OF (View_definition_usage);
  name : STRING;
  SELF\View_definition_relationship.relating_view : 
  Breakdown_element_definition;
  SELF\View_definition_relationship.related_view : Breakdown_element_definition
  ;
DERIVE
  parent_element : Breakdown_element_definition := SELF\
  View_definition_relationship.relating_view;
  child_element : Breakdown_element_definition := SELF\
  View_definition_relationship.related_view;
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Breakdown_element_version
SUPERTYPE OF (ONEOF (Functional_element_version, Physical_element_version, 
System_element_version, Zone_element_version))
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Breakdown_element;
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Breakdown_of;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  breakdown : Breakdown_version;
  of_view : Product_view_definition;
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Breakdown_version
SUPERTYPE OF (ONEOF (Functional_breakdown_version, Hybrid_breakdown_version, 
Physical_breakdown_version, System_breakdown_version, Zone_breakdown_version))
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Breakdown;
INVERSE
  breakdown_of : SET [1:?] OF Breakdown_of FOR breakdown;
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Calendar_date;
  year_component : year_number;
  month_component : month_in_year_number;
  day_component : day_in_month_number;
END_ENTITY; (* declared in: Date_time_arm *)
 
ENTITY Cartesian_point
SUBTYPE OF (Detailed_geometric_model_element);
  coordinates :  LIST [1:3] OF length_measure;
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Cartesian_transformation_2d
SUBTYPE OF (Detailed_geometric_model_element);
  multiplication_matrix :  ARRAY [1 : 2] OF Direction;
  translation : Cartesian_point;
WHERE
  WR1 : SIZEOF(multiplication_matrix[1]\Direction.coordinates) = 2;
  WR2 : SIZEOF(multiplication_matrix[2]\Direction.coordinates) = 2;
  WR3 : SIZEOF(translation.coordinates) = 2;
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Cartesian_transformation_3d
SUBTYPE OF (Detailed_geometric_model_element);
  multiplication_matrix :  ARRAY [1 : 3] OF Direction;
  translation : Cartesian_point;
WHERE
  WR1 : SIZEOF(multiplication_matrix[1]\Direction.coordinates) = 3;
  WR2 : SIZEOF(multiplication_matrix[2]\Direction.coordinates) = 3;
  WR3 : SIZEOF(multiplication_matrix[3]\Direction.coordinates) = 3;
  WR4 : SIZEOF(translation.coordinates) = 3;
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Certification;
  name : STRING;
  description :  OPTIONAL STRING;
  kind : STRING;
END_ENTITY; (* declared in: Certification_arm *)
 
ENTITY Certification_assignment;
  assigned_certification : Certification;
  items : SET [1:?] OF certification_item;
  role : STRING;
END_ENTITY; (* declared in: Certification_arm *)
 
ENTITY Characterizable_object;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Shape_property_assignment_arm *)
 
ENTITY Class
SUPERTYPE OF (ONEOF (Class_by_extension, Class_by_intension));
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Class_arm *)
 
ENTITY Class_by_extension
SUBTYPE OF (Class);
END_ENTITY; (* declared in: Class_arm *)
 
ENTITY Class_by_intension
SUBTYPE OF (Class);
END_ENTITY; (* declared in: Class_arm *)
 
ENTITY Classification_assignment;
  assigned_class : Class;
  items : SET [1:?] OF classification_item;
  role :  OPTIONAL STRING;
END_ENTITY; (* declared in: Classification_assignment_arm *)
 
ENTITY Complement;
  id : STRING;
  name : STRING;
  description : STRING;
  set_1 : Class;
  set_2 : Class;
  universe : Class;
END_ENTITY; (* declared in: Set_theory_arm *)
 
ENTITY Component_upper_level_identification
SUBTYPE OF (Assembly_component_relationship);
  upper_assembly_relationship : Assembly_component_relationship;
  sub_assembly_relationship : Next_assembly_usage;
UNIQUE
  UR1 : upper_assembly_relationship, sub_assembly_relationship;
WHERE
  WR1 : SELF :<>: upper_assembly_relationship;
  WR2 : SELF\View_definition_relationship.relating_view :=: 
    upper_assembly_relationship\View_definition_relationship.relating_view;
  WR3 : SELF\View_definition_relationship.related_view :=: 
    sub_assembly_relationship\View_definition_relationship.related_view;
  WR4 : (upper_assembly_relationship\View_definition_relationship.related_view
     :=: sub_assembly_relationship\View_definition_relationship.relating_view) 
    OR (SIZEOF(QUERY(pdr <* USEDIN(upper_assembly_relationship\
    View_definition_relationship.related_view, 
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.VIEW_DEFINITION_RELATIONSHIP.RELATED_VIEW'
    ) | pdr.relating_view :=: sub_assembly_relationship\
    View_definition_relationship.relating_view)) = 1);
  WR5 : SIZEOF(['AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.NEXT_ASSEMBLY_USAGE', 
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.COMPONENT_UPPER_LEVEL_IDENTIFICATION'
    ] * TYPEOF(upper_assembly_relationship)) = 1;
END_ENTITY; (* declared in: Assembly_structure_arm *)
 
ENTITY Composition_of_state
SUBTYPE OF (State_relationship);
DERIVE
  whole : SET [1:?] OF State := SELF\State_relationship.relating;
  part : SET [1:?] OF State := SELF\State_relationship.related;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY Composition_of_state_definition
SUBTYPE OF (State_definition_relationship);
DERIVE
  whole : SET [1:?] OF State_definition := SELF\State_definition_relationship.
  relating;
  part : SET [1:?] OF State_definition := SELF\State_definition_relationship.
  related;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY Concurrent_elements
SUBTYPE OF (Structured_task_element);
  elements : SET [2:?] OF Task_element;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Condition;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Condition_arm *)
 
ENTITY Condition_assignment;
  assigned_condition : Condition;
  item : condition_item;
END_ENTITY; (* declared in: Condition_arm *)
 
ENTITY Condition_evaluation;
  name : STRING;
  description :  OPTIONAL STRING;
  result : LOGICAL;
  condition : Condition;
END_ENTITY; (* declared in: Condition_evaluation_arm *)
 
ENTITY Condition_evaluation_assignment;
  assigned_condition_evaluation : Condition_evaluation;
  item : condition_evaluation_item;
END_ENTITY; (* declared in: Condition_evaluation_arm *)
 
ENTITY Condition_evaluation_parameter;
  name : STRING;
  description :  OPTIONAL STRING;
  condition_evaluation : Condition_evaluation;
  evaluation_parameter : condition_evaluation_parameter_item;
END_ENTITY; (* declared in: Condition_evaluation_arm *)
 
ENTITY Condition_parameter;
  name : STRING;
  description :  OPTIONAL STRING;
  condition : Condition;
  parameter :  OPTIONAL condition_parameter_item;
END_ENTITY; (* declared in: Condition_arm *)
 
ENTITY Condition_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating_condition : Condition;
  related_condition : Condition;
END_ENTITY; (* declared in: Condition_arm *)
 
ENTITY Content_item;
  item_identifier : STRING;
  item_type : STRING;
  access_comment :  OPTIONAL STRING;
END_ENTITY; (* declared in: Message_arm *)
 
ENTITY Context_dependent_unit
SUBTYPE OF (Unit);
WHERE
  WR1 : EXISTS(SELF\Unit.name);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Contextual_item_shape
SUBTYPE OF (Item_shape);
  SELF\Item_shape.described_element : View_definition_usage;
DERIVE
  shaped_product : Product_view_definition := described_element\
  View_definition_relationship.related_view;
END_ENTITY; (* declared in: Shape_property_assignment_arm *)
 
ENTITY Contextual_shape_representation_inclusion;
  contextual_shape : Contextual_item_shape;
  context_representation : Geometric_model;
  positioned_representation : template_instance;
END_ENTITY; (* declared in: Contextual_shape_positioning_arm *)
 
ENTITY Contract;
  id : STRING;
  purpose : STRING;
  kind : STRING;
END_ENTITY; (* declared in: Contract_arm *)
 
ENTITY Contract_assignment;
  assigned_contract : Contract;
  items : SET [1:?] OF contract_item;
END_ENTITY; (* declared in: Contract_arm *)
 
ENTITY Conversion_based_unit
SUBTYPE OF (Unit);
  conversion_factor : Value_with_unit;
WHERE
  WR1 : EXISTS(SELF\Unit.name);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Date_or_date_time_assignment;
  assigned_date : date_or_date_time_select;
  role : STRING;
  items : SET [1:?] OF date_or_date_time_item;
END_ENTITY; (* declared in: Date_time_assignment_arm *)
 
ENTITY Date_time;
  date_component : Calendar_date;
  time_component : Local_time;
END_ENTITY; (* declared in: Date_time_arm *)
 
ENTITY Dated_effectivity
SUBTYPE OF (Effectivity);
  start_bound : date_or_event;
  end_bound :  OPTIONAL date_or_event;
END_ENTITY; (* declared in: Effectivity_arm *)
 
ENTITY Decision_point
SUBTYPE OF (Structured_task_element);
  condition : Condition;
  true_case_element :  OPTIONAL Task_element;
  false_case_element :  OPTIONAL Task_element;
  unknown_case_element :  OPTIONAL Task_element;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Decreasing_resource_event
SUBTYPE OF (Resource_event);
END_ENTITY; (* declared in: Resource_management_arm *)
 
ENTITY Defined_state_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  definitive_state : State_assertion;
  defined_state : State_assessment;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY Derived_unit
SUBTYPE OF (Unit);
  elements : SET [1:?] OF Derived_unit_element;
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Derived_unit_element;
  base_unit : Unit;
  exponent : REAL;
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Descriptive_document_property
SUBTYPE OF (String_representation_item);
INVERSE
  valued_characteristic : SET [1:1] OF Document_property_representation FOR 
  items;
END_ENTITY; (* declared in: Document_properties_arm *)
 
ENTITY Detailed_geometric_model_element
ABSTRACT SUPERTYPE OF (ONEOF (Cartesian_point, Direction, Axis_placement, 
Cartesian_transformation_2d, Cartesian_transformation_3d))
SUBTYPE OF (Representation_item);
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Digital_document_definition
SUBTYPE OF (Document_definition);
  files : SET OF Digital_file;
END_ENTITY; (* declared in: Document_definition_arm *)
 
ENTITY Digital_file
SUBTYPE OF (File);
END_ENTITY; (* declared in: File_identification_arm *)
 
ENTITY Directed_activity
SUBTYPE OF (Activity);
  directive : Work_order;
END_ENTITY; (* declared in: Work_order_arm *)
 
ENTITY Direction
SUBTYPE OF (Detailed_geometric_model_element);
  coordinates :  LIST [2:3] OF length_measure;
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Distribution_by_value
SUBTYPE OF (Probability_distribution);
  defined_function : Value_function;
  distribution_function : STRING;
END_ENTITY; (* declared in: Probability_distribution_arm *)
 
ENTITY Document
SUBTYPE OF (Product);
END_ENTITY; (* declared in: Document_and_version_identification_arm *)
 
ENTITY Document_assignment;
  assigned_document : assigned_document_select;
  is_assigned_to : documented_element_select;
  role : STRING;
END_ENTITY; (* declared in: Document_assignment_arm *)
 
ENTITY Document_definition
SUPERTYPE OF (ONEOF (Digital_document_definition, Physical_document_definition)
)
SUBTYPE OF (Product_view_definition);
  SELF\Product_view_definition.defined_version : Document_version;
DERIVE
  description : STRING := SELF\Product_view_definition.name;
  associated_document_version : Document_version := SELF\
  Product_view_definition.defined_version;
END_ENTITY; (* declared in: Document_definition_arm *)
 
ENTITY Document_definition_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_document_definition : Document_definition;
  related_document_definition : Document_definition;
WHERE
  WR1 : relating_document_definition :<>: related_document_definition;
END_ENTITY; (* declared in: Document_structure_arm *)
 
ENTITY Document_location_identification
SUBTYPE OF (External_source_identification);
WHERE
  WR1 : 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.DOCUMENT_DEFINITION' IN TYPEOF
    (SELF\External_source_identification.item);
END_ENTITY; (* declared in: Document_definition_arm *)
 
ENTITY Document_property_representation
SUBTYPE OF (Representation);
  SELF\Representation.items : SET [1:?] OF descriptive_or_numerical;
WHERE
  WR1 : SIZEOF(QUERY(pr <* USEDIN(SELF, 
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PROPERTY_REPRESENTATION.REP') | 
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.ASSIGNED_PROPERTY' IN TYPEOF(pr.
    property))) > 0;
  WR2 : SELF\Representation.context_of_items.kind = 'document parameters';
  WR3 : valid_document_property_representation(SELF);
  WR4 : SIZEOF(QUERY(it1 <* SELF\Representation.items | SIZEOF(QUERY(it2 <* 
    SELF\Representation.items | it1.name = it2.name)) > 1)) = 0;
END_ENTITY; (* declared in: Document_properties_arm *)
 
ENTITY Document_version
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Document;
END_ENTITY; (* declared in: Document_and_version_identification_arm *)
 
ENTITY Duration
SUBTYPE OF (Value_with_unit);
WHERE
  WR1 : 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.' + 'TIME_UNIT' IN TYPEOF(SELF
    \Value_with_unit.unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Effectivity
SUPERTYPE OF (ONEOF (Serial_effectivity, Dated_effectivity, Lot_effectivity, 
Time_interval_effectivity));
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Effectivity_arm *)
 
ENTITY Effectivity_assignment;
  assigned_effectivity : Effectivity;
  role : STRING;
  items : SET [1:?] OF effectivity_item;
END_ENTITY; (* declared in: Effectivity_application_arm *)
 
ENTITY Effectivity_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_effectivity : Effectivity;
  related_effectivity : Effectivity;
END_ENTITY; (* declared in: Effectivity_arm *)
 
ENTITY Electric_current_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Element_constraint
SUBTYPE OF (Task_element_relationship);
  applies_in :  OPTIONAL constraint_context;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY End_task
SUBTYPE OF (Task_element);
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Envelope;
  id : STRING;
  acknowledge :  OPTIONAL STRING;
  wrapping :  OPTIONAL Message;
END_ENTITY; (* declared in: Envelope_arm *)
 
ENTITY Envelope_relationship;
  relating : Envelope;
  related : Envelope;
  relation_type :  OPTIONAL STRING;
END_ENTITY; (* declared in: Envelope_arm *)
 
ENTITY Event;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  actual_start_date :  OPTIONAL date_or_date_time_select;
  planned_start_date :  OPTIONAL date_or_date_time_select;
END_ENTITY; (* declared in: Event_arm *)
 
ENTITY Event_assignment;
  assigned_event : Event;
  items : SET [1:?] OF event_item;
  role : STRING;
END_ENTITY; (* declared in: Event_assignment_arm *)
 
ENTITY Event_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_event : Event;
  related_event : Event;
END_ENTITY; (* declared in: Event_arm *)
 
ENTITY Exit_loop
SUBTYPE OF (Task_element);
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Experience_gained;
  experience_of : Experience_instance;
  gained_by : person_or_organization_or_person_in_organization_select;
  role :  OPTIONAL STRING;
END_ENTITY; (* declared in: Experience_arm *)
 
ENTITY Experience_instance;
  description :  OPTIONAL STRING;
  is_defined_by : Experience_type;
  consists_of :  OPTIONAL defined_activities;
END_ENTITY; (* declared in: Experience_arm *)
 
ENTITY Experience_type;
  name : STRING;
  description :  OPTIONAL STRING;
  consists_of :  OPTIONAL defined_methods;
END_ENTITY; (* declared in: Experience_arm *)
 
ENTITY Experience_type_relationship;
  compound_experience : Experience_type;
  component_experience : Experience_type;
END_ENTITY; (* declared in: Experience_arm *)
 
ENTITY External_class
SUBTYPE OF (Class);
  external_source : External_class_library;
END_ENTITY; (* declared in: External_class_arm *)
 
ENTITY External_class_library;
  id : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: External_class_arm *)
 
ENTITY External_geometric_model
SUBTYPE OF (Geometric_model);
  SELF\Representation.items : SET [1:1] OF Axis_placement;
  external_file : Digital_file;
WHERE
  WR1 : SELF\Representation.context_of_items.dimension_count = 3;
  WR2 : SELF\Representation.context_of_items.kind = 'external';
END_ENTITY; (* declared in: External_model_arm *)
 
ENTITY External_item_identification
SUBTYPE OF (External_source_identification);
  external_id : STRING;
END_ENTITY; (* declared in: External_item_identification_assignment_arm *)
 
ENTITY External_source_identification;
  source_id : STRING;
  source_type : STRING;
  item : external_identification_item;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: External_item_identification_assignment_arm *)
 
ENTITY File
ABSTRACT SUPERTYPE OF (ONEOF (Digital_file, Hardcopy));
  id : STRING;
  version :  OPTIONAL STRING;
  contained_data_type :  OPTIONAL STRING;
END_ENTITY; (* declared in: File_identification_arm *)
 
ENTITY File_location_identification
SUBTYPE OF (External_item_identification);
WHERE
  WR1 : 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.FILE' IN TYPEOF(SELF\
    External_source_identification.item);
END_ENTITY; (* declared in: File_identification_arm *)
 
ENTITY File_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_document_file : File;
  related_document_file : File;
WHERE
  WR1 : relating_document_file :<>: related_document_file;
END_ENTITY; (* declared in: Document_structure_arm *)
 
ENTITY Function_value_pair;
  function_value : Probability_function_value;
  variable_value : Random_variable;
END_ENTITY; (* declared in: Probability_distribution_arm *)
 
ENTITY Functional_breakdown
SUBTYPE OF (Breakdown);
END_ENTITY; (* declared in: Functional_breakdown_arm *)
 
ENTITY Functional_breakdown_context
SUBTYPE OF (Breakdown_context);
  SELF\Breakdown_context.breakdown : Functional_breakdown_version;
  SELF\Breakdown_context.breakdown_element : Functional_element_definition;
END_ENTITY; (* declared in: Functional_breakdown_arm *)
 
ENTITY Functional_breakdown_version
SUBTYPE OF (Breakdown_version);
  SELF\Breakdown_version.of_product : Functional_breakdown;
END_ENTITY; (* declared in: Functional_breakdown_arm *)
 
ENTITY Functional_element
SUBTYPE OF (Breakdown_element);
END_ENTITY; (* declared in: Functional_breakdown_arm *)
 
ENTITY Functional_element_definition
SUBTYPE OF (Breakdown_element_definition);
  SELF\Breakdown_element_definition.defined_version : 
  Functional_element_version;
END_ENTITY; (* declared in: Functional_breakdown_arm *)
 
ENTITY Functional_element_usage
SUBTYPE OF (Breakdown_element_usage);
  SELF\View_definition_relationship.relating_view : 
  Functional_element_definition;
  SELF\View_definition_relationship.related_view : 
  Functional_element_definition;
END_ENTITY; (* declared in: Functional_breakdown_arm *)
 
ENTITY Functional_element_version
SUBTYPE OF (Breakdown_element_version);
  SELF\Breakdown_element_version.of_product : Functional_element;
END_ENTITY; (* declared in: Functional_breakdown_arm *)
 
ENTITY Geometric_coordinate_space
SUBTYPE OF (Numerical_representation_context);
  dimension_count : INTEGER;
WHERE
  WR1 : dimension_count > 0;
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Geometric_model
SUBTYPE OF (Representation);
  version_id :  OPTIONAL STRING;
  model_extent :  OPTIONAL length_measure;
  SELF\Representation.context_of_items : Geometric_coordinate_space;
  SELF\Representation.items : SET [1:?] OF Detailed_geometric_model_element;
END_ENTITY; (* declared in: Elemental_geometric_shape_arm *)
 
ENTITY Global_location_representation
SUBTYPE OF (Location_representation);
  altitude :  OPTIONAL Value_with_unit;
  geographical_area :  OPTIONAL STRING;
  latitude : Value_with_unit;
  longitude : Value_with_unit;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Hardcopy
SUBTYPE OF (File);
END_ENTITY; (* declared in: File_identification_arm *)
 
ENTITY Hierarchical_interface_connection
SUBTYPE OF (Interface_connection);
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Hybrid_breakdown
SUBTYPE OF (Breakdown);
END_ENTITY; (* declared in: Hybrid_breakdown_arm *)
 
ENTITY Hybrid_breakdown_context
SUBTYPE OF (Breakdown_context);
  SELF\Breakdown_context.breakdown : Hybrid_breakdown_version;
END_ENTITY; (* declared in: Hybrid_breakdown_arm *)
 
ENTITY Hybrid_breakdown_version
SUBTYPE OF (Breakdown_version);
  SELF\Breakdown_version.of_product : Hybrid_breakdown;
END_ENTITY; (* declared in: Hybrid_breakdown_arm *)
 
ENTITY Hybrid_element_usage
SUBTYPE OF (Breakdown_element_usage);
END_ENTITY; (* declared in: Hybrid_breakdown_arm *)
 
ENTITY Identification_assignment;
  identifier : STRING;
  role : STRING;
  description :  OPTIONAL STRING;
  items : SET [1:?] OF identification_item;
END_ENTITY; (* declared in: Identification_assignment_arm *)
 
ENTITY In_zone;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  located_item : in_zone_item;
  zone : Zone_element_definition;
END_ENTITY; (* declared in: Zonal_breakdown_arm *)
 
ENTITY Increasing_resource_event
SUBTYPE OF (Resource_event);
END_ENTITY; (* declared in: Resource_management_arm *)
 
ENTITY Independent_property;
  id : STRING;
  property_type : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Independent_property_arm *)
 
ENTITY Independent_property_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating : Independent_property;
  related : Independent_property;
END_ENTITY; (* declared in: Independent_property_arm *)
 
ENTITY Independent_property_representation;
  description :  OPTIONAL STRING;
  property : Independent_property;
  rep : Representation;
  role :  OPTIONAL STRING;
END_ENTITY; (* declared in: Independent_property_representation_arm *)
 
ENTITY Information_right;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  restriction :  OPTIONAL STRING;
END_ENTITY; (* declared in: Information_rights_arm *)
 
ENTITY Information_usage_right;
  id : STRING;
  name : STRING;
  comment :  OPTIONAL STRING;
  grants_right : SET [1:?] OF Information_right;
END_ENTITY; (* declared in: Information_rights_arm *)
 
ENTITY Information_usage_right_relationship;
  relating : Information_usage_right;
  related : Information_usage_right;
  relation_type : STRING;
END_ENTITY; (* declared in: Information_rights_arm *)
 
ENTITY Interface_connection;
  id : STRING;
  description :  OPTIONAL STRING;
  connection_type : STRING;
  connecting : connection_items;
  connected : connection_items;
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_connector
SUBTYPE OF (Product);
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_connector_as_planned
SUBTYPE OF (Interface_connector_version);
END_ENTITY; (* declared in: Interface_lifecycle_arm *)
 
ENTITY Interface_connector_as_realized
SUBTYPE OF (Interface_connector_version);
END_ENTITY; (* declared in: Interface_lifecycle_arm *)
 
ENTITY Interface_connector_definition
SUBTYPE OF (Product_view_definition);
  connector_on : Product_view_definition;
  SELF\Product_view_definition.defined_version : Interface_connector_version;
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_connector_design
SUBTYPE OF (Interface_connector_version);
END_ENTITY; (* declared in: Interface_lifecycle_arm *)
 
ENTITY Interface_connector_design_to_planned;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  design : Interface_connector_design;
  planned : Interface_connector_as_planned;
END_ENTITY; (* declared in: Interface_lifecycle_arm *)
 
ENTITY Interface_connector_design_to_realized;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  design : Interface_connector_design;
  realized : Interface_connector_as_realized;
END_ENTITY; (* declared in: Interface_lifecycle_arm *)
 
ENTITY Interface_connector_occurrence;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  occurrence_of : Interface_connector_definition;
  connector_on : connector_on_item;
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_connector_planned_to_realized;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  planned : Interface_connector_as_planned;
  realized : Interface_connector_as_realized;
END_ENTITY; (* declared in: Interface_lifecycle_arm *)
 
ENTITY Interface_connector_version
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Interface_connector;
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_definition_connection;
  id : STRING;
  description :  OPTIONAL STRING;
  connection_type : STRING;
  connecting : connection_definition_items;
  connected : connection_definition_items;
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_definition_for;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  interface : Interface_specification_definition;
  interface_component : interface_definition_item;
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_specification
SUBTYPE OF (Product);
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_specification_definition
SUBTYPE OF (Product_view_definition);
  SELF\Product_view_definition.defined_version : 
  Interface_specification_version;
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Interface_specification_version
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Interface_specification;
END_ENTITY; (* declared in: Interface_arm *)
 
ENTITY Intersection;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  operand : SET [2:?] OF Class;
  resultant : Class;
END_ENTITY; (* declared in: Set_theory_arm *)
 
ENTITY Item_design_association;
  configuration : Product_configuration;
  design : version_or_definition;
UNIQUE
  UR1 : configuration, design;
END_ENTITY; (* declared in: Configuration_item_arm *)
 
ENTITY Item_shape;
  id :  OPTIONAL STRING;
  description :  OPTIONAL STRING;
  described_element : shapeable_item;
END_ENTITY; (* declared in: Shape_property_assignment_arm *)
 
ENTITY Item_usage_effectivity;
  effectivity_domain : Effectivity;
  item_usage_relationship : View_definition_usage;
  resolved_configuration : Item_design_association;
END_ENTITY; (* declared in: Configuration_effectivity_arm *)
 
ENTITY Justification;
  id : STRING;
  name :  OPTIONAL STRING;
  description : STRING;
  context_description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Justification_arm *)
 
ENTITY Justification_assignment;
  justification : Justification;
  description :  OPTIONAL STRING;
  item : justification_item;
  role : STRING;
END_ENTITY; (* declared in: Justification_arm *)
 
ENTITY Justification_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating_justification : Justification;
  related_justification : Justification;
END_ENTITY; (* declared in: Justification_arm *)
 
ENTITY Justification_support_assignment;
  justification : Justification;
  description :  OPTIONAL STRING;
  support_item : justification_support_item;
  role : STRING;
END_ENTITY; (* declared in: Justification_arm *)
 
ENTITY Language;
  language_code : STRING;
  country_code :  OPTIONAL STRING;
UNIQUE
  UR1 : language_code;
END_ENTITY; (* declared in: Multi_linguism_arm *)
 
ENTITY Language_indication;
  considered_instance : string_select;
  considered_attribute : STRING;
  used_language : Language;
END_ENTITY; (* declared in: Multi_linguism_arm *)
 
ENTITY Length_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Local_time;
  hour_component : hour_in_day;
  minute_component :  OPTIONAL minute_in_hour;
  second_component :  OPTIONAL second_in_minute;
  zone : Time_offset;
END_ENTITY; (* declared in: Date_time_arm *)
 
ENTITY Location;
  name : STRING;
  description :  OPTIONAL STRING;
  alternative_location_representations : SET OF Location_representation;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Location_assignment;
  description :  OPTIONAL STRING;
  role :  OPTIONAL STRING;
  entity_for_location : location_assignment_select;
  location_for_assignment : Location;
END_ENTITY; (* declared in: Location_assignment_arm *)
 
ENTITY Location_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Location;
  related : Location;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Location_representation
ABSTRACT SUPERTYPE OF (ONEOF (Address_based_location_representation, 
Global_location_representation, Organization_based_location_representation, 
Product_based_location_identification, Regional_grid_location_representation));
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Looping_element
SUPERTYPE OF (ONEOF (Repeat_count, Repeat_until, Repeat_while))
SUBTYPE OF (Structured_task_element);
  repeated_element : Task_element;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Lot_effectivity
SUBTYPE OF (Effectivity);
  lot_id : STRING;
  lot_size : Value_with_unit;
END_ENTITY; (* declared in: Effectivity_arm *)
 
ENTITY Luminous_intensity_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Make_from_relationship
SUBTYPE OF (View_definition_usage);
  SELF\View_definition_relationship.relating_view : Part_view_definition;
  SELF\View_definition_relationship.related_view : Part_view_definition;
  quantity :  OPTIONAL Value_with_unit;
  priority :  OPTIONAL INTEGER;
WHERE
  WR1 : SELF\View_definition_relationship.relating_view :<>: SELF\
    View_definition_relationship.related_view;
  WR2 : NOT EXISTS(quantity) XOR NOT ('NUMBER' IN TYPEOF(quantity.
    value_component)) XOR (quantity.value_component > 0);
END_ENTITY; (* declared in: Part_definition_relationship_arm *)
 
ENTITY Managed_resource;
  name : STRING;
  description :  OPTIONAL STRING;
  quantity :  OPTIONAL Value_with_unit;
  item : Resource_item;
END_ENTITY; (* declared in: Resource_management_arm *)
 
ENTITY Managed_resource_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Managed_resource;
  related : Managed_resource;
END_ENTITY; (* declared in: Resource_management_arm *)
 
ENTITY Mapping_based_template_instance
SUBTYPE OF (Detailed_geometric_model_element);
  replicated_model : shape_model;
  source : Axis_placement;
  target : geometric_mapping_target;
END_ENTITY; (* declared in: Contextual_shape_positioning_arm *)
 
ENTITY Market;
  name : STRING;
  market_segment_type :  OPTIONAL STRING;
END_ENTITY; (* declared in: Product_concept_identification_arm *)
 
ENTITY Mass_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Measure_item
ABSTRACT SUPERTYPE OF (ONEOF (Measure_item_with_precision, 
Numerical_item_with_global_unit, Numerical_item_with_unit, Value_limit, 
Value_limit_with_global_unit, Value_list, Value_range, 
Value_range_with_global_unit, Value_set, Value_with_tolerances))
SUBTYPE OF (Representation_item);
WHERE
  WR1 : SIZEOF(USEDIN(SELF, 
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.REPRESENTATION.ITEMS')) > 0;
END_ENTITY; (* declared in: Measure_representation_arm *)
 
ENTITY Measure_item_with_precision
SUBTYPE OF (Measure_item);
  significant_digits : INTEGER;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Message;
  id : STRING;
  message_type : STRING;
  contains : SET OF Content_item;
  defined_by :  OPTIONAL SET OF message_definer_select;
  purpose :  OPTIONAL STRING;
END_ENTITY; (* declared in: Message_arm *)
 
ENTITY Message_relationship;
  relating : Message;
  related : Message;
  relation_type : STRING;
END_ENTITY; (* declared in: Message_arm *)
 
ENTITY Name_assignment;
  name : STRING;
  role : STRING;
  items : assigned_name_select;
END_ENTITY; (* declared in: Name_assignment_arm *)
 
ENTITY Next_assembly_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY; (* declared in: Assembly_structure_arm *)
 
ENTITY Numerical_document_property
SUBTYPE OF (Numerical_item_with_unit);
INVERSE
  valued_characteristic : SET [1:1] OF Document_property_representation FOR 
  items;
END_ENTITY; (* declared in: Document_properties_arm *)
 
ENTITY Numerical_item_with_global_unit
SUBTYPE OF (Measure_item);
  value_component : measure_value;
WHERE
  WR1 : SIZEOF(QUERY(pvr <* QUERY(r <* USEDIN(SELF, 
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.REPRESENTATION.ITEMS') | 
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PROPERTY_VALUE_REPRESENTATION' IN 
    TYPEOF(r)) | EXISTS(pvr.context_of_items.units))) > 0;
END_ENTITY; (* declared in: Measure_representation_arm *)
 
ENTITY Numerical_item_with_unit
SUBTYPE OF (Measure_item, Value_with_unit);
END_ENTITY; (* declared in: Measure_representation_arm *)
 
ENTITY Numerical_representation_context
SUBTYPE OF (Representation_context);
  units :  OPTIONAL SET [1:?] OF Unit;
  accuracies :  OPTIONAL SET [1:?] OF Uncertainty_with_unit;
END_ENTITY; (* declared in: Foundation_representation_arm *)
 
ENTITY Observation;
  id : STRING;
  name : STRING;
  description : STRING;
  applies_to : SET OF Observation_item;
  in_context : SET OF observed_context;
  observed_by : SET OF observation_recorder;
  observed_during :  OPTIONAL Activity_actual;
  related_records : SET OF Observation_item;
END_ENTITY; (* declared in: Observation_arm *)
 
ENTITY Observation_consequence;
  id : STRING;
  name : STRING;
  infered_from : Observation;
  requests : Work_request;
  role : STRING;
END_ENTITY; (* declared in: Observation_arm *)
 
ENTITY Observation_item;
  access_comment : STRING;
  item_identifier : STRING;
  item_type : STRING;
END_ENTITY; (* declared in: Observation_arm *)
 
ENTITY Observation_relationship;
  relating : Observation;
  related : Observation;
  role : STRING;
END_ENTITY; (* declared in: Observation_arm *)
 
ENTITY Or_state_cause_effect_definition
SUBTYPE OF (State_cause_effect_definition);
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY Organization;
  id :  OPTIONAL STRING;
  name : STRING;
END_ENTITY; (* declared in: Person_organization_arm *)
 
ENTITY Organization_based_location_representation
SUBTYPE OF (Location_representation);
  location_identifications :  LIST OF Organizational_location_identification;
  organization_for_location : Organization;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Organization_or_person_in_organization_assignment;
  assigned_entity : organization_or_person_in_organization_select;
  role : STRING;
  items : SET [1:?] OF organization_or_person_in_organization_item;
END_ENTITY; (* declared in: Person_organization_assignment_arm *)
 
ENTITY Organization_organization_type_relationship;
  organization : Organization;
  organization_type : Organization_type;
END_ENTITY; (* declared in: Organization_type_arm *)
 
ENTITY Organization_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_organization : Organization;
  related_organization : Organization;
END_ENTITY; (* declared in: Person_organization_arm *)
 
ENTITY Organization_type;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Organization_type_arm *)
 
ENTITY Organizational_location_identification;
  identification_type : STRING;
  location_value : STRING;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Parameterized_distribution
SUBTYPE OF (Probability_distribution);
  has_parameters :  LIST [1:?] OF Probability_distribution_parameter;
  parameterization_name : STRING;
END_ENTITY; (* declared in: Probability_distribution_arm *)
 
ENTITY Part
SUBTYPE OF (Product);
WHERE
  WR1 : SIZEOF(['part', 'raw material', 'tool'] * types_of_product(SELF)) = 1;
END_ENTITY; (* declared in: Part_and_version_identification_arm *)
 
ENTITY Part_version
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Part;
END_ENTITY; (* declared in: Part_and_version_identification_arm *)
 
ENTITY Part_view_definition
SUBTYPE OF (Product_view_definition);
  SELF\Product_view_definition.defined_version : Part_version;
END_ENTITY; (* declared in: Part_view_definition_arm *)
 
ENTITY Partial_document_assignment
SUBTYPE OF (Document_assignment);
  document_portion : STRING;
END_ENTITY; (* declared in: Document_assignment_arm *)
 
ENTITY Person;
  last_name : STRING;
  first_name :  OPTIONAL STRING;
  middle_names :  OPTIONAL  LIST [1:?] OF STRING;
  prefix_titles :  OPTIONAL  LIST [1:?] OF STRING;
  suffix_titles :  OPTIONAL  LIST [1:?] OF STRING;
END_ENTITY; (* declared in: Person_organization_arm *)
 
ENTITY Person_in_organization;
  concerned_person : Person;
  containing_organization : Organization;
  role : STRING;
END_ENTITY; (* declared in: Person_organization_arm *)
 
ENTITY Person_or_organization_or_person_in_organization_in_position;
  name : STRING;
  description : STRING;
  person_or_organization : 
  position_person_or_organization_or_person_in_organization_select;
  position : Position;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY 
  Person_or_organization_or_person_in_organization_in_position_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Person_or_organization_or_person_in_organization_in_position;
  related : Person_or_organization_or_person_in_organization_in_position;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Physical_breakdown
SUBTYPE OF (Breakdown);
END_ENTITY; (* declared in: Physical_breakdown_arm *)
 
ENTITY Physical_breakdown_context
SUBTYPE OF (Breakdown_context);
  SELF\Breakdown_context.breakdown : Physical_breakdown_version;
  SELF\Breakdown_context.breakdown_element : Physical_element_definition;
END_ENTITY; (* declared in: Physical_breakdown_arm *)
 
ENTITY Physical_breakdown_version
SUBTYPE OF (Breakdown_version);
  SELF\Breakdown_version.of_product : Physical_breakdown;
END_ENTITY; (* declared in: Physical_breakdown_arm *)
 
ENTITY Physical_document_definition
SUBTYPE OF (Document_definition);
  components : SET OF Hardcopy;
END_ENTITY; (* declared in: Document_definition_arm *)
 
ENTITY Physical_element
SUBTYPE OF (Breakdown_element);
END_ENTITY; (* declared in: Physical_breakdown_arm *)
 
ENTITY Physical_element_definition
SUBTYPE OF (Breakdown_element_definition);
  SELF\Breakdown_element_definition.defined_version : Physical_element_version;
END_ENTITY; (* declared in: Physical_breakdown_arm *)
 
ENTITY Physical_element_usage
SUBTYPE OF (Breakdown_element_usage);
  SELF\View_definition_relationship.relating_view : Physical_element_definition
  ;
  SELF\View_definition_relationship.related_view : Physical_element_definition;
END_ENTITY; (* declared in: Physical_breakdown_arm *)
 
ENTITY Physical_element_version
SUBTYPE OF (Breakdown_element_version);
  SELF\Breakdown_element_version.of_product : Physical_element;
END_ENTITY; (* declared in: Physical_breakdown_arm *)
 
ENTITY Plane_angle_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Position;
  name : STRING;
  description :  OPTIONAL STRING;
  address :  OPTIONAL Address;
  position_context : position_context_item;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_assignment;
  items : SET [1:?] OF position_item;
  position : Position;
  role : Position_role;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_group;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_group_assignment;
  items : SET [1:?] OF position_group_item;
  position_group : Position_group;
  role : Position_group_role;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_group_relationship;
  group : Position_group;
  position : Position;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_group_role;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_position_type_assignment;
  assigned_position_type : Position_type;
  assigned_to : Position;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating_position : Position;
  related_position : Position;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_role;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_type;
  name : STRING;
  description :  OPTIONAL STRING;
  defined_by : Type_of_person;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_type_assignment;
  items : SET [1:?] OF position_type_item;
  position_type : Position_type;
  role : Position_type_role;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Position_type_role;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Position_in_organization_arm *)
 
ENTITY Power_set;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  base : Class;
  derived : Class;
END_ENTITY; (* declared in: Set_theory_arm *)
 
ENTITY Probability ABSTRACT SUPERTYPE
SUBTYPE OF (Representation);
END_ENTITY; (* declared in: Probability_arm *)
 
ENTITY Probability_by_name
SUBTYPE OF (Probability);
  SELF\Representation.items : SET [1:1] OF Probability_named_value;
DERIVE
  has_value : SET [1:1] OF Probability_named_value := SELF\Representation.items
  ;
END_ENTITY; (* declared in: Probability_arm *)
 
ENTITY Probability_derivation_parameter
SUBTYPE OF (Numerical_item_with_global_unit);
END_ENTITY; (* declared in: Probability_arm *)
 
ENTITY Probability_derived
SUBTYPE OF (Probability_numeric);
  derives_from : Probability_generator;
  has_parameter :  LIST [1:?] OF Probability_derivation_parameter;
END_ENTITY; (* declared in: Probability_arm *)
 
ENTITY Probability_distribution ABSTRACT SUPERTYPE
SUBTYPE OF (Probability_generator);
  distribution_name :  OPTIONAL STRING;
  is_continuous : STRING;
  mean : REAL;
  variance : REAL;
END_ENTITY; (* declared in: Probability_distribution_arm *)
 
ENTITY Probability_distribution_parameter
SUBTYPE OF (Numerical_item_with_global_unit);
END_ENTITY; (* declared in: Probability_distribution_arm *)
 
ENTITY Probability_function_value
SUBTYPE OF (Numerical_item_with_global_unit);
END_ENTITY; (* declared in: Probability_distribution_arm *)
 
ENTITY Probability_generator ABSTRACT SUPERTYPE
SUBTYPE OF (Representation);
END_ENTITY; (* declared in: Probability_arm *)
 
ENTITY Probability_named_value
SUBTYPE OF (Representation_item);
END_ENTITY; (* declared in: Probability_arm *)
 
ENTITY Probability_numeric
SUBTYPE OF (Probability);
  SELF\Representation.items : SET [1:1] OF Probability_numeric_value;
DERIVE
  has_value : SET [1:1] OF Probability_numeric_value := SELF\Representation.
  items;
END_ENTITY; (* declared in: Probability_arm *)
 
ENTITY Probability_numeric_value
SUBTYPE OF (Numerical_item_with_global_unit);
END_ENTITY; (* declared in: Probability_arm *)
 
ENTITY Product
ABSTRACT SUPERTYPE OF (ONEOF (Attachment_slot, Breakdown, Breakdown_element, 
Document, Interface_connector, Interface_specification, Part, 
Product_as_individual, Requirement));
  id : STRING;
  name :  OPTIONAL STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Product_identification_arm *)
 
ENTITY Product_as_individual
SUBTYPE OF (Product);
END_ENTITY; (* declared in: Product_as_individual_arm *)
 
ENTITY Product_as_individual_effectivity
SUBTYPE OF (Effectivity);
  items : SET [1:?] OF Product_as_individual;
END_ENTITY; (* declared in: Ap239_part_definition_information_arm *)
 
ENTITY Product_as_individual_version
ABSTRACT SUPERTYPE OF (ONEOF (Product_as_planned, Product_as_realized))
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Product_as_individual;
END_ENTITY; (* declared in: Product_as_individual_arm *)
 
ENTITY Product_as_individual_view
SUBTYPE OF (Product_view_definition);
  SELF\Product_view_definition.defined_version : Product_as_individual_version;
END_ENTITY; (* declared in: Product_as_individual_arm *)
 
ENTITY Product_as_planned
SUBTYPE OF (Product_as_individual_version);
END_ENTITY; (* declared in: Product_as_individual_arm *)
 
ENTITY Product_as_realized
SUBTYPE OF (Product_as_individual_version);
END_ENTITY; (* declared in: Product_as_individual_arm *)
 
ENTITY Product_based_location_identification
SUBTYPE OF (Location_representation);
  location_identification : STRING;
  location_name :  OPTIONAL STRING;
  referenced_product : product_based_location_representation;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Product_category;
  id :  OPTIONAL STRING;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Product_categorization_arm *)
 
ENTITY Product_category_assignment;
  category : Product_category;
  products : SET [1:?] OF Product;
END_ENTITY; (* declared in: Product_identification_arm *)
 
ENTITY Product_category_hierarchy;
  super_category : Product_category;
  sub_category : Product_category;
END_ENTITY; (* declared in: Product_categorization_arm *)
 
ENTITY Product_concept;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  target_market :  OPTIONAL Market;
UNIQUE
  UR1 : id;
END_ENTITY; (* declared in: Product_concept_identification_arm *)
 
ENTITY Product_configuration;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  item_context : Product_concept;
INVERSE
  corresponding_design : SET [0:1] OF Item_design_association FOR configuration
  ;
END_ENTITY; (* declared in: Configuration_item_arm *)
 
ENTITY Product_definition_element_relationship;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  breakdown : breakdown_item;
  product : product_item;
END_ENTITY; (* declared in: Product_breakdown_arm *)
 
ENTITY Product_design_to_individual;
  product_design : Product;
  individual_product : Product_as_individual;
END_ENTITY; (* declared in: Product_as_individual_arm *)
 
ENTITY Product_design_version_to_individual;
  product_design_version : Product_version;
  individual_product : Product_as_individual_version;
END_ENTITY; (* declared in: Product_as_individual_arm *)
 
ENTITY Product_group;
  id : STRING;
  description :  OPTIONAL STRING;
  purpose : STRING;
  membership_rule :  OPTIONAL STRING;
  product_group_context :  OPTIONAL STRING;
END_ENTITY; (* declared in: Product_group_arm *)
 
ENTITY Product_group_membership;
  member : product_select;
  of_group : Product_group;
END_ENTITY; (* declared in: Product_group_arm *)
 
ENTITY Product_group_relationship;
  description :  OPTIONAL STRING;
  relating : Product_group;
  related : Product_group;
  role :  OPTIONAL STRING;
END_ENTITY; (* declared in: Product_group_arm *)
 
ENTITY Product_in_attachment_slot
SUBTYPE OF (View_definition_usage);
  name : STRING;
  SELF\View_definition_relationship.related_view : Attachment_slot_definition;
DERIVE
  attachment_slot : Attachment_slot_definition := SELF\
  View_definition_relationship.related_view;
  product : Product_view_definition := SELF\View_definition_relationship.
  relating_view;
END_ENTITY; (* declared in: Attachment_slot_arm *)
 
ENTITY Product_planned_to_realized;
  planned_product : Product_as_planned;
  realized_product : Product_as_realized;
END_ENTITY; (* declared in: Product_as_individual_arm *)
 
ENTITY Product_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_product : Product;
  related_product : Product;
END_ENTITY; (* declared in: Product_relationship_arm *)
 
ENTITY Product_version
ABSTRACT SUPERTYPE OF (ONEOF (Attachment_slot_version, 
Breakdown_element_version, Breakdown_version, Document_version, 
Interface_connector_version, Interface_specification_version, Part_version, 
Product_as_individual_version, Requirement_version));
  id : STRING;
  description :  OPTIONAL STRING;
  of_product : Product;
END_ENTITY; (* declared in: Product_version_arm *)
 
ENTITY Product_version_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_version : Product_version;
  related_version : Product_version;
WHERE
  WR1 : relating_version :<>: related_version;
END_ENTITY; (* declared in: Product_version_relationship_arm *)
 
ENTITY Product_view_definition
SUPERTYPE OF (ONEOF (Attachment_slot_definition, Breakdown_element_definition, 
Interface_connector_definition, Interface_specification_definition, 
Part_view_definition, Product_as_individual_view, Requirement_view_definition))
  ;
  id : STRING;
  name :  OPTIONAL STRING;
  additional_characterization :  OPTIONAL STRING;
  initial_context : View_definition_context;
  additional_contexts : SET OF View_definition_context;
  defined_version : Product_version;
WHERE
  WR1 : NOT (initial_context IN additional_contexts);
END_ENTITY; (* declared in: Product_view_definition_arm *)
 
ENTITY Project;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  responsible_organizations : SET OF Organization;
  planned_start_date :  OPTIONAL date_or_event;
  planned_end_date :  OPTIONAL date_or_event;
  actual_start_date :  OPTIONAL date_or_date_time_select;
  actual_end_date :  OPTIONAL date_or_date_time_select;
END_ENTITY; (* declared in: Project_arm *)
 
ENTITY Project_assignment;
  assigned_project : Project;
  role : STRING;
  items : SET OF project_item;
END_ENTITY; (* declared in: Project_arm *)
 
ENTITY Project_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating_project : Project;
  related_project : Project;
END_ENTITY; (* declared in: Project_arm *)
 
ENTITY Promissory_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY; (* declared in: Assembly_structure_arm *)
 
ENTITY Proper_subset;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  subset : Class;
  superset : Class;
END_ENTITY; (* declared in: Set_theory_arm *)
 
ENTITY Property_representation;
  description :  OPTIONAL STRING;
  property : Assigned_property;
  rep : Representation;
  role :  OPTIONAL STRING;
END_ENTITY; (* declared in: Property_assignment_arm *)
 
ENTITY Property_value_representation
SUBTYPE OF (Representation);
  SELF\Representation.context_of_items : Numerical_representation_context;
END_ENTITY; (* declared in: Measure_representation_arm *)
 
ENTITY Qualification_assignment;
  assigned_qualification_type : Qualification_type;
  received_by : qualifications_select;
END_ENTITY; (* declared in: Qualifications_arm *)
 
ENTITY Qualification_type;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Qualifications_arm *)
 
ENTITY Qualification_type_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Qualification_type;
  related : Qualification_type;
END_ENTITY; (* declared in: Qualifications_arm *)
 
ENTITY Qualified_property_value_representation
SUBTYPE OF (Property_value_representation);
  value_determination :  OPTIONAL STRING;
  qualifier :  OPTIONAL STRING;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Random_variable
SUBTYPE OF (Numerical_item_with_global_unit);
END_ENTITY; (* declared in: Probability_distribution_arm *)
 
ENTITY Ratio_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Regional_coordinate;
  name : STRING;
  coordinate_value : Value_with_unit;
  grid_system : Regional_grid_location_representation;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Regional_grid_location_representation
SUBTYPE OF (Location_representation);
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Location_arm *)
 
ENTITY Related_condition_parameter;
  name : STRING;
  description :  OPTIONAL STRING;
  conditon_evaluation_parameter : Condition_evaluation_parameter;
  condition_parameter : Condition_parameter;
END_ENTITY; (* declared in: Condition_evaluation_arm *)
 
ENTITY Relative_event
SUBTYPE OF (Event);
  base_event : Event;
  offset : Duration;
END_ENTITY; (* declared in: Event_arm *)
 
ENTITY Repeat_count
SUBTYPE OF (Looping_element);
  count : INTEGER;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Repeat_until
SUBTYPE OF (Looping_element);
  condition : Condition;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Repeat_while
SUBTYPE OF (Looping_element);
  condition : Condition;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Representation;
  id :  OPTIONAL STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  context_of_items : Representation_context;
  items : SET [1:?] OF Representation_item;
END_ENTITY; (* declared in: Foundation_representation_arm *)
 
ENTITY Representation_context;
  id : STRING;
  kind : STRING;
INVERSE
  representations_in_context : SET [1:?] OF Representation FOR context_of_items
  ;
END_ENTITY; (* declared in: Foundation_representation_arm *)
 
ENTITY Representation_item ABSTRACT SUPERTYPE;
  name : STRING;
END_ENTITY; (* declared in: Foundation_representation_arm *)
 
ENTITY Representation_relationship;
  relation_type : STRING;
  description : STRING;
  rep_1 : Representation;
  rep_2 : Representation;
END_ENTITY; (* declared in: Foundation_representation_arm *)
 
ENTITY Required_resource
ABSTRACT SUPERTYPE OF (ONEOF (Required_resource_by_resource_item, 
Required_resource_by_specification));
  name : STRING;
  description :  OPTIONAL STRING;
  required_quantity :  OPTIONAL Value_with_unit;
END_ENTITY; (* declared in: Required_resource_arm *)
 
ENTITY Required_resource_assignment;
  assigned_resource : Required_resource;
  item : required_resource_item;
END_ENTITY; (* declared in: Required_resource_arm *)
 
ENTITY Required_resource_by_resource_item
SUBTYPE OF (Required_resource);
  resource_item : Resource_item;
END_ENTITY; (* declared in: Required_resource_arm *)
 
ENTITY Required_resource_by_specification
SUBTYPE OF (Required_resource);
END_ENTITY; (* declared in: Required_resource_arm *)
 
ENTITY Required_resource_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Required_resource;
  related : Required_resource;
END_ENTITY; (* declared in: Required_resource_arm *)
 
ENTITY Requirement
SUBTYPE OF (Product);
END_ENTITY; (* declared in: Requirement_identification_and_version_arm *)
 
ENTITY Requirement_assignment;
  id : STRING;
  description :  OPTIONAL STRING;
  assigned_requirement : Requirement_view_definition;
  assigned_to : requirement_assignment_item;
END_ENTITY; (* declared in: Requirement_assignment_arm *)
 
ENTITY Requirement_collection_relationship
SUBTYPE OF (View_definition_relationship);
  SELF\View_definition_relationship.relating_view : Requirement_view_definition
  ;
  SELF\View_definition_relationship.related_view : Requirement_view_definition;
DERIVE
  collection : Requirement_view_definition := SELF\View_definition_relationship
  .relating_view;
  member : Requirement_view_definition := SELF\View_definition_relationship.
  related_view;
END_ENTITY; (* declared in: Requirement_view_definition_relationship_arm *)
 
ENTITY Requirement_source;
  id : STRING;
  description :  OPTIONAL STRING;
  source : requirement_source_item;
  sourced_requirement : Requirement_view_definition;
END_ENTITY; (* declared in: Requirement_assignment_arm *)
 
ENTITY Requirement_version
SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Requirement;
END_ENTITY; (* declared in: Requirement_identification_and_version_arm *)
 
ENTITY Requirement_version_relationship
SUBTYPE OF (Product_version_relationship);
  SELF\Product_version_relationship.relating_version : Requirement_version;
  SELF\Product_version_relationship.related_version : Requirement_version;
DERIVE
  predecessor : Requirement_version := SELF\Product_version_relationship.
  relating_version;
  successor : Requirement_version := SELF\Product_version_relationship.
  related_version;
END_ENTITY; (* declared in: Requirement_identification_and_version_arm *)
 
ENTITY Requirement_view_definition
SUBTYPE OF (Product_view_definition);
  SELF\Product_view_definition.defined_version : Requirement_version;
END_ENTITY; (* declared in: Requirement_view_definition_arm *)
 
ENTITY Resource_as_realized;
  name : STRING;
  description :  OPTIONAL STRING;
  quantity :  OPTIONAL Value_with_unit;
END_ENTITY; (* declared in: Resource_as_realized_arm *)
 
ENTITY Resource_as_realized_assignment;
  assigned_resource : Resource_as_realized;
  item : resource_as_realized_item;
END_ENTITY; (* declared in: Resource_as_realized_arm *)
 
ENTITY Resource_as_realized_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Resource_as_realized;
  related : resource_as_realized_relationship_select;
END_ENTITY; (* declared in: Resource_as_realized_arm *)
 
ENTITY Resource_as_realized_resource_item
SUBTYPE OF (Resource_as_realized);
  resource_item : Resource_item;
END_ENTITY; (* declared in: Resource_as_realized_arm *)
 
ENTITY Resource_event ABSTRACT SUPERTYPE;
  name : STRING;
  description :  OPTIONAL STRING;
  quantity :  OPTIONAL Value_with_unit;
  resource : Managed_resource;
END_ENTITY; (* declared in: Resource_management_arm *)
 
ENTITY Resource_event_correspondence_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Resource_event;
  related : Required_resource;
END_ENTITY; (* declared in: Resource_management_arm *)
 
ENTITY Resource_event_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Resource_event;
  related : Resource_event;
END_ENTITY; (* declared in: Resource_management_arm *)
 
ENTITY Resource_group_relationship
SUBTYPE OF (Resource_item_relationship);
  quantity :  OPTIONAL Value_with_unit;
END_ENTITY; (* declared in: Resource_item_arm *)
 
ENTITY Resource_item;
  name : STRING;
  description :  OPTIONAL STRING;
  resource_items :  OPTIONAL SET OF resource_item_select;
END_ENTITY; (* declared in: Resource_item_arm *)
 
ENTITY Resource_item_assignment;
  assigned_resource : Resource_item;
  item : resource_assignment_item;
END_ENTITY; (* declared in: Resource_item_arm *)
 
ENTITY Resource_item_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Resource_item;
  related : Resource_item;
END_ENTITY; (* declared in: Resource_item_arm *)
 
ENTITY Resource_property;
  name : STRING;
  description : STRING;
  described_element : characterized_resource_select;
END_ENTITY; (* declared in: Resource_property_assignment_arm *)
 
ENTITY Resource_property_representation;
  description :  OPTIONAL STRING;
  property : Resource_property;
  rep : Representation;
  role : STRING;
END_ENTITY; (* declared in: Resource_property_assignment_arm *)
 
ENTITY Same_membership;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  set_1 : Class;
  set_2 : Class;
END_ENTITY; (* declared in: Set_theory_arm *)
 
ENTITY Scheme
SUBTYPE OF (Activity_method);
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Scheme_entry
SUBTYPE OF (Activity_method);
  scheme : Scheme_version;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Scheme_entry_assignment
SUBTYPE OF (Applied_activity_method_assignment);
  SELF\Applied_activity_method_assignment.assigned_activity_method : 
  Scheme_entry;
  SELF\Applied_activity_method_assignment.items : SET [1:?] OF 
  scheme_entry_item_select;
DERIVE
  assigned_entry : Scheme_entry := SELF\Applied_activity_method_assignment.
  assigned_activity_method;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Scheme_entry_relationship
SUBTYPE OF (Activity_method_relationship);
  SELF\Activity_method_relationship.relating_method : Scheme_entry;
  SELF\Activity_method_relationship.related_method : Scheme_entry;
DERIVE
  relating_entry : Scheme_entry := SELF\Activity_method_relationship.
  relating_method;
  related_entry : Scheme_entry := SELF\Activity_method_relationship.
  related_method;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Scheme_relationship
SUBTYPE OF (Activity_method_relationship);
  SELF\Activity_method_relationship.relating_method : Scheme;
  SELF\Activity_method_relationship.related_method : Scheme;
DERIVE
  relating_scheme : Scheme := SELF\Activity_method_relationship.relating_method
  ;
  related_scheme : Scheme := SELF\Activity_method_relationship.related_method;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Scheme_subject_assignment
SUBTYPE OF (Applied_activity_method_assignment);
  SELF\Applied_activity_method_assignment.assigned_activity_method : Scheme;
  SELF\Applied_activity_method_assignment.items : SET [1:?] OF 
  scheme_subject_select;
DERIVE
  assigned_scheme : Scheme := SELF\Applied_activity_method_assignment.
  assigned_activity_method;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Scheme_version
SUBTYPE OF (Activity_method);
  of_scheme : Scheme;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Scheme_version_assignment
SUBTYPE OF (Applied_activity_method_assignment);
  SELF\Applied_activity_method_assignment.assigned_activity_method : 
  Scheme_version;
  SELF\Applied_activity_method_assignment.items : SET [1:?] OF 
  scheme_version_select;
DERIVE
  assigned_scheme_version : Scheme_version := SELF\
  Applied_activity_method_assignment.assigned_activity_method;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Scheme_version_relationship
SUBTYPE OF (Activity_method_relationship);
  SELF\Activity_method_relationship.relating_method : Scheme_version;
  SELF\Activity_method_relationship.related_method : Scheme_version;
DERIVE
  relating_scheme_version : Scheme_version := SELF\Activity_method_relationship
  .relating_method;
  related_scheme_version : Scheme_version := SELF\Activity_method_relationship.
  related_method;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Security_classification;
  classification_level : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Security_classification_arm *)
 
ENTITY Security_classification_assignment;
  classification : Security_classification;
  items : SET [1:?] OF security_classification_item;
END_ENTITY; (* declared in: Security_classification_arm *)
 
ENTITY Selected_item
SUBTYPE OF (Class);
END_ENTITY; (* declared in: Selected_item_arm *)
 
ENTITY Selected_item_assignment;
  assigned_class : Selected_item;
  item : selected_item_select;
  item_context : SET [1:?] OF selected_item_context_items;
END_ENTITY; (* declared in: Selected_item_arm *)
 
ENTITY Sequence_of_state
SUBTYPE OF (State_relationship);
DERIVE
  successor : SET [1:?] OF State := SELF\State_relationship.relating;
  predecessor : SET [1:?] OF State := SELF\State_relationship.related;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY Sequence_of_state_definition
SUBTYPE OF (State_definition_relationship);
DERIVE
  successor : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.relating;
  predecessor : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.related;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY Sequencing_relationship
SUBTYPE OF (Scheme_entry_relationship);
  sequencing_type : STRING;
  time_lag :  OPTIONAL Time_interval;
END_ENTITY; (* declared in: Scheme_arm *)
 
ENTITY Serial_effectivity
SUBTYPE OF (Effectivity);
  start_id : STRING;
  end_id :  OPTIONAL STRING;
END_ENTITY; (* declared in: Effectivity_arm *)
 
ENTITY Shape_dependent_property_representation;
  characteristic_type : STRING;
  description :  OPTIONAL STRING;
  described_element : shape_dependent_select;
  property_representation : Representation;
END_ENTITY; (* declared in: Shape_property_assignment_arm *)
 
ENTITY Shape_description_association;
  represented_characteristic : shape_select;
  representation : shape_model;
  role :  OPTIONAL STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Shape_property_assignment_arm *)
 
ENTITY Shape_element;
  id :  OPTIONAL STRING;
  element_name : STRING;
  description :  OPTIONAL STRING;
  containing_shape : Item_shape;
END_ENTITY; (* declared in: Shape_property_assignment_arm *)
 
ENTITY Shape_element_relationship;
  relation_type : STRING;
  description :  OPTIONAL STRING;
  relating : Shape_element;
  related : Shape_element;
END_ENTITY; (* declared in: Shape_property_assignment_arm *)
 
ENTITY Simultaneous_elements
SUBTYPE OF (Concurrent_elements);
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Solid_angle_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY State
SUPERTYPE OF (ONEOF (State_observed, State_predicted));
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_assertion;
  name : STRING;
  description :  OPTIONAL STRING;
  asserted_state : State;
  conformance_state : State_definition;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_assessment;
  name : STRING;
  description :  OPTIONAL STRING;
  assessed_state : State;
  comparable_state : State_definition;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_cause_effect
SUBTYPE OF (State_relationship);
DERIVE
  effect : SET [1:?] OF State := SELF\State_relationship.relating;
  cause : SET [1:?] OF State := SELF\State_relationship.related;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_cause_effect_definition
SUBTYPE OF (State_definition_relationship);
DERIVE
  effect : SET [1:?] OF State_definition := SELF\State_definition_relationship.
  relating;
  cause : SET [1:?] OF State_definition := SELF\State_definition_relationship.
  related;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY State_complement_definition
SUBTYPE OF (State_definition_relationship);
  set_2 : SET [1:?] OF State_definition;
DERIVE
  universe : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.relating;
  set_1 : SET [1:?] OF State_definition := SELF\State_definition_relationship.
  related;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY State_definition;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY State_definition_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : SET [1:?] OF State_definition;
  related : SET [1:?] OF State_definition;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY State_definition_role;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY State_observed
SUBTYPE OF (State);
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_predicted
SUBTYPE OF (State);
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_predicted_to_observed
SUBTYPE OF (State_relationship);
  SELF\State_relationship.relating : SET [1:?] OF State_observed;
  SELF\State_relationship.related : SET [1:?] OF State_predicted;
DERIVE
  observed_state : SET [1:?] OF State_observed := SELF\State_relationship.
  relating;
  predicted_state : SET [1:?] OF State_predicted := SELF\State_relationship.
  related;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_proper_subset_definition
SUBTYPE OF (State_definition_relationship);
DERIVE
  proper_subset : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.related;
  proper_superset : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.relating;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY State_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : SET [1:?] OF State;
  related : SET [1:?] OF State;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_role;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_subset_definition
SUBTYPE OF (State_definition_relationship);
DERIVE
  superset : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.relating;
  subset : SET [1:?] OF State_definition := SELF\State_definition_relationship.
  related;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY State_symptom_definition
SUBTYPE OF (State_definition_relationship);
DERIVE
  symptom_effect : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.relating;
  symptom_cause : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.related;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY State_transition
SUBTYPE OF (State_relationship);
DERIVE
  end_state : SET [1:?] OF State := SELF\State_relationship.relating;
  start_state : SET [1:?] OF State := SELF\State_relationship.related;
END_ENTITY; (* declared in: State_observed_arm *)
 
ENTITY State_transition_definition
SUBTYPE OF (State_definition_relationship);
DERIVE
  end_state : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.relating;
  start_state : SET [1:?] OF State_definition := SELF\
  State_definition_relationship.related;
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY String_representation_item
SUBTYPE OF (Representation_item);
  string_value : STRING;
END_ENTITY; (* declared in: Foundation_representation_arm *)
 
ENTITY Structured_task_element
ABSTRACT SUPERTYPE OF (ONEOF (Concurrent_elements, Decision_point, 
Looping_element, Task_element_sequence))
SUBTYPE OF (Task_element);
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Subset;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  subset : Class;
  superset : Class;
END_ENTITY; (* declared in: Set_theory_arm *)
 
ENTITY Supplied_part_relationship
SUBTYPE OF (Product_version_relationship);
WHERE
  WR1 : SELF\Product_version_relationship.relation_type IN ['supplied item', 
    'supplied document'];
END_ENTITY; (* declared in: Product_version_relationship_arm *)
 
ENTITY System_breakdown
SUBTYPE OF (Breakdown);
END_ENTITY; (* declared in: System_breakdown_arm *)
 
ENTITY System_breakdown_context
SUBTYPE OF (Breakdown_context);
  SELF\Breakdown_context.breakdown : System_breakdown_version;
  SELF\Breakdown_context.breakdown_element : System_element_definition;
END_ENTITY; (* declared in: System_breakdown_arm *)
 
ENTITY System_breakdown_version
SUBTYPE OF (Breakdown_version);
  SELF\Breakdown_version.of_product : System_breakdown;
END_ENTITY; (* declared in: System_breakdown_arm *)
 
ENTITY System_element
SUBTYPE OF (Breakdown_element);
END_ENTITY; (* declared in: System_breakdown_arm *)
 
ENTITY System_element_definition
SUBTYPE OF (Breakdown_element_definition);
  SELF\Breakdown_element_definition.defined_version : System_element_version;
END_ENTITY; (* declared in: System_breakdown_arm *)
 
ENTITY System_element_usage
SUBTYPE OF (Breakdown_element_usage);
  SELF\View_definition_relationship.relating_view : System_element_definition;
  SELF\View_definition_relationship.related_view : System_element_definition;
END_ENTITY; (* declared in: System_breakdown_arm *)
 
ENTITY System_element_version
SUBTYPE OF (Breakdown_element_version);
  SELF\Breakdown_element_version.of_product : System_element;
END_ENTITY; (* declared in: System_breakdown_arm *)
 
ENTITY Task_element
ABSTRACT SUPERTYPE OF (ONEOF (End_task, Exit_loop, Structured_task_element, 
Task_element_levels, Task_invocation, Task_step))
SUBTYPE OF (Activity_method);
  notes :  OPTIONAL  LIST [1:?] OF Advisory_task_step;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_element_assignment
SUBTYPE OF (Applied_activity_method_assignment);
  SELF\Applied_activity_method_assignment.assigned_activity_method : 
  Task_element;
  SELF\Applied_activity_method_assignment.items : SET [1:?] OF task_item;
DERIVE
  assigned_task_element : Task_element := SELF\
  Applied_activity_method_assignment.assigned_activity_method;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_element_levels
SUBTYPE OF (Task_element);
  alternatives : SET [2:?] OF Task_element;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_element_relationship
SUBTYPE OF (Activity_method_relationship);
  SELF\Activity_method_relationship.relating_method : Task_element;
  SELF\Activity_method_relationship.related_method : Task_element;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_element_sequence
SUBTYPE OF (Structured_task_element);
  elements :  LIST [2:?] OF Task_element;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_element_state_relationship;
  state : state_or_state_definition_select;
  task_element : Task_element;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_invocation
SUBTYPE OF (Task_element);
  task_method : method_or_method_version;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_method
SUBTYPE OF (Activity_method);
  objective : SET OF Task_objective;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_method_assignment
SUBTYPE OF (Applied_activity_method_assignment);
  SELF\Applied_activity_method_assignment.assigned_activity_method : 
  Task_method;
  SELF\Applied_activity_method_assignment.items : SET [1:?] OF task_item;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_method_relationship
SUBTYPE OF (Activity_method_relationship);
  SELF\Activity_method_relationship.relating_method : Task_method;
  SELF\Activity_method_relationship.related_method : Task_method;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_method_state_relationship;
  state : state_or_state_definition_select;
  task_method : Task_method_version;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_method_version
SUBTYPE OF (Activity_method);
  content :  OPTIONAL Task_element;
  of_task_method : Task_method;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_method_version_assignment
SUBTYPE OF (Applied_activity_method_assignment);
  SELF\Applied_activity_method_assignment.assigned_activity_method : 
  Task_method_version;
  SELF\Applied_activity_method_assignment.items : SET [1:?] OF task_item;
DERIVE
  assigned_task_method : Task_method_version := SELF\
  Applied_activity_method_assignment.assigned_activity_method;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_method_version_relationship
SUBTYPE OF (Activity_method_relationship);
  SELF\Activity_method_relationship.relating_method : Task_method_version;
  SELF\Activity_method_relationship.related_method : Task_method_version;
DERIVE
  relating_task_method : Task_method_version := SELF\
  Activity_method_relationship.relating_method;
  related_task_method : Task_method_version := SELF\
  Activity_method_relationship.related_method;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_objective;
  name : STRING;
  description : STRING;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_objective_state_relationship;
  state : state_or_state_definition_select;
  task_objective : Task_objective;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Task_step
SUBTYPE OF (Task_element);
DERIVE
  step_text : STRING := SELF\Activity_method.description;
END_ENTITY; (* declared in: Task_specification_arm *)
 
ENTITY Thermodynamic_temperature_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Time_interval;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Time_interval_arm *)
 
ENTITY Time_interval_effectivity
SUBTYPE OF (Effectivity);
  effectivity_period : Time_interval;
END_ENTITY; (* declared in: Effectivity_arm *)
 
ENTITY Time_interval_relationship;
  relation_type : STRING;
  description : STRING;
  relating_time_interval : Time_interval;
  related_time_interval : Time_interval;
END_ENTITY; (* declared in: Time_interval_arm *)
 
ENTITY Time_interval_with_bounds
SUBTYPE OF (Time_interval);
  primary_bound :  OPTIONAL date_or_event;
  secondary_bound :  OPTIONAL date_or_event;
  duration_from_primary_bound :  OPTIONAL Duration;
WHERE
  WR1 : NOT (EXISTS(secondary_bound) AND EXISTS(duration_from_primary_bound));
  WR2 : EXISTS(primary_bound) OR EXISTS(secondary_bound);
END_ENTITY; (* declared in: Time_interval_arm *)
 
ENTITY Time_offset;
  hour_offset : INTEGER;
  minute_offset :  OPTIONAL INTEGER;
  sense : offset_orientation;
DERIVE
  actual_minute_offset : INTEGER := NVL(minute_offset, 0);
WHERE
  WR1 : {0 <= hour_offset < 24};
  WR2 : {0 <= actual_minute_offset <= 59};
  WR3 : NOT (((hour_offset <> 0) OR (actual_minute_offset <> 0)) AND (sense = 
    exact));
END_ENTITY; (* declared in: Date_time_arm *)
 
ENTITY Time_unit
SUBTYPE OF (Unit);
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Tracing_relationship
SUBTYPE OF (View_definition_relationship);
  SELF\View_definition_relationship.relating_view : Requirement_view_definition
  ;
  SELF\View_definition_relationship.related_view : Requirement_view_definition;
DERIVE
  traces_from : Requirement_view_definition := SELF\
  View_definition_relationship.relating_view;
  traces_to : Requirement_view_definition := SELF\View_definition_relationship.
  related_view;
END_ENTITY; (* declared in: Requirement_view_definition_relationship_arm *)
 
ENTITY Transformation_based_template_instance
SUBTYPE OF (Detailed_geometric_model_element);
  replicated_model : shape_model;
  replication_transformation : cartesian_transformation;
END_ENTITY; (* declared in: Contextual_shape_positioning_arm *)
 
ENTITY Type_of_person;
  name : STRING;
  description :  OPTIONAL STRING;
  has : SET OF Type_of_person_definition;
END_ENTITY; (* declared in: Type_of_person_arm *)
 
ENTITY Type_of_person_assignment;
  assigned_type_of_person : Type_of_person;
  items : SET [1:?] OF type_of_person_item_select;
  role : STRING;
END_ENTITY; (* declared in: Type_of_person_arm *)
 
ENTITY Type_of_person_definition;
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Type_of_person_arm *)
 
ENTITY Type_of_person_definition_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Type_of_person_definition;
  related : Type_of_person_definition;
END_ENTITY; (* declared in: Type_of_person_arm *)
 
ENTITY Type_of_person_definition_required_attributes_relationship;
  assigned_required_attributes : Type_of_person_definition;
  required_attributes : SET OF defined_attributes;
END_ENTITY; (* declared in: Type_of_person_arm *)
 
ENTITY Uncertainty_with_unit
SUBTYPE OF (Value_with_unit);
  name : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Union;
  id : STRING;
  name : STRING;
  description :  OPTIONAL STRING;
  operand : SET [2:?] OF Class;
  resultant : Class;
END_ENTITY; (* declared in: Set_theory_arm *)
 
ENTITY Unit
SUPERTYPE OF (ONEOF (Amount_of_substance_unit, Electric_current_unit, 
Length_unit, Luminous_intensity_unit, Mass_unit, Plane_angle_unit, Ratio_unit, 
Solid_angle_unit, Thermodynamic_temperature_unit, Time_unit));
  name : STRING;
  si_unit : BOOLEAN;
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY Value_function;
  function_element :  LIST [1:?] OF Function_value_pair;
END_ENTITY; (* declared in: Probability_distribution_arm *)
 
ENTITY Value_limit
SUBTYPE OF (Measure_item);
  limit_qualifier : limit_qualifier_list;
  limit : Value_with_unit;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Value_limit_with_global_unit
SUBTYPE OF (Measure_item);
  limit : Numerical_item_with_global_unit;
  limit_qualifier : limit_qualifier_list;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Value_list
SUBTYPE OF (Measure_item);
  values :  LIST [1:?] OF Measure_item;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Value_range
SUBTYPE OF (Measure_item);
  lower_limit : Numerical_item_with_unit;
  upper_limit : Numerical_item_with_unit;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Value_range_with_global_unit
SUBTYPE OF (Measure_item);
  lower_limit : Numerical_item_with_global_unit;
  upper_limit : Numerical_item_with_global_unit;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Value_set
SUBTYPE OF (Measure_item);
  values : SET [1:?] OF Measure_item;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Value_with_tolerances
SUBTYPE OF (Measure_item);
  item_value : Numerical_item_with_unit;
  lower_limit : REAL;
  upper_limit : REAL;
END_ENTITY; (* declared in: Extended_measure_representation_arm *)
 
ENTITY Value_with_unit;
  unit : Unit;
  value_component : measure_value;
END_ENTITY; (* declared in: Value_with_unit_arm *)
 
ENTITY View_definition_context;
  application_domain : STRING;
  life_cycle_stage : STRING;
  description :  OPTIONAL STRING;
END_ENTITY; (* declared in: Product_view_definition_arm *)
 
ENTITY View_definition_relationship
ABSTRACT SUPERTYPE OF (ONEOF (Requirement_collection_relationship, 
Tracing_relationship, View_definition_usage));
  id :  OPTIONAL STRING;
  relation_type :  OPTIONAL STRING;
  description :  OPTIONAL STRING;
  relating_view : Product_view_definition;
  related_view : Product_view_definition;
END_ENTITY; (* declared in: Product_view_definition_relationship_arm *)
 
ENTITY View_definition_usage
SUBTYPE OF (View_definition_relationship);
END_ENTITY; (* declared in: Product_view_definition_relationship_arm *)
 
ENTITY Work_order;
  name : STRING;
  description :  OPTIONAL STRING;
  in_response_to : SET OF Work_request;
END_ENTITY; (* declared in: Work_order_arm *)
 
ENTITY Work_output;
  name : STRING;
  description :  OPTIONAL STRING;
  quantity :  OPTIONAL Value_with_unit;
  output_item :  OPTIONAL work_output_item;
END_ENTITY; (* declared in: Work_output_arm *)
 
ENTITY Work_output_assignment;
  assigned_output : Work_output;
  item : work_item;
END_ENTITY; (* declared in: Work_output_arm *)
 
ENTITY Work_output_relationship;
  name : STRING;
  description :  OPTIONAL STRING;
  relating : Work_output;
  related : Work_output;
END_ENTITY; (* declared in: Work_output_arm *)
 
ENTITY Work_request;
  request_id : STRING;
  version_id : STRING;
  description :  OPTIONAL STRING;
  purpose : STRING;
END_ENTITY; (* declared in: Work_request_arm *)
 
ENTITY Work_request_status;
  status : STRING;
  work_request : Work_request;
END_ENTITY; (* declared in: Work_request_arm *)
 
ENTITY Xor_state_cause_effect_definition
SUBTYPE OF (State_cause_effect_definition);
END_ENTITY; (* declared in: State_definition_arm *)
 
ENTITY Zone_breakdown
SUBTYPE OF (Breakdown);
END_ENTITY; (* declared in: Zonal_breakdown_arm *)
 
ENTITY Zone_breakdown_context
SUBTYPE OF (Breakdown_context);
  SELF\Breakdown_context.breakdown : Zone_breakdown_version;
  SELF\Breakdown_context.breakdown_element : Zone_element_definition;
END_ENTITY; (* declared in: Zonal_breakdown_arm *)
 
ENTITY Zone_breakdown_version
SUBTYPE OF (Breakdown_version);
  SELF\Breakdown_version.of_product : Zone_breakdown;
END_ENTITY; (* declared in: Zonal_breakdown_arm *)
 
ENTITY Zone_element
SUBTYPE OF (Breakdown_element);
END_ENTITY; (* declared in: Zonal_breakdown_arm *)
 
ENTITY Zone_element_definition
SUBTYPE OF (Breakdown_element_definition);
  SELF\Breakdown_element_definition.defined_version : Zone_element_version;
END_ENTITY; (* declared in: Zonal_breakdown_arm *)
 
ENTITY Zone_element_usage
SUBTYPE OF (Breakdown_element_usage);
  SELF\View_definition_relationship.relating_view : Zone_element_definition;
  SELF\View_definition_relationship.related_view : Zone_element_definition;
END_ENTITY; (* declared in: Zonal_breakdown_arm *)
 
ENTITY Zone_element_version
SUBTYPE OF (Breakdown_element_version);
  SELF\Breakdown_element_version.of_product : Zone_element;
END_ENTITY; (* declared in: Zonal_breakdown_arm *)
 
FUNCTION types_of_product(obj : Product) : SET OF STRING;
LOCAL
  category_assignments :  BAG  OF Product_category_assignment;
  categories : SET OF STRING := [];
  i : INTEGER;
END_LOCAL;
  category_assignments := USEDIN(obj, 
  'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_CATEGORY_ASSIGNMENT.PRODUCTS'
  );
  REPEAT i := LOINDEX(category_assignments) TO HIINDEX(category_assignments);
    categories := categories + category_assignments[i].category.name;
  END_REPEAT;
  RETURN (categories);
END_FUNCTION; (* declared in: Product_identification_arm *)
 
FUNCTION valid_document_property_representation(rep : 
  Document_property_representation) : LOGICAL;
  CASE rep.name OF 
     'document content' : 
      BEGIN
        RETURN (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.
        name IN ['detail level', 'geometry type', 'real world scale']))) = 0);
      END;
     'document creation' : 
      BEGIN
        IF NOT (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.
        name IN ['creating interface', 'creating system', 'operating system']))
        ) = 0) THEN
          RETURN (FALSE);
        END_IF;
        IF NOT (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.
        name IN ['creating system']))) = 1) THEN
          RETURN (FALSE);
        ELSE
          RETURN (TRUE);
        END_IF;
      END;
     'document format' : 
      BEGIN
        RETURN (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.
        name IN ['character code', 'data format', 'size format', 
        'size format standard']))) = 0);
      END;
     'document size' : 
      BEGIN
        RETURN (SIZEOF(QUERY(items <* rep\Representation.items | NOT (items.
        name IN ['file size', 'page count']))) = 0);
      END;
    OTHERWISE  : RETURN (UNKNOWN);
  END_CASE;
END_FUNCTION; (* declared in: Document_properties_arm *)
 
RULE document_definition_constraint FOR (Product_view_definition);
WHERE
  WR1: SIZEOF ( QUERY ( dd <* Product_view_definition | ( NOT ( 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.' + 'DOCUMENT_DEFINITION' IN TYPEOF (dd) ) ) AND ( 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.' + 'DOCUMENT_VERSION' IN TYPEOF (dd.defined_version)))) =0;
END_RULE; (* declared in: Document_definition_arm *)
 
RULE document_version_constraint FOR (Product_version);
WHERE
   WR1: SIZEOF ( QUERY ( pv <* Product_version | ( NOT ( 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.' + 'DOCUMENT_VERSION' IN TYPEOF ( pv) ) ) AND ( 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.' + 'DOCUMENT' IN TYPEOF (pv.of_product)))) = 0 ;
END_RULE; (* declared in: Document_and_version_identification_arm *)
 
RULE part_version_constraint FOR (Product_version);
WHERE
  WR1 : SIZEOF(QUERY(pv <* Product_version | NOT (
    'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.' + 'PART_VERSION' IN TYPEOF(pv)) 
    AND ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.' + 'PART' IN TYPEOF(pv.
    of_product)))) = 0;
END_RULE; (* declared in: Part_and_version_identification_arm *)
 
RULE part_view_definition_constraint FOR (Product_view_definition);
WHERE
  WR1: SIZEOF ( QUERY ( pvd <* Product_view_definition | ( NOT ( 'PART_VIEW_DEFINITION_ARM.' + 'PART_VIEW_DEFINITION' IN TYPEOF (pvd) ) ) AND ( 'PART_VIEW_DEFINITION_ARM.' + 'PART_VERSION' IN TYPEOF ( pvd.defined_version) ) ) ) =0 ;
END_RULE; (* declared in: Part_view_definition_arm *)
 
END_SCHEMA;
