SCHEMA aviation_maintenance_dex;
TYPE activity_item =
SELECT
(Activity,
Activity_method,
Activity_property,
Applied_activity_assignment,
Applied_state_assignment,
Assigned_property,
Contract,
Document,
Effectivity,
Independent_property,
Location,
Location_representation,
Managed_resource,
Message,
Observation_consequence,
Organization,
Person,
Person_in_organization,
Product,
Product_version,
Product_view_definition,
Resource_as_realized,
Resource_event,
Resource_item,
Resource_property,
State,
State_assertion,
State_assessment,
Task_element,
Task_method,
Task_method_version,
View_definition_relationship);
END_TYPE;
TYPE activity_realization_select =
SELECT
(Task_element,
Task_method,
Task_method_version);
END_TYPE;
TYPE affected_item_select =
SELECT
(State,
State_definition,
Activity_method,
Activity_property,
Assigned_property,
Contract,
Document,
Organization,
Person,
Person_in_organization,
Product,
Product_version,
Product_view_definition,
Resource_item,
Resource_property,
View_definition_relationship);
END_TYPE;
TYPE any_number_value =
NUMBER;
END_TYPE;
TYPE any_string_value =
STRING;
END_TYPE;
TYPE approval_item =
SELECT
(Activity,
Activity_method,
Activity_method_realization,
Activity_property,
Affected_items_assignment,
Applied_activity_assignment,
Applied_state_assignment,
Assembly_component_relationship,
Assigned_property,
Breakdown,
Breakdown_element,
Breakdown_element_definition,
Breakdown_element_usage,
Breakdown_element_version,
Breakdown_version,
Classification_assignment,
Condition,
Condition_assignment,
Contract,
Contract_assignment,
Date_or_date_time_assignment,
Directed_activity,
Document_assignment,
Effectivity,
Effectivity_assignment,
Identification_assignment,
Independent_property,
Justification,
Justification_assignment,
Justification_support_assignment,
Location_assignment,
Managed_resource,
Message,
Observation,
Organization_or_person_in_organization_assignment,
Part,
Part_version,
Part_view_definition,
Person_in_organization,
Product_as_individual,
Product_as_realized,
Product_category_assignment,
Product_design_version_to_individual,
Product_view_definition,
Resource_as_realized,
Resource_as_realized_assignment,
Resource_event,
Resource_item,
Resource_property,
Security_classification,
Security_classification_assignment,
Task_element,
Task_method,
Task_method_version,
Task_objective,
Type_of_person,
View_definition_context,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE assigned_document_select =
SELECT
(Document);
END_TYPE;
TYPE characterized_activity_definition =
SELECT
(Activity,
Activity_method,
Condition,
Resource_as_realized_assignment,
Resource_event,
Task_objective);
END_TYPE;
TYPE characterized_resource_select =
SELECT
(Managed_resource,
Resource_as_realized,
Resource_item);
END_TYPE;
TYPE classification_item =
SELECT
(Representation_relationship,
Activity,
Activity_method,
Activity_method_realization,
Activity_property,
Activity_property_representation,
Activity_relationship,
Affected_items_assignment,
Applied_activity_assignment,
Applied_state_assignment,
Approval,
Approval_assignment,
Approval_status,
Approving_person_organization,
Assigned_property,
Breakdown,
Breakdown_context,
Breakdown_element,
Breakdown_element_usage,
Breakdown_element_version,
Breakdown_of,
Calendar_date,
Class,
Condition,
Condition_assignment,
Condition_parameter,
Content_item,
Contract,
Contract_assignment,
Date_or_date_time_assignment,
Date_time,
Directed_activity,
Document,
Document_assignment,
Effectivity,
Effectivity_assignment,
External_class_library,
Identification_assignment,
Independent_property,
Independent_property_representation,
Justification,
Justification_assignment,
Justification_support_assignment,
Local_time,
Location,
Location_assignment,
Location_representation,
Managed_resource,
Message,
Observation,
Observation_consequence,
Observation_item,
Organization,
Organization_or_person_in_organization_assignment,
Organization_type,
Part,
Part_version,
Part_view_definition,
Person,
Person_in_organization,
Product,
Product_as_realized,
Product_category,
Product_design_version_to_individual,
Product_version,
Product_view_definition,
Property_representation,
Representation,
Representation_context,
Representation_item,
Resource_as_realized,
Resource_as_realized_assignment,
Resource_event,
Resource_item,
Resource_property,
Resource_property_representation,
Security_classification,
Security_classification_assignment,
State,
State_assertion,
State_assessment,
State_definition,
State_role,
Task_method,
Task_objective,
Type_of_person,
Type_of_person_definition,
Uncertainty_with_unit,
Unit,
Value_with_unit,
View_definition_context,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE condition_item =
SELECT
(Activity,
Activity_method_realization,
Activity_property,
Applied_activity_assignment,
Approval,
Approval_assignment,
Assigned_property,
Document_assignment,
Managed_resource,
Resource_event,
Resource_item,
Resource_property,
State_definition,
View_definition_relationship);
END_TYPE;
TYPE condition_parameter_item =
SELECT
(Organization,
Activity,
Activity_method,
Activity_property,
Activity_property_representation,
Approval,
Approval_assignment,
Assigned_property,
Calendar_date,
Classification_assignment,
Contract_assignment,
Date_or_date_time_assignment,
Date_time,
Document_assignment,
Identification_assignment,
Independent_property_representation,
Managed_resource,
Organization_or_person_in_organization_assignment,
Product,
Product_as_individual,
Product_category_assignment,
Product_version,
Product_view_definition,
Property_representation,
Representation,
Resource_as_realized,
Resource_event,
Resource_property,
Resource_property_representation,
State,
State_definition,
View_definition_relationship);
END_TYPE;
TYPE contract_item =
SELECT
(Activity,
Activity_method,
Activity_method_realization,
Applied_activity_assignment,
Breakdown,
Breakdown_element,
Breakdown_version,
Document,
External_class,
External_class_library,
Managed_resource,
Message,
Part,
Part_version,
Product_as_individual,
Product_as_realized,
Resource_event,
Resource_item,
Security_classification,
Task_element,
Task_method,
Task_method_version,
Task_objective);
END_TYPE;
TYPE date_or_date_time_item =
SELECT
(Approving_person_organization,
Activity,
Activity_method,
Activity_method_realization,
Activity_property,
Activity_property_representation,
Activity_relationship,
Affected_items_assignment,
Applied_activity_assignment,
Applied_state_assignment,
Approval,
Assembly_component_relationship,
Assigned_property,
Breakdown,
Breakdown_element,
Breakdown_element_usage,
Breakdown_version,
Classification_assignment,
Condition,
Condition_assignment,
Contract,
Contract_assignment,
Date_or_date_time_assignment,
Directed_activity,
Document,
Document_assignment,
Effectivity,
Effectivity_assignment,
Identification_assignment,
Independent_property,
Independent_property_representation,
Justification,
Justification_assignment,
Justification_support_assignment,
Location_assignment,
Location_representation,
Managed_resource,
Message,
Observation,
Organization_or_person_in_organization_assignment,
Part,
Part_version,
Part_view_definition,
Person,
Person_in_organization,
Product_as_realized,
Product_category_assignment,
Product_design_version_to_individual,
Product_version,
Product_view_definition,
Property_representation,
Representation,
Resource_as_realized,
Resource_as_realized_assignment,
Resource_event,
Resource_item,
Resource_property,
Resource_property_representation,
Security_classification,
Security_classification_assignment,
State,
State_assertion,
State_assessment,
State_definition,
Task_element,
Task_method,
Task_method_version,
Task_objective,
View_definition_context,
Work_order,
Work_request);
END_TYPE;
TYPE date_or_date_time_select =
SELECT
(Calendar_date,
Date_time);
END_TYPE;
TYPE date_or_event =
SELECT
(Calendar_date,
Date_time);
END_TYPE;
TYPE day_in_month_number =
INTEGER
;
WHERE
WR1: {1 <= SELF <= 31};
END_TYPE;
TYPE documented_element_select =
SELECT
(Document_assignment,
Class,
Condition_parameter,
Condition_assignment,
Justification,
Activity,
Activity_method,
Activity_method_realization,
Activity_property,
Activity_property_representation,
Applied_activity_assignment,
Approval,
Approval_assignment,
Assembly_component_relationship,
Assigned_property,
Breakdown,
Breakdown_context,
Breakdown_element,
Breakdown_element_usage,
Breakdown_version,
Condition,
Contract,
Contract_assignment,
Document,
Effectivity,
Effectivity_assignment,
Identification_assignment,
Independent_property,
Independent_property_representation,
Location,
Location_assignment,
Location_representation,
Managed_resource,
Message,
Observation,
Observation_consequence,
Organization,
Organization_or_person_in_organization_assignment,
Organization_type,
Part,
Part_version,
Part_view_definition,
Person,
Product,
Product_as_realized,
Product_design_version_to_individual,
Product_version,
Product_view_definition,
Property_representation,
Representation,
Representation_item,
Resource_as_realized,
Resource_event,
Resource_item,
Resource_property,
Resource_property_representation,
Security_classification,
Security_classification_assignment,
State,
State_assertion,
State_assessment,
State_definition,
Task_element,
Task_method,
Task_method_version,
Task_objective,
Type_of_person,
Type_of_person_definition,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE effectivity_item =
SELECT
(View_definition_usage,
Resource_property_representation,
Condition_assignment,
Activity_property_representation,
Independent_property_representation,
Classification_assignment,
Activity,
Activity_method,
Activity_property,
Applied_activity_assignment,
Approval_assignment,
Assembly_component_relationship,
Assigned_property,
Breakdown,
Breakdown_element,
Breakdown_element_definition,
Breakdown_element_usage,
Breakdown_element_version,
Breakdown_of,
Breakdown_version,
Contract_assignment,
Date_or_date_time_assignment,
Document,
Document_assignment,
Effectivity_assignment,
Identification_assignment,
Justification,
Justification_assignment,
Justification_support_assignment,
Location_assignment,
Organization_or_person_in_organization_assignment,
Part,
Part_version,
Part_view_definition,
Person_in_organization,
Product,
Product_as_individual,
Product_as_individual_version,
Product_as_individual_view,
Product_design_version_to_individual,
Product_version,
Product_view_definition,
Resource_property,
Security_classification_assignment,
Work_order);
END_TYPE;
TYPE hour_in_day =
INTEGER
;
WHERE
WR1: {0 <= SELF < 24};
END_TYPE;
TYPE identification_item =
SELECT
(Class,
Activity,
Activity_method,
Activity_method_realization,
Activity_property,
Affected_items_assignment,
Applied_activity_assignment,
Applied_state_assignment,
Approval,
Approval_status,
Assigned_property,
Breakdown,
Breakdown_element,
Breakdown_element_definition,
Breakdown_element_version,
Breakdown_version,
Condition,
Contract,
Directed_activity,
Document,
Document_assignment,
Effectivity,
External_class_library,
Independent_property,
Justification,
Justification_assignment,
Justification_support_assignment,
Location,
Location_representation,
Managed_resource,
Message,
Observation,
Observation_consequence,
Organization,
Organization_or_person_in_organization_assignment,
Organization_type,
Part,
Part_version,
Part_view_definition,
Person,
Person_in_organization,
Product_as_individual,
Product_as_individual_version,
Product_as_individual_view,
Product_as_realized,
Resource_as_realized,
Resource_event,
Resource_item,
Resource_property,
Security_classification,
Security_classification_assignment,
State,
State_assertion,
State_assessment,
State_definition,
Task_element,
Task_method,
Task_method_version,
Task_objective,
Type_of_person,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE justification_item =
SELECT
(Condition_assignment,
Property_value_representation,
Activity,
Activity_method,
Activity_method_realization,
Activity_property,
Applied_activity_assignment,
Applied_state_assignment,
Approval,
Approval_assignment,
Assigned_property,
Classification_assignment,
Document_assignment,
Effectivity,
Independent_property,
Location_assignment,
Message,
Product,
Product_version,
Product_view_definition,
Resource_as_realized,
Resource_event,
Resource_item,
Resource_property,
State_assertion,
State_assessment,
Task_element,
Task_method,
Task_method_version,
Task_objective,
View_definition_relationship);
END_TYPE;
TYPE justification_support_item =
SELECT
(Activity,
Activity_method,
Activity_property,
Applied_activity_assignment,
Applied_state_assignment,
Approval,
Assigned_property,
Contract,
Document,
Effectivity,
Independent_property,
Location,
Location_assignment,
Message,
Observation,
Product,
Product_version,
Product_view_definition,
Resource_property,
State,
State_definition,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE length_measure =
REAL;
END_TYPE;
TYPE location_assignment_select =
SELECT
(Activity,
Applied_activity_assignment,
Breakdown,
Breakdown_element,
Breakdown_element_definition,
Breakdown_version,
Document,
Managed_resource,
Organization,
Organization_type,
Person,
Person_in_organization,
Product,
Product_version,
Product_view_definition,
Resource_item,
Task_element,
Task_method,
Task_method_version,
Type_of_person,
View_definition_relationship);
END_TYPE;
TYPE measure_value =
SELECT
(any_number_value,
any_string_value,
length_measure,
plane_angle_measure);
END_TYPE;
TYPE message_definer_select =
SELECT
(Organization,
Person_in_organization);
END_TYPE;
TYPE minute_in_hour =
INTEGER
;
WHERE
WR1: {0 <= SELF <= 59};
END_TYPE;
TYPE month_in_year_number =
INTEGER
;
WHERE
WR1: {1 <= SELF <= 12};
END_TYPE;
TYPE observation_recorder =
SELECT
(Product_as_realized);
END_TYPE;
TYPE observed_context =
SELECT
(Activity,
Activity_method,
Applied_activity_assignment,
Breakdown,
Breakdown_element,
Breakdown_element_definition,
Breakdown_version,
Product,
Product_version,
Product_view_definition,
Resource_as_realized,
Resource_item,
Task_element,
Task_method,
Task_method_version,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE offset_orientation =
ENUMERATION
OF
(ahead,
exact,
behind);
END_TYPE;
TYPE organization_or_person_in_organization_item =
SELECT
(Activity,
Activity_method,
Activity_method_realization,
Activity_property,
Activity_property_representation,
Activity_relationship,
Affected_items_assignment,
Applied_activity_assignment,
Applied_state_assignment,
Approval,
Assembly_component_relationship,
Assigned_property,
Breakdown,
Breakdown_element,
Breakdown_element_usage,
Breakdown_version,
Classification_assignment,
Condition,
Condition_assignment,
Contract,
Contract_assignment,
Date_or_date_time_assignment,
Directed_activity,
Document,
Document_assignment,
Effectivity,
Effectivity_assignment,
Identification_assignment,
Independent_property,
Independent_property_representation,
Justification,
Justification_assignment,
Justification_support_assignment,
Location_assignment,
Managed_resource,
Message,
Observation,
Organization_or_person_in_organization_assignment,
Part,
Part_version,
Part_view_definition,
Person_in_organization,
Product_as_individual,
Product_as_realized,
Product_category,
Product_category_assignment,
Product_version,
Product_view_definition,
Property_representation,
Representation,
Resource_as_realized,
Resource_as_realized_assignment,
Resource_event,
Resource_item,
Resource_property,
Resource_property_representation,
Security_classification,
Security_classification_assignment,
State,
State_assertion,
State_assessment,
State_definition,
Task_element,
Task_method,
Task_method_version,
Task_objective,
View_definition_context,
Work_order,
Work_request);
END_TYPE;
TYPE organization_or_person_in_organization_select =
SELECT
(Organization,
Person_in_organization);
END_TYPE;
TYPE plane_angle_measure =
REAL;
END_TYPE;
TYPE property_assignment_select =
SELECT
(Applied_activity_assignment,
Applied_state_assignment,
Breakdown_element_usage,
Document_assignment,
Location_assignment,
Organization_or_person_in_organization_assignment,
Part_view_definition,
Person,
Person_in_organization,
Product_view_definition,
State,
State_definition,
Type_of_person_definition,
View_definition_relationship);
END_TYPE;
TYPE resource_as_realized_item =
SELECT
(Activity_actual,
Applied_activity_assignment);
END_TYPE;
TYPE resource_item_select =
SELECT
(Document,
Location,
Organization,
Organization_type,
Part,
Part_version,
Part_view_definition,
Person,
Person_in_organization,
Product_as_individual,
Product_as_individual_version,
Product_as_individual_view,
Type_of_person);
END_TYPE;
TYPE second_in_minute =
REAL
;
WHERE
WR1: {0 <= SELF <= 60.000000};
END_TYPE;
TYPE security_classification_item =
SELECT
(Activity,
Activity_method,
Activity_method_realization,
Applied_activity_assignment,
Assembly_component_relationship,
Breakdown,
Breakdown_element_definition,
Breakdown_element_usage,
Breakdown_element_version,
Document,
Document_assignment,
Message,
Part,
Part_version,
Part_view_definition,
Product_as_individual,
Product_as_individual_view,
Product_as_realized,
Product_design_version_to_individual,
Resource_item,
Task_element,
Task_method,
Task_method_version,
Task_objective);
END_TYPE;
TYPE state_of_item =
SELECT
(Approval,
Activity,
Activity_method,
Applied_activity_assignment,
Assembly_component_relationship,
Breakdown,
Breakdown_element,
Breakdown_element_definition,
Breakdown_element_usage,
Breakdown_element_version,
Breakdown_version,
Contract,
Document,
Location,
Managed_resource,
Message,
Organization,
Part,
Part_version,
Part_view_definition,
Person_in_organization,
Product,
Product_as_individual,
Product_as_individual_view,
Product_as_realized,
Product_version,
Resource_as_realized,
Resource_as_realized_assignment,
Resource_as_realized_resource_item,
Resource_event,
Resource_item,
Security_classification,
Task_method_version,
View_definition_relationship,
Work_order,
Work_request);
END_TYPE;
TYPE year_number =
INTEGER;
END_TYPE;
TYPE message_content_item =
SELECT
(Product,
Product_version,
Activity,
Activity_method,
Work_order,
Work_request,
External_class_library,
Resource_event,
Resource_item);
END_TYPE;
TYPE observation_content_item =
SELECT
(Product,
Product_version,
Activity,
State);
END_TYPE;
ENTITY Activity;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
chosen_method : Activity_method;
END_ENTITY;
ENTITY Activity_actual
SUBTYPE OF (Activity);
END_ENTITY;
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;
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;
ENTITY Activity_method_realization;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
activity_method : Activity_method;
realized_by : activity_realization_select;
END_ENTITY;
ENTITY Activity_property;
name : STRING;
description : STRING;
described_element : characterized_activity_definition;
END_ENTITY;
ENTITY Activity_property_representation;
description :
OPTIONAL
STRING;
property : Activity_property;
rep : Representation;
role : STRING;
END_ENTITY;
ENTITY Activity_relationship;
name : STRING;
description :
OPTIONAL
STRING;
relating_activity : Activity;
related_activity : Activity;
END_ENTITY;
ENTITY Advisory_task_step
SUBTYPE OF (Task_step);
END_ENTITY;
ENTITY Affected_items_assignment;
assigned_work_request : Work_request;
items : SET[1:?] OF affected_item_select;
END_ENTITY;
ENTITY Applied_activity_assignment;
assigned_activity : Activity;
items : SET[1:?] OF activity_item;
role : STRING;
END_ENTITY;
ENTITY Applied_state_assignment;
described_state : State;
assigned_to : state_of_item;
role : State_role;
END_ENTITY;
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;
ENTITY Approval_assignment;
assigned_approval : Approval;
items : SET[1:?] OF approval_item;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Approval_status;
status_name : STRING;
END_ENTITY;
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;
ENTITY Assembly_component_relationship
ABSTRACT SUPERTYPE
OF (ONEOF (Next_assembly_usage,
Promissory_usage))
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;
ENTITY Assigned_property;
id :
OPTIONAL
STRING;
name : STRING;
description :
OPTIONAL
STRING;
described_element : property_assignment_select;
END_ENTITY;
ENTITY Breakdown
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Breakdown_context;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
breakdown : Breakdown_version;
breakdown_element : Breakdown_element_definition;
END_ENTITY;
ENTITY Breakdown_element
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Breakdown_element_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Breakdown_element_version;
END_ENTITY;
ENTITY Breakdown_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;
ENTITY Breakdown_element_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Breakdown_element;
END_ENTITY;
ENTITY Breakdown_of;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
breakdown : Breakdown_version;
of_view : Product_view_definition;
END_ENTITY;
ENTITY Breakdown_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Breakdown;
INVERSE
breakdown_of : SET[1:?] OF Breakdown_of FOR breakdown;
END_ENTITY;
ENTITY Calendar_date;
year_component : year_number;
month_component : month_in_year_number;
day_component : day_in_month_number;
END_ENTITY;
ENTITY Class;
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Classification_assignment;
assigned_class : Class;
items : SET[1:?] OF classification_item;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Condition;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Condition_assignment;
assigned_condition : Condition;
item : condition_item;
END_ENTITY;
ENTITY Condition_parameter;
name : STRING;
description :
OPTIONAL
STRING;
condition : Condition;
parameter :
OPTIONAL
condition_parameter_item;
END_ENTITY;
ENTITY Content_item;
item_identifier : STRING;
item_type : STRING;
access_comment :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Content_item_selected
SUBTYPE OF (Content_item);
contents : message_content_item;
END_ENTITY;
ENTITY Contract;
id : STRING;
purpose : STRING;
kind : STRING;
END_ENTITY;
ENTITY Contract_assignment;
assigned_contract : Contract;
items : SET[1:?] OF contract_item;
END_ENTITY;
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;
ENTITY Date_time;
date_component : Calendar_date;
time_component : Local_time;
END_ENTITY;
ENTITY Dated_effectivity
SUBTYPE OF (Effectivity);
start_bound : date_or_event;
end_bound :
OPTIONAL
date_or_event;
END_ENTITY;
ENTITY Decreasing_resource_event
SUBTYPE OF (Resource_event);
END_ENTITY;
ENTITY Directed_activity
SUBTYPE OF (Activity);
directive : Work_order;
END_ENTITY;
ENTITY Document
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Document_assignment;
assigned_document : assigned_document_select;
is_assigned_to : documented_element_select;
role : STRING;
END_ENTITY;
ENTITY Effectivity
SUPERTYPE OF
(ONEOF (Dated_effectivity));
id : STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Effectivity_assignment;
assigned_effectivity : Effectivity;
role : STRING;
items : SET[1:?] OF effectivity_item;
END_ENTITY;
ENTITY External_class
SUBTYPE OF (Class);
external_source : External_class_library;
END_ENTITY;
ENTITY External_class_library;
id : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Identification_assignment;
identifier : STRING;
role : STRING;
description :
OPTIONAL
STRING;
items : SET[1:?] OF identification_item;
END_ENTITY;
ENTITY Increasing_resource_event
SUBTYPE OF (Resource_event);
END_ENTITY;
ENTITY Independent_property;
id : STRING;
property_type : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Independent_property_representation;
description :
OPTIONAL
STRING;
property : Independent_property;
rep : Representation;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Justification;
id : STRING;
name :
OPTIONAL
STRING;
description : STRING;
context_description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Justification_assignment;
justification : Justification;
description :
OPTIONAL
STRING;
item : justification_item;
role : STRING;
END_ENTITY;
ENTITY Justification_support_assignment;
justification : Justification;
description :
OPTIONAL
STRING;
support_item : justification_support_item;
role : STRING;
END_ENTITY;
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;
ENTITY Location;
name : STRING;
description :
OPTIONAL
STRING;
alternative_location_representations : SET OF Location_representation;
END_ENTITY;
ENTITY Location_assignment;
description :
OPTIONAL
STRING;
role :
OPTIONAL
STRING;
entity_for_location : location_assignment_select;
location_for_assignment : Location;
END_ENTITY;
ENTITY Location_representation;
END_ENTITY;
ENTITY Managed_resource;
name : STRING;
description :
OPTIONAL
STRING;
quantity :
OPTIONAL
Value_with_unit;
item : Resource_item;
END_ENTITY;
ENTITY Measure_item
ABSTRACT SUPERTYPE
OF (ONEOF (Numerical_item_with_unit,
Value_range))
SUBTYPE OF (Representation_item);
WHERE
WR1: SIZEOF(USEDIN(SELF, 'AVIATION_MAINTENANCE_DEX.REPRESENTATION.ITEMS')) > 0;
END_ENTITY;
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;
ENTITY Next_assembly_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
ENTITY Numerical_item_with_unit
SUBTYPE OF (Measure_item, Value_with_unit);
END_ENTITY;
ENTITY Numerical_representation_context
SUBTYPE OF (Representation_context);
units :
OPTIONAL
SET[1:?] OF Unit;
accuracies :
OPTIONAL
SET[1:?] OF Uncertainty_with_unit;
END_ENTITY;
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;
ENTITY Observation_consequence;
id : STRING;
name : STRING;
infered_from : Observation;
requests : Work_request;
role : STRING;
END_ENTITY;
ENTITY Observation_item;
access_comment : STRING;
item_identifier : STRING;
item_type : STRING;
END_ENTITY;
ENTITY Observation_item_selected
SUBTYPE OF (Observation_item);
contents : observation_content_item;
END_ENTITY;
ENTITY Organization;
id :
OPTIONAL
STRING;
name : STRING;
END_ENTITY;
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;
ENTITY Organization_type;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Part
SUBTYPE OF (Product);
WHERE
WR1: SIZEOF(['part', 'raw material', 'tool'] * types_of_product(SELF)) = 1;
END_ENTITY;
ENTITY Part_version
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Part;
END_ENTITY;
ENTITY Part_view_definition
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Part_version;
END_ENTITY;
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;
ENTITY Person_in_organization;
concerned_person : Person;
containing_organization : Organization;
role : STRING;
END_ENTITY;
ENTITY Product
ABSTRACT SUPERTYPE
OF (ONEOF (Breakdown,
Breakdown_element,
Document,
Part,
Product_as_individual));
id : STRING;
name :
OPTIONAL
STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Product_as_individual
SUBTYPE OF (Product);
END_ENTITY;
ENTITY Product_as_individual_version
ABSTRACT SUPERTYPE
OF (ONEOF (Product_as_realized))
SUBTYPE OF (Product_version);
SELF\Product_version.of_product : Product_as_individual;
END_ENTITY;
ENTITY Product_as_individual_view
SUBTYPE OF (Product_view_definition);
SELF\Product_view_definition.defined_version : Product_as_individual_version;
END_ENTITY;
ENTITY Product_as_realized
SUBTYPE OF (Product_as_individual_version);
END_ENTITY;
ENTITY Product_category;
id :
OPTIONAL
STRING;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Product_category_assignment;
category : Product_category;
products : SET[1:?] OF Product;
END_ENTITY;
ENTITY Product_design_version_to_individual;
product_design_version : Product_version;
individual_product : Product_as_individual_version;
END_ENTITY;
ENTITY Product_version
ABSTRACT SUPERTYPE
OF (ONEOF (Breakdown_element_version,
Breakdown_version,
Part_version,
Product_as_individual_version));
id : STRING;
description :
OPTIONAL
STRING;
of_product : Product;
END_ENTITY;
ENTITY Product_view_definition
SUPERTYPE OF
(ONEOF (Breakdown_element_definition,
Part_view_definition,
Product_as_individual_view));
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;
ENTITY Promissory_usage
SUBTYPE OF (Assembly_component_relationship);
END_ENTITY;
ENTITY Property_representation;
description :
OPTIONAL
STRING;
property : Assigned_property;
rep : Representation;
role :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Property_value_representation
SUBTYPE OF (Representation);
SELF\Representation.context_of_items : Numerical_representation_context;
END_ENTITY;
ENTITY Representation;
id :
OPTIONAL
STRING;
name : STRING;
description :
OPTIONAL
STRING;
context_of_items : Representation_context;
items : SET[1:?] OF Representation_item;
END_ENTITY;
ENTITY Representation_context;
id : STRING;
kind : STRING;
INVERSE
representations_in_context : SET[1:?] OF Representation FOR context_of_items;
END_ENTITY;
ENTITY Representation_item;
name : STRING;
END_ENTITY;
ENTITY Representation_relationship;
relation_type : STRING;
description : STRING;
rep_1 : Representation;
rep_2 : Representation;
END_ENTITY;
ENTITY Resource_as_realized;
name : STRING;
description :
OPTIONAL
STRING;
quantity :
OPTIONAL
Value_with_unit;
END_ENTITY;
ENTITY Resource_as_realized_assignment;
assigned_resource : Resource_as_realized;
item : resource_as_realized_item;
END_ENTITY;
ENTITY Resource_as_realized_resource_item
SUBTYPE OF (Resource_as_realized);
resource_item : Resource_item;
END_ENTITY;
ENTITY Resource_event;
name : STRING;
description :
OPTIONAL
STRING;
quantity :
OPTIONAL
Value_with_unit;
resource : Managed_resource;
END_ENTITY;
ENTITY Resource_item;
name : STRING;
description :
OPTIONAL
STRING;
resource_items :
OPTIONAL
SET OF resource_item_select;
END_ENTITY;
ENTITY Resource_property;
name : STRING;
description : STRING;
described_element : characterized_resource_select;
END_ENTITY;
ENTITY Resource_property_representation;
description :
OPTIONAL
STRING;
property : Resource_property;
rep : Representation;
role : STRING;
END_ENTITY;
ENTITY Security_classification;
classification_level : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Security_classification_assignment;
classification : Security_classification;
items : SET[1:?] OF security_classification_item;
END_ENTITY;
ENTITY State
SUPERTYPE OF
(ONEOF (State_observed));
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY State_assertion;
name : STRING;
description :
OPTIONAL
STRING;
asserted_state : State;
conformance_state : State_definition;
END_ENTITY;
ENTITY State_assessment;
name : STRING;
description :
OPTIONAL
STRING;
assessed_state : State;
comparable_state : State_definition;
END_ENTITY;
ENTITY State_definition;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY State_observed
SUBTYPE OF (State);
END_ENTITY;
ENTITY State_role;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Task_element
ABSTRACT SUPERTYPE
OF (ONEOF (Task_step))
SUBTYPE OF (Activity_method);
notes :
OPTIONAL
LIST[1:?] OF Advisory_task_step;
END_ENTITY;
ENTITY Task_method
SUBTYPE OF (Activity_method);
objective : SET OF Task_objective;
END_ENTITY;
ENTITY Task_method_version
SUBTYPE OF (Activity_method);
content :
OPTIONAL
Task_element;
of_task_method : Task_method;
END_ENTITY;
ENTITY Task_objective;
name : STRING;
description : STRING;
END_ENTITY;
ENTITY Task_step
SUBTYPE OF (Task_element);
DERIVE
step_text : STRING := SELF\Activity_method.description;
END_ENTITY;
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;
ENTITY Type_of_person;
name : STRING;
description :
OPTIONAL
STRING;
has : SET OF Type_of_person_definition;
END_ENTITY;
ENTITY Type_of_person_definition;
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Uncertainty_with_unit
SUBTYPE OF (Value_with_unit);
name : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY Unit;
name : STRING;
si_unit : BOOLEAN;
END_ENTITY;
ENTITY Value_range
SUBTYPE OF (Measure_item);
lower_limit : Numerical_item_with_unit;
upper_limit : Numerical_item_with_unit;
END_ENTITY;
ENTITY Value_with_unit;
unit : Unit;
value_component : measure_value;
END_ENTITY;
ENTITY View_definition_context;
application_domain : STRING;
life_cycle_stage : STRING;
description :
OPTIONAL
STRING;
END_ENTITY;
ENTITY View_definition_relationship
ABSTRACT SUPERTYPE
OF (ONEOF (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;
ENTITY View_definition_usage
SUBTYPE OF (View_definition_relationship);
END_ENTITY;
ENTITY Work_order;
name : STRING;
description :
OPTIONAL
STRING;
in_response_to : SET OF Work_request;
END_ENTITY;
ENTITY Work_request;
request_id : STRING;
version_id : STRING;
description :
OPTIONAL
STRING;
purpose : STRING;
END_ENTITY;
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, 'AVIATION_MAINTENANCE_DEX.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;