DEX (D011):— aviation_maintenance Date: 2008/03/10 10:36:16
Revision: 1.145

Aviation maintenance ISO 10303-239 Representation

The following sections provide a detailed description on how to represent an aviation maintenance feedback DEX using ISO 10303-239 PLCS. This is defined using PLCS capabilities, templates and PLCS reference data.

This definition may be further tailored by specific parties by extending the reference data defined in the PLCS reference data library.

The information to be exchanged by the Aviation Maintenance DEX has been summarised in Figure 6 in Section: Aviation maintenance: Business Information Overview. A more detailed definition of the type of information that can be exchanged using the Aviation Maintenance DEX is provided by the UML class diagrams in Section: Aviation maintenance - Business Information Requirements Figure 7 and Figure 8. A summary of how this information is represented in PLCS is provided in Figure 9 and expanded in subsequent sections.



Figure 9 —  Overview of PLCS constructs used to represent maintenance  feedback information

Figure 9 —  Overview of PLCS constructs used to represent maintenance feedback information

Figure 9 shows:

Template: #0 representing_message - Message
The template representing_message is used to represent a message containing the meta data about the message. See Section: Representing a message for details.
Template: #1 representing_product_as_realized - Reportable Item
The template representing_product_as_realized is used to represent the reportable item. See Section: Representing a reportable item for details.
Template: #2 representing_product_usage - Activity performed by reportable item
The template representing_product_usage is used to represent an activity, such as a sortie or engine run, that has been performed by the reportable item. See Section: Representing a reportable item usage activity for details.
Template: #3 assigning_observation - Symptom
The template assigning_observation is used to represent a symptom that was observed during the usage of the product, such as a sortie. See Section: Representing state of a reportable item for details.
Template: #4 representing_work_request - Request for work
The template representing_work_request is used to represent a initial request for work - frequently initiated after a symptom has been observed. See Section: Representing state of a reportable item for details.
Template: #5 representing_work_order - Maintenance work order
The template representing_work_order is used to represent the authority to undertake work - a maintenance work order. The work may be an engineering instruction to implement a modification, standard scheduled or unscheduled maintenance for which there is a defined task. The type of activity that is authorized, such as maintenance, installation, repair/overhual is provided by classifying the activity - see template #5a Type of directed activity assigning_reference_data. See Section: Representing a maintenance work order for details.
Template: #6 assigning_asserted_state - Fault state
The template assigning_asserted_state is used to represent a fault that has been identified on a reportable item. If the fault is to be rectified by the maintenance work order, then it is related to the template #5 representing_work_order by the template assigning_activity. See Section: Representing state of a reportable item for details.
Template: #7 representing_work_done - Record of work done
The template representing_work_done is used to represent the work or activity that has been undertaken on the reportable item. The work done is a record of the fact that the authorised work (template #5 representing_work_order) has been started. The type of activity that has been undertaken, such as maintenance, installation, repair/overhual is provided by classifying the activity - see template #7a Type of activity assigning_reference_data. See Section: Representing a reportable item maintenance activity for details.
Template: #8 representing_typical_activity - Method used to do work
The template representing_typical_activity is used to represent the method used to undertake the activity. If this method is defined by a specified task, then it is related to the template #9 referencing_task. See Section: Representing a reportable item maintenance activity for details.
Template: #9 referencing_task - Maintenance task
The template referencing_task is used to represent a standard maintenance task. A task for which there is a specification or set of procedures defined. See Section: Representing a maintenance work order for details.
Template: #10 assigning_process_property - Maintenance activity properties
The template assigning_process_property is used to represent properties of the activity that has been undertaken on the reportable item, such the duration of the task. See Section: Representing a reportable item maintenance activity for details.
Template: #11 assigning_person_in_organization - Person performing activity
The template assigning_person_in_organization is used to represent the person who undertook the activity. See Section: Representing a reportable item maintenance activity for details.
Template: #12 assigning_asserted_state - Serviceability status
The template assigning_asserted_state is used to represent the serviceability state of the reportable item See Section: Representing state of a reportable item for details.
Template: #13 assigning_product_property - Properties of the reportable item
The template assigning_product_property is used to represent properties of the reportable item such as life measurements. See Section: Representing properties on a reportable item for details.
Template: #14 assigning_location - Location of the reportable item
The template assigning_location is used to represent the location of the reportable item. See Section: Representing reportable item location for details.
Template: #15 representing_assembly_structure - Reportable item installation history
The template representing_assembly_structure is used to represent the installation history of a reportable item. See Section: Representing installation/removal position on an aircraft for details.
Template: #16 assigning_realized_resource - Parts consumed
The template assigning_realized_resource is used to represent the spare parts fitted and removed during a maintenance activity. See Section: Representing resource: replaced parts for details.
Template: #17 assigning_realized_resource - Resources consumed
The template assigning_realized_resource is used to represent the hours taken by a particular trade, such as electrician, to do the work. See Section: Representing resource: trades used for details.

The remainder of this section provides more details how the information summarized previously is represented using PLCS. It comprises the following:

Each section contains a UML class diagram that provides an overview of the data to be exchanged, a description of the UML classes and then a definition of how that information is represented in PLCS. The information that is shown in UML class diagram is intended to provide guidance for the type of information that can be represented by the DEX. As different systems and business processes may not support or require the information the DEX does not mandate that all the information shown is exchanged.

NOTE    For each template, a table is provided detailing the values for each template parameter, Where the value is to be set by the sending system, value is shown with a ? at the start and end. E.g. ?org_id?.

Representing a message

Business information

Information will be extracted and packaged as a message which is then sent to a recipient.

The information associated with a message is summarized in the UML class diagram in Figure 10. This is a subset of the UML diagrams shown in Figure 8 in Section: Aviation maintenance Business Information Requirements - Message and Figure 7 in Section: Aviation maintenance Business Information Requirements - Information. This shows the meta data for message, and the activity being reported on in the message - the subclasses of Reportable_activity. The information associated with the activities is detailed in subsequent sections.

NOTE    The information shown in the UML class diagram in Figure 10 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 10 —  UML class diagram representing a message

Figure 10 —  UML class diagram representing a message

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent a message. This is summarised in Figure 11 below.

Extracted information should be packaged as a message which is then sent to the recipient. The Message containing the reported activity is represented in ISO 10303-239 PLCS by the template #1, representing_message which instantiates Message described in the capability C014: messaging (NB Capabilities are not documented in this release of the PLCS standard) and shown in Figure 11 below. Message meta data is then assigned to the Message. If the person or organization who sent and received the message is required it is represented by templates #6 assigning_person_in_organization and #7 assigning_organization. If the date extract of the data is required this is represented by template #4 assigning_time described in the capability C036: assigning_date_time (NB Capabilities are not documented in this release of the PLCS standard) . If contract identification information is required this is represented by template #3 assigning_contract described in the capability C083: representing_contract (NB Capabilities are not documented in this release of the PLCS standard) . If security information is required this is represented by template #5 assigning_security_classification described in the capability : representing_security (NB Capabilities are not documented in this release of the PLCS standard) .

In addition to the message meta data, the content of the message is identified. This is represented by linking the Message to the activities that are reported by the message via the Content_item_selected entity and message_content_item select. If the DEX is reporting on:

NOTE    When the message is reporting on work done, the work done will refer back to the work order. The linking of the message to the representing_work_order should only be done when the work order has been raised. When the work authorised by the work order has started or completed the linking should be to the representing_work_done.

The message content templates identified above will refer to, or be referenced by, other templates representing the rest of the message content. E.g the reportable item, properties on the reportable item etc.

The message is normally contains one business transaction. E.g. contains one work order. If however, the message is required to contain a number of business transactions, e.g. multiple work orders, then the additional content, e.g. work orders, is represented by instantiating multiple occurrences of the Content_item_selected item, instantiated by the template representing_message, and linking this to the message and content.



Figure 11 —  EXPRESS-G diagram for identifying a message and its envelope

Figure 11 —  EXPRESS-G diagram for identifying a message and its envelope

The following templates are used in Figure 11 to represent a message:

Template #1 (Figure 11): representing_message
Description The package of data to be exchanged
Parameter name: Parameter value: Parameter description:
rep_msg_id ?rep_msg_id? the identifier of the message
rep_msg_id_class_name "Message_identification_code" (urn:plcs:rdl:std:Message_identification_code) The name of the class being used to classify the identification (Identification_assignment) of the message. This provides the role or reason for the identification.
rep_msg_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the rep_msg_id_class_name.
rep_msg_id_owner ?rep_msg_id_owner? The identifier or name of the organization that "owns" the message identifier.
rep_msg_id_owner_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
rep_msg_id_owner_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the cnt_org_id_class_name class items.
date_class_name "Date_actual_extraction" (urn:plcs:rdl:std:Date_actual_extraction) The name of the class being used to classify the role date assignment, e.g. the message sending date.
date_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the date_class_name class items.
year ?year? The 'year' component of: the date the data was extracted from the source system.
month ?month? The 'month' component of: the date the data was extracted from the source system .
day ?day? The 'day' component of: the date the data was extracted from the source system. This can be in local time or UTC
hour ?hour? The 'hour' component of: the date the data was extracted from the source system. This can be in local time or UTC.
minute ?minute? The 'minute' component of: the date the data was extracted from the source system. This can be in local time or UTC.
second ?second? The 'second' component of: the date the data was extracted from the source system. This can be in local time or UTC
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC
ap239_id_class_name "AP239_version" (urn:plcs:rdl:std:AP239_version) The name of the class being used to classify the Message as a container of ISO 10303-239 data of a given version. The class identifies the version of ISO 10303-239 to which the data in the message conforms.
ap239_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the ap239_id_class_name class items.
dex_id_class_name "DEX_message_aviation_maintenance_v1" (urn:plcs:rdl:std:DEX_message_aviation_maintenance_v1) The name of the class being used to classify the Message as a container of an identified DEX. The class defines the DEX to which the data in the message conforms.
dex_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the dex_id_class_name class items.
content Activity_actual This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #3 (Figure 11): assigning_contract
Description The identification of the contract covering the message.
Parameter name: Parameter value: Parameter description:
cnt_id ?cnt_id? the identifier of the contract
cnt_id_class_name "Contract_identification_code" (urn:plcs:rdl:std:Contract_identification_code) The name of the class being used to classify the identification (Identification_assignment) of the contract.
cnt_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the cnt_id_class_name.
cnt_org_id ?cnt_org_id? The identifier or name of the organization that "owns" the identifier.
cnt_org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization.
cnt_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the cnt_org_id_class_name class items.
items Message The items to which the contract is assigned
Template #4 (Figure 11): assigning_time
Description The time the message was sent.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_message_sent" (urn:plcs:rdl:std:Date_message_sent) The name of the class being used to classify the role date assignment, e.g. the start date.
date_ecl_id "urn:plcs:rdl:std" The id of the External_class_library in which the date class is defined.
year ?year? The 'year' component of: the date the message was sent.
month ?month? The 'month' component of: the date the message was sent.
day ?day? The 'day' component of: the date the message was sent. This can be in local time or UTC
hour ?hour? The 'hour' component of: the date the message was sent. This can be in local time or UTC.
minute ?minute? The 'minute' component of: the date the message was sent. This can be in local time or UTC
second ?second? The 'second' component of: the date the message was sent. This can be in local time or UTC.
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC.
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC.
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC.
items Message The items to which the date is assigned.
Template #5 (Figure 11): assigning_security_classification
Description The security classification of the message
Parameter name: Parameter value: Parameter description:
security_class_name "Security_classification" (urn:plcs:rdl:std:Security_classification) The name of the class being used to classify the security level. (Security_classification_assignment)
security_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @security_assgn_class_name.
items Message The items to which the security classification is assigned.
Template #6 (Figure 11): assigning_person_in_organization
Description The identification of the sender or receiver.
Parameter name: Parameter value: Parameter description:
last_name ?last_name? The last name of the person sending or receiving the message
first_name ?first_name? The first name of the person sending or receiving the message; use "unknown" when the information is not known to the sending system
middle_names ?middle_names? The middle name of the person sending or receiving the message; use "unknown" when the information is not known to the sending system
prefix_titles ?prefix_titles? The prefix title of the person sending or receiving the message; use "unknown" when the information is not known to the sending system
suffix_titles ?suffix_titles? The suffix title of the person sending or receiving the message; use "unknown" when the information is not known to the sending system
person_role_class_name "Receiver_of" (urn:plcs:rdl:std:Receiver_of) "Sender_of" (urn:plcs:rdl:std:Sender_of) The name of the class being used to classify the person assignment () This provides the role for the assignment.
person_role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @person_role_class_name class.
org_id ?org_id? The identifier of the organization in which the person sending or receiving the message.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name or code that identifies (Identification_assignment) an organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
items Message The items to which the person is assigned
Template #7 (Figure 11): assigning_organization
Description The identification of the sender or receiver.
Parameter name: Parameter value: Parameter description:
org_id ?org_id? The identifier of the sending or receiving organization
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
org_assgn_class_name "Receiver_of" (urn:plcs:rdl:std:Receiver_of) "Sender_of" (urn:plcs:rdl:std:Sender_of) The name of the class being used to classify the assignment of the organization. (Organization_or_person_in_organization_assignment) This provides the role or reason for the assignment. For example 'Owner_of'.
org_assgn_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_assgn_class_name.
items Message The items to which the organization is assigned

The templates used to content of the message is described in subsequent sections. Namely:

Representing a maintenance work order

Business information

Maintenance activities that are performed on an aircraft normally require a level of authorization. This can be represented by a maintenance work order. The information that can be associated with a maintenance work order is summarized in the UML class diagram in Figure 12. This is a subset of the UML diagrams shown in Figure 8 in Section: Aviation maintenance Business Information Requirements - Message and Figure 7 in Section: Aviation maintenance Business Information Requirements - Information.

NOTE    The information shown in the UML class diagram in Figure 12 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 12 —  UML model representing a maintenance work order

Figure 12 —  UML model representing a maintenance work order

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent a maintenance work order. This is summarised in Figure 13 below.

A work order is required to conduct work on an aircraft. Work orders are the authority to conduct an activity on a reportable_item.

A work order is represented by an instance of Work_order which is defined as part of the template #4 representing_work_order as shown in the EXPRESS-G diagram, Figure 13, below.

The type of activity that is authorized, such as maintenance, installation, repair/overhual is provided by classifying the activity by using the template #18 assigning_reference_data.

The work order is normally raised against a particular reportable item, the item for which work is required. The reportable item is represented by the template #2 representing_product_as_realized described in the capability C045: representing_product_as_individual (NB Capabilities are not documented in this release of the PLCS standard) . The work order is related to the representing_product_as_realized by an Applied_activity_assignment within template #4 representing_work_order. The work order may also be raised against the end item, the item to which the reportable item is fitted. The end item is represented by the template #9 representing_product_as_realized and related to the work order by the template #1 assigning_activity. The end item is related to the reportable item by the template #8 representing_promissory_usage described in the capability C003: representing_assembly_structure (NB Capabilities are not documented in this release of the PLCS standard) . Section: Representing a reportable item provides details of how a reportable item is represented.

A work order identifies the method by which the authorised activity is to be done - a standard maintenance task. This is a description of the work to be done or a more formal task specification. The informal description is represented by the template #5 representing_typical_activity. Where a formal task specification is available, the template #17 referencing_task is used to identify the task. The task is related to the typical activity by the entity Activity_method_realization.

The work order can have a status which is represented by template #12 assigning_asserted_state described in the capability C041: representing_state_observed (NB Capabilities are not documented in this release of the PLCS standard) . The work order can record a date on which the authorized work was planned to start, a date it was planned to end and the date that the work was actually completed; these are respectively represented by the templates #15, #16 and #13 assigning_time described in the capability C036: assigning_date_time (NB Capabilities are not documented in this release of the PLCS standard) . The organization that raises the work order can be record; this is represented by template #19 assigning_organization described in the capability C094: assigning_organization (NB Capabilities are not documented in this release of the PLCS standard) . The work order can record the organization that conducts the maintenance; this is represented by template #10 assigning_organization described in the capability C094: assigning_organization (NB Capabilities are not documented in this release of the PLCS standard) . The work order can record information about the type of organization that conducts the maintenance, e.g. the line of repair (first line, second line); this is represented by template #11 assigning_reference_data described in the capability C010: assigning_reference_data (NB Capabilities are not documented in this release of the PLCS standard) . The work order can record the description of the work order; this is represented by template #14 assigning_descriptor described in the capability C095: assigning_descriptor (NB Capabilities are not documented in this release of the PLCS standard) .

The relationship between two work orders or a work order and an engineering instruction is represented by Activity_relationship. This relates the authorised activity (Directed_activity) instantiated by the work order (template #4 representing_work_order) to the authorised activity (Directed_activity) of the related work order or engineering instruction instantiated by the template #7 and #6 referencing_work_order as shown in the EXPRESS-G diagram, Figure 13, below.

The activity identifying the work done on the reportable item that was authorised by the maintenance work order is represented by template #3 representing_work_done described in the capability C064: representing_work_done (NB Capabilities are not documented in this release of the PLCS standard) . Section: Representing reportable item maintenance activity provides details of how to represent the work done.



Figure 13 —  EXPRESS-G diagram for work order

Figure 13 —  EXPRESS-G diagram for work order

The following templates are used in Figure 13 to represent the maintenance work order:

Template #1 (Figure 13): assigning_activity
Description Relates the work order to the end item that is the subject of the work order
Parameter name: Parameter value: Parameter description:
role_class_name "Activity_output" (urn:plcs:rdl:std:Activity_output) The class name of the External_class corresponding to the role of the assignment, e.g. "Activity_input" (urn:plcs:rdl:std:Activity_input), or "Activity_output" (urn:plcs:rdl:std:Activity_output).
role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @role_class_name.
assigned_activity Directed_activity This is the authorized activity that is represented as a Directed_activity which is part of template representing_work_order.
items Product_as_realized This is the Product_as_realized that represents the end item.

The use of template #2 representing_product_as_realized in Figure 13 is identical to, and described in, template table: Template #1(Figure 18).

Template #3 (Figure 13): representing_work_done
Description The work done on the reportable item.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier assigned to the work done
id_class_name "Activity_identification_code" (urn:plcs:rdl:std:Activity_identification_code) The name of the class being used to classify the identification (Identification_assignment) of the actual activity. This provides the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @id_class_name class.
id_owner ?org_id? The identifier of the organization that "owns" the identifier.
id_owner_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
id_owner_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the org_id_class_name class items.
date_class_name "Date_actual_start" (urn:plcs:rdl:std:Date_actual_start) The date the activity was started
date_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the date_name class items.
year ?year? the year component of the start date and time of the work that was done
month ?month? the month component of the start date and time of the work that was done
day ?day? the day component of the start date and time of the work that was done. This can be in local time or UTC
hour ?hour? the hour component of the start date and time of the work that was done. This can be in local time or UTC
minute ?minute? the minute component of the start date and time of the work that was done. This can be in local time or UTC
second ?second? the second component of the start date and time of the work that was done. This can be in local time or UTC
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC
items Product_as_individual_view The reportable item that the work was done on represented as Product_as_individual_view which is part of template representing_product_as_realized.
predicted_work Directed_activity The authorized planned work represented as a Directed_activity which is part of template representing_work_order.
method Activity_method The method used to do the work represented as Activity_method which is part of template representing_typical_activity.
Template #4 (Figure 13): representing_work_order
Description The authority to perform the work.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier assigned to the work order
id_class_name "Work_order_identification_code" (urn:plcs:rdl:std:Work_order_identification_code) The name of the class used to classify the identifier and so provide the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @id_class_name class
org_id ?org_id? The identifier of the organization that "owns" the identifier.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization. For example CAGE code.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the org_id_class_name class items.
date_class_name "Work_order_issue_date" (urn:plcs:rdl:std:Work_order_issue_date) The date the Work_order raised.
date_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the date_name class items.
year ?year? the year component of the start date and time of the work order was raised
month ?month? the month component of the start date and time of the work order was raised
day ?day? the day component of the start date and time of the work order was raised. This can be in local time or UTC
hour ?hour? the hour component of the start date and time of the work order was raised. This can be in local time or UTC
minute ?minute? the minute component of the start date and time of the work order was raised. This can be in local time or UTC
second ?second? the second component of the start date and time of the work order was raised. This can be in local time or UTC
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC
act_id ?act_id? The version identifier assigned to the work order
act_id_class_name "Activity_identification_code" (urn:plcs:rdl:std:Activity_identification_code) The name of the class used to classify the identifier in parameter @act_idand so provide the role or reason for the identification.
act_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @act_id_class_name class
act_org_id ?act_org_id? The identifier of the organization that "owns" the version identifier.
act_org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization that "owns" the version identifier. For example CAGE code.
act_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the act_org_id_class_name class items.
appr_status "Status_of_approval" (urn:plcs:rdl:std:Status_of_approval) The class name of the External_class corresponding to the approval status of the work order.
appr_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the act_org_id_class_name class items.
input Product_as_individual_view The reportable item that is the subject of the work order, represented as Product_as_individual_view which is part of template representing_product_as_realized.
in_response_to Work_request The work request that caused the work order.
chosen_method Activity_method The method used to do the work represented as Activity_method which is part of template representing_typical_activity.
appr_pers_org Person_in_organization instantiated by representing_person_in_organization or instantiated by Organization representing_organization The person or organization that approved the work order.
Template #4a (Figure 13): representing_organization
Description The organization that approved the work order.
Parameter name: Parameter value: Parameter description:
org_id ?org_id? The identifier of the organization that approved the maintenance work order
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.

The use of template #5 representing_typical_activity in Figure 13 is identical to, and described in, template table: Template #1(Figure 15).

Template #6 (Figure 13): referencing_work_order
Description Related engineering instruction.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier assigned to the engineering instruction
id_class_name "Work_order_identification_code" (urn:plcs:rdl:std:Work_order_identification_code) The name of the class used to classify the identifier and so provide the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @id_class_name class
org_id ?org_id? The identifier of the organization that "owns" the identifier.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization. For example CAGE code.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the org_id_class_name class items.
act_id ?act_id? The version identifier assigned to the engineering instruction
act_id_class_name "Activity_identification_code" (urn:plcs:rdl:std:Activity_identification_code) The name of the class used to classify the identifier in parameter @act_idand so provide the role or reason for the identification.
act_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @act_id_class_name class
act_org_id ?act_org_id? The identifier of the organization that "owns" the version identifier.
act_org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization that "owns" the version identifier. For example CAGE code.
act_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the act_org_id_class_name class items.
Template #7 (Figure 13): referencing_work_order
Description Related work order.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier assigned to the related work order
id_class_name "Work_order_identification_code" (urn:plcs:rdl:std:Work_order_identification_code) The name of the class used to classify the identifier and so provide the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @id_class_name class
org_id ?org_id? The identifier of the organization that "owns" the identifier.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization. For example CAGE code.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the org_id_class_name class items.
act_id ?act_id? The version identifier assigned to the related work order
act_id_class_name "Activity_identification_code" (urn:plcs:rdl:std:Activity_identification_code) The name of the class used to classify the identifier in parameter @act_idand so provide the role or reason for the identification.
act_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @act_id_class_name class
act_org_id ?act_org_id? The identifier of the organization that "owns" the version identifier.
act_org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization that "owns" the version identifier. For example CAGE code.
act_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the act_org_id_class_name class items.

The use of template #8 representing_promissory_usage in Figure 13 is identical to, and described in, template table: Template #2(Figure 30).

The use of template #9 representing_product_as_realized in Figure 13 is identical to, and described in, template table: Template #1(Figure 18).

Template #10 (Figure 13): assigning_organization
Description The organization conducting the maintenance.
Parameter name: Parameter value: Parameter description:
org_id ?org_id? The identifier of the maintenance organization
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
org_assgn_class_name "Performer_of" (urn:plcs:rdl:std:Performer_of) The name of the class being used to classify the assignment of the organization. (Organization_or_person_in_organization_assignment) This provides the role or reason for the assignment. For example 'Owner_of'.
org_assgn_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_assgn_class_name.
items Directed_activity The authorized planned work represented as a Directed_activity which is part of template representing_work_order.
Template #11 (Figure 13): representing_organization_typical
Description The type of organization undertaking the work
Parameter name: Parameter value: Parameter description:
org_type_class_name "Classification_assignment" (urn:plcs:rdl:std:Classification_assignment) The name of the External_class that determines the organization type being referenced.
org_type_ecl_id "urn:plcs:rdl:std" The identification of the External_class_library storing the External_class given by the input parameter @org_type_class_name.
Template #12 (Figure 13): assigning_asserted_state
Description The status of the work order.
Parameter name: Parameter value: Parameter description:
state_class_name "State_of_work_order" (urn:plcs:rdl:std:State_of_work_order) The class name of the External_class corresponding to the State_definition name.
state_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @state_class_name.
assigned_to Work_order The Work_order which is part of template representing_work_order.
Template #13 (Figure 13): assigning_time
Description The date the work order was closed.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_actual_end" (urn:plcs:rdl:std:Date_actual_end) The name of the class being used to classify the role date assignment, e.g. the start date.
date_ecl_id urn:plcs:rdl:std The id of the External_class_library in which the date class is defined.
year ?year? the year component of the actual end date and time of the work order
month ?month? the month component of the actual end date and time of the work order
day ?day? the day component of the actual end date and time of the work order. This can be in local time or UTC
hour ?hour? the hour component of the actual end date and time of the work order. This can be in local time or UTC
minute ?minute? the minute component of the actual end date and time of the work order. This can be in local time or UTC
second ?second? the second component of the actual end date and time of the work order. This can be in local time or UTC
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC
items Work_order The Work_order which is part of template representing_work_order.
Template #14 (Figure 13): assigning_descriptor
Description The description of the work order
Parameter name: Parameter value: Parameter description:
descr ?descr? The description of the work order
class_name "Description" (urn:plcs:rdl:std:Description) The name of the class (External_class) being used to determine type of descriptor.
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the class.
is_assigned_to Work_order The work order that is being described, represented as a Work_order
Template #15 (Figure 13): assigning_time
Description Planned start date.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_planned_start" (urn:plcs:rdl:std:Date_planned_start) The name of the class being used to classify the role date assignment, e.g. the start date.
date_ecl_id "urn:plcs:rdl:std" The id of the External_class_library in which the date class is defined.
year ?year? The 'year' component of the planned start date
month ?month? The 'month' component of the planned start date
day ?day? The 'day' component of the planned start date. This can be in local time or UTC
hour ?hour? The 'hour' component of the planned start date. This can be in local time or UTC
minute ?minute? The 'minute' component of the planned start date. This can be in local time or UTC
second ?second? The 'second' component of the planned start date. This can be in local time or UTC
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC
items Directed_activity The authorized planned work represented as a Directed_activity which is part of template representing_work_order.
Template #16 (Figure 13): assigning_time
Description Planned end date.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_planned_end" (urn:plcs:rdl:std:Date_planned_end) The name of the class being used to classify the role date assignment, e.g. the start date.
date_ecl_id "urn:plcs:rdl:std" The id of the External_class_library in which the date class is defined.
year ?year? The 'year' component of the planned end date
month ?month? The 'month' component of the planned end date
day ?day? The 'day' component of the planned end date. This can be in local time or UTC
hour ?hour? The 'hour' component of the planned end date. This can be in local time or UTC
minute ?minute? The 'minute' component of the planned end date. This can be in local time or UTC
second ?second? The 'second' component of the planned end date. This can be in local time or UTC
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC
items Directed_activity The authorized planned work represented as a Directed_activity which is part of template representing_work_order.

The use of template #17 referencing_task in Figure 13 is identical to, and described in, template table: Template #2(Figure 15).

Template #18 (Figure 13): assigning_reference_data
Description Type of directed activity
Parameter name: Parameter value: Parameter description:
class_name "Maintenance_activity" (urn:plcs:rdl:std:Maintenance_activity) The name of the class in the reference data library (External_class) being used to classify something
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items Directed_activity The authorized planned work represented as a Directed_activity which is part of template representing_work_order.
Template #19 (Figure 13): assigning_organization
Description The organization raising the work order.
Parameter name: Parameter value: Parameter description:
org_id ?org_id? The identifier of the organization that raised the maintenance work order
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
org_assgn_class_name "Maintainer_of" (urn:plcs:rdl:std:Maintainer_of) The name of the class being used to classify the assignment of the organization. (Organization_or_person_in_organization_assignment) This provides the role or reason for the assignment. For example 'Owner_of'.
org_assgn_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_assgn_class_name.
items Work_order The Work_order which is part of template representing_work_order.

Representing reportable item maintenance activity

Business information

The Aviation maintenance DEX is used to report on a number of different maintenance activities performed on a reportable item. These are summarized in Section: Aviation maintenance - Reportable activities. and include:

The information necessary to record a maintenance activity performed on a Reportable item can be summarized by the UML class diagram shown in Figure 14. This is a subset of the UML diagrams shown in Figure 8 in Section: Aviation maintenance Business Information Requirements - Message and Figure 7 in Section: Aviation maintenance Business Information Requirements - Information.

NOTE    The information shown in the UML class diagram in Figure 14 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 14 —  Model representing reportable item maintenance activity

Figure 14 —  Model representing reportable item maintenance activity

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent a maintenance activity. This is summarised in Figure 15 below.

The maintenance activity is a record of an activity that has been carried out on a product. It is represented in ISO 10303-239 PLCS by an Activity_actual, which is part of template #5 representing_work_done.

The type of activity that has been undertaken, such as maintenance, installation, repair/overhual is provided by classifying the Activity_actual by using template #24 assigning_reference_data.

The approval status of the activity, i.e. a record of who approved or signed off the work that has been completed, is given in template #25 assigning_approval.

The template #3 representing_work_order is used to represent a maintenance work order which is the authority to undertake the work. The template #1 representing_typical_activity is used identify the method used to perform the activity. The template #2 referencing_task can be used to identify the standard maintenance task that the method used to perform the activity was based on. A standard maintenance task is one where there is a set of procedures or a specification defined.

The reportable item that is the focus of the activity, and is input to the activity is represented by the template #4 representing_product_as_realized. If the activity causes a change of identification of the item, such as changes to the part number or serial number then this is represented by another instance of the template #6 representing_product_as_realized related to the template representing_work_done via the template #9 assigning_activity.

The time and date when the maintenance activity was actually started is represented by template #12 assigning_time and the time and date that the activity was reported, template #8. The person who completed the work is represented by template #23 assigning_person_in_organization. The person who reported the work by template #7.

NOTE    Where the organization, rather than th person in the organization is being recorded, use the template assigning_organization instead of assigning_person_in_organization.

The resources, such as spare parts and trades e.g. electrician used to perform the activity are represented by template #13 assigning_realized_resource. The representation of resources is discussed further in Section: Representing resource: replaced parts and Section: Representing resource: trades used.

Properties such as the time taken to perform the activity can also be recorded, represented by templates #14, #16, #18, #20 assigning_process_property and template #15, #17, #19, #21 process_property_numeric.

If any notes, remarks or comments are to be noted about the maintenance activity these are represented by template #22 assigning_descriptor.

The maintenance activity is described in template representing_work_done and shown in Figure 15 below.



Figure 15 —  EXPRESS-G diagram for reportable item maintenance activity

Figure 15 —  EXPRESS-G diagram for reportable item maintenance activity

The following templates are used in Figure 15 to represent a maintenance activity:

Template #1 (Figure 15): representing_typical_activity
Description The method used to perform the maintenance activity
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the method used.
id_class_name "Activity_method_identification_code" (urn:plcs:rdl:std:Activity_method_identification_code) The name of the class being used to classify the identification (Identification_assignment) of the typical activity. This provides the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @id_class_name class.
id_owner ?id_owner? The identifier of the organization that "owns" the identifier of the method used.
id_owner_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
id_owner_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @id_owner_class_name class
type "Typical_activity" (urn:plcs:rdl:std:Typical_activity) The name of the class being used to classify the typical activity.
type_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @type class.
Template #2 (Figure 15): referencing_task
Description The standard maintenance task used to perform the activity
Parameter name: Parameter value: Parameter description:
task_id ?task_id? The identifier of the standard maintenance task.
task_id_class_name "Task_method_identification_code" (urn:plcs:rdl:std:Task_method_identification_code) The class which specifies the role of the Identification_assignment as an identifier for the Task_method.
task_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_id_class_name.
task_org_id ?task_org_id? The identifier of the organization that owns the standard maintenance task identifier.
task_org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The class which specifies the role of the (Identification_assignment) as the identifier or name of the Organization responsible for creating the task specification
task_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_org_id_class_name.
task_ver_id ?task_ver_id? The identifier of the version of the standard maintenance task
task_ver_id_class_name "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code) The class which specifies the role of the Identification_assignment as a version identifier for the Task_method_version.
task_ver_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_ver_id_class_name.
task_ver_org_id ?task_org_id? The identifier of the organization that owns the version of the standard maintenance task identifier.
task_ver_org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The class which specifies the role of the (Identification_assignment) as the identifier or name of the Organization responsible for creating the task specification version.
task_ver_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @task_ver_org_id_class_name.

The use of template #3 representing_work_order in Figure 15 is identical to, and described in, template table: Template #4(Figure 13).

The use of template #4 representing_product_as_realized in Figure 15 is identical to, and described in, template table: Template #1(Figure 18) for the item that is the focus of the maintenance activity.

The use of template #5 representing_work_done in Figure 15 is identical to, and described in, template table: Template #3(Figure 13).

The use of template #6 representing_product_as_realized in Figure 15 is identical to, and described in, template table: Template #1(Figure 18) for the item that is the output of the maintenance activity when the identification information has changed, such as part number, serial number.

Template #7 (Figure 15): assigning_person_in_organization
Description The person and organization reporting the activity.
Parameter name: Parameter value: Parameter description:
last_name ?last_name? The last name of the person reporting the activity
first_name ?first_name? The first name of the person reporting the activity; use "unknown" when the information is not known to the sending system
middle_names ?middle_names? The middle name of the person reporting the activity; use "unknown" when the information is not known to the sending system
prefix_titles ?prefix_titles? The prefix title of the person reporting the activity; use "unknown" when the information is not known to the sending system
suffix_titles ?suffix_titles? The suffix title of the person reporting the activity; use "unknown" when the information is not known to the sending system
person_role_class_name "Reporter_of" (urn:plcs:rdl:std:Reporter_of) The name of the class being used to classify the person assignment () This provides the role for the assignment.
person_role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @person_role_class_name class.
org_id ?org_id? The identifier of the organization in which the person reporting of the activity work.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name or code that identifies (Identification_assignment) an organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
items Activity_actual The activity to which the person is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #8 (Figure 15): assigning_time
Description The reporting date and time of the activity.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_actual_reported" (urn:plcs:rdl:std:Date_actual_reported) The name of the class being used to classify the role date assignment, e.g. the start date.
date_ecl_id "urn:plcs:rdl:std" The id of the External_class_library in which the date class is defined.
year ?year? The 'year' component of the reporting date
month ?month? The 'month' component of the reporting date
day ?day? The 'day' component of the reporting date. This can be in local time or UTC
hour ?hour? The 'hour' component of the reporting date. This can be in local time or UTC
minute ?minute? The 'minute' component of the reporting date. This can be in local time or UTC
second ?second? The 'second' component of the reporting date. This can be in local time or UTC
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC
items Activity_actual The activity to which the date is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #9 (Figure 15): assigning_activity
Description Relates the maintenance activity to the reportable item.
Parameter name: Parameter value: Parameter description:
role_class_name "Activity_output" (urn:plcs:rdl:std:Activity_output) The class name of the External_class corresponding to the role of the assignment, e.g. "Activity_input" (urn:plcs:rdl:std:Activity_input), or "Activity_output" (urn:plcs:rdl:std:Activity_output).
role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @role_class_name.
assigned_activity Activity_actual This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
items Product_as_realized which is part of template representing_product_as_realized. The activity, product, individual, task_method, etc that is being assigned to the activity.
Template #12 (Figure 15): assigning_time
Description The actual start date and time of the activity.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_actual_start" (urn:plcs:rdl:std:Date_actual_start) The name of the class being used to classify the role date assignment, e.g. the start date.
date_ecl_id "urn:plcs:rdl:std" The id of the External_class_library in which the date class is defined.
year ?year? The 'year' component of the actual start date
month ?month? The 'month' component of the actual start date
day ?day? The 'day' component of the actual start date. This can be in local time or UTC
hour ?hour? The 'hour' component of the actual start date. This can be in local time or UTC
minute ?minute? The 'minute' component of the actual start date. This can be in local time or UTC
second ?second? The 'second' component of the actual start date. This can be in local time or UTC
sense ?sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
hour_offset ?hour_offset? The hour offset from UTC, use 0 when the time is UTC
minute_offset ?minute_offset? The minute offset from UTC, use 0 when the time is UTC
items Activity_actual The activity to which the date is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.

The use of template #13 assigning_realized_resource is described in Section: Representing resource: replaced parts and Section: Representing resource: trades used.

Template #14 (Figure 15): assigning_process_property
Description Properties of the activity. Actual man hours taken to perform the activity process_property_numeric assigns the value and unit to a property instantiated by this template.
Parameter name: Parameter value: Parameter description:
property_class_name "Activity_actual_duration" (urn:plcs:rdl:std:Activity_actual_duration) The class name of the External_class corresponding to the property name.
property_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @property_class_name.
described_element Activity_actual The activity to which the property is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #15 (Figure 15): process_property_numeric
Description Numeric property value and unit.
Parameter name: Parameter value: Parameter description:
value ?value? the actual value of the time taken to complete the activity
unit Where unit is in hours use: "Hour" (urn:plcs:rdl:std:Hour) Where unit is in minutes use: "Minute" (urn:plcs:rdl:std:Minute). Where unit is in seconds use: "Second" (urn:plcs:rdl:std:Second). Where unit is in days use: "Day" (urn:plcs:rdl:std:Day). Where unit is in man hours use: "Man_hour" (urn:plcs:rdl:std:Man_hour). The class name of the unit in which the value is expressed.
unit_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @unit.
si_unit 'true' if an SI unit, 'false' if not Value should be set to true if the unit is a SI base unit defined by ISO, i.e. kilogram (kg) for Mass, second (s) for Time, metre (m) for Displacement, ampere (A) for Electrical current, kelvin (K) for Temperature, mole (mol) for Amount of substance, and candela (cd) for Luminous intensity. If this is not the case it should be set to false.
Note that the representation of true and false depends on exchange format. In Part 11 (a STEP file) true is represented by the string ".T.", and false by ".F.", while in Part 28 (XML) they are represented by text strings "true" and "false".
context 'Numerical_representation_context' The name of the class being used to classify the representation context (Numerical_representation_context) of the property.
context_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @context.
property The Activity_property entity instantiated by the template assigning_process_property. The target of the template, i.e. the Activity_property (or template assigning_process_property) to which the Activity_property_representation is related.
Template #16 (Figure 15): assigning_process_property
Description Properties of the activity. Expected man hours to perform the activity. process_property_numeric assigns the value and unit to a property instantiated by this template.
Parameter name: Parameter value: Parameter description:
property_class_name "Activity_planned_duration" (urn:plcs:rdl:std:Activity_planned_duration) The class name of the External_class corresponding to the property name.
property_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @property_class_name.
described_element Directed_activity The authorized activity to which the property is assigned. This is the activity that is represented as a Directed_activity which is part of template representing_work_order.
Template #17 (Figure 15): process_property_numeric
Description Numeric property value and unit.
Parameter name: Parameter value: Parameter description:
value ?value? the expected value of the time taken to complete the activity
unit Where unit is in hours use: "Hour" (urn:plcs:rdl:std:Hour). Where unit is in minutes use: "Minute" (urn:plcs:rdl:std:Minute). Where unit is in seconds use: "Second" (urn:plcs:rdl:std:Second). Where unit is in days use: "Day" (urn:plcs:rdl:std:Day). Where unit is in man hours use: "Man_hour" (urn:plcs:rdl:std:Man_hour). The class name of the unit in which the value is expressed.
unit_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @unit.
si_unit 'true' if an SI unit, 'false' if not Value should be set to true if the unit is a SI base unit defined by ISO, i.e. kilogram (kg) for Mass, second (s) for Time, metre (m) for Displacement, ampere (A) for Electrical current, kelvin (K) for Temperature, mole (mol) for Amount of substance, and candela (cd) for Luminous intensity. If this is not the case it should be set to false.
Note that the representation of true and false depends on exchange format. In Part 11 (a STEP file) true is represented by the string ".T.", and false by ".F.", while in Part 28 (XML) they are represented by text strings "true" and "false".
context 'Numerical_representation_context' The name of the class being used to classify the representation context (Numerical_representation_context) of the property.
context_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @context.
property The Activity_property entity instantiated by the template assigning_process_property. The target of the template, i.e. the Activity_property (or template assigning_process_property) to which the Activity_property_representation is related.
Template #18 (Figure 15): assigning_process_property
Description Properties of the activity. Man hours used so far in performing the activity process_property_numeric assigns the value and unit to a property instantiated by this template.
Parameter name: Parameter value: Parameter description:
property_class_name "Activity_elapsed_duration" (urn:plcs:rdl:std:Activity_elapsed_duration) The class name of the External_class corresponding to the property name.
property_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @property_class_name.
described_element Activity_actual The activity to which the property is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #19 (Figure 15): process_property_numeric
Description Numeric property value and unit.
Parameter name: Parameter value: Parameter description:
value ?value? the value of the time accomplished on the activity
unit Where unit is in hours use: "Hour" (urn:plcs:rdl:std:Hour). Where unit is in minutes use: "Minute" (urn:plcs:rdl:std:Minute). Where unit is in seconds use: "Second" (urn:plcs:rdl:std:Second). Where unit is in days use: "Day" (urn:plcs:rdl:std:Day). Where unit is in man hours use: "Man_hour" (urn:plcs:rdl:std:Man_hour). The class name of the unit in which the value is expressed.
unit_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @unit.
si_unit 'true' if an SI unit, 'false' if not Value should be set to true if the unit is a SI base unit defined by ISO, i.e. kilogram (kg) for Mass, second (s) for Time, metre (m) for Displacement, ampere (A) for Electrical current, kelvin (K) for Temperature, mole (mol) for Amount of substance, and candela (cd) for Luminous intensity. If this is not the case it should be set to false.
Note that the representation of true and false depends on exchange format. In Part 11 (a STEP file) true is represented by the string ".T.", and false by ".F.", while in Part 28 (XML) they are represented by text strings "true" and "false".
context 'Numerical_representation_context' The name of the class being used to classify the representation context (Numerical_representation_context) of the property.
context_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @context.
property The Activity_property entity instantiated by the template assigning_process_property. The target of the template, i.e. the Activity_property (or template assigning_process_property) to which the Activity_property_representation is related.
Template #20 (Figure 15): assigning_process_property
Description Properties of the activity. Percentage of the activity in man hours that has been completed process_property_numeric assigns the value and unit to a property instantiated by this template.
Parameter name: Parameter value: Parameter description:
property_class_name "Activity_percentage_complete" (urn:plcs:rdl:std:Activity_percentage_complete) The class name of the External_class corresponding to the property name.
property_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @property_class_name.
described_element Activity_actual The activity to which the property is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #21 (Figure 15): process_property_numeric
Description Numeric property value and unit.
Parameter name: Parameter value: Parameter description:
value ?value? The value of the percentage complete of the activity
unit "Percentage" (urn:plcs:rdl:std:Percentage) The class name of the unit in which the value is expressed.
unit_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @unit.
si_unit 'true' if an SI unit, 'false' if not Value should be set to true if the unit is a SI base unit defined by ISO, i.e. kilogram (kg) for Mass, second (s) for Time, metre (m) for Displacement, ampere (A) for Electrical current, kelvin (K) for Temperature, mole (mol) for Amount of substance, and candela (cd) for Luminous intensity. If this is not the case it should be set to false.
Note that the representation of true and false depends on exchange format. In Part 11 (a STEP file) true is represented by the string ".T.", and false by ".F.", while in Part 28 (XML) they are represented by text strings "true" and "false".
context 'Numerical_representation_context' The name of the class being used to classify the representation context (Numerical_representation_context) of the property.
context_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @context.
property The Activity_property entity instantiated by the template assigning_process_property. The target of the template, i.e. the Activity_property (or template assigning_process_property) to which the Activity_property_representation is related.
Template #22 (Figure 15): assigning_descriptor
Description A note, remark or comment on the activity, such as the text representing the work done.
Parameter name: Parameter value: Parameter description:
descr ?descr? the description of the work done on the activity
class_name "Description" (urn:plcs:rdl:std:Description) The name of the class (External_class) being used to determine type of descriptor.
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the class.
is_assigned_to Activity_actual The activity to which the description is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #23 (Figure 15): assigning_person_in_organization
Description The person and organization performing the activity.
Parameter name: Parameter value: Parameter description:
last_name ?last_name? The last name of the person performing the activity
first_name ?first_name? The first name of the person performing the activity; use "unknown" when the information is not known to the sending system
middle_names ?middle_names? The middle name of the person performing the activity; use "unknown" when the information is not known to the sending system
prefix_titles ?prefix_titles? The prefix title of the person performing the activity; use "unknown" when the information is not known to the sending system
suffix_titles ?suffix_titles? The suffix title of the person performing the activity; use "unknown" when the information is not known to the sending system
person_role_class_name "Performer_of" (urn:plcs:rdl:std:Performer_of) The name of the class being used to classify the person assignment () This provides the role for the assignment.
person_role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @person_role_class_name class.
org_id ?org_id? The identifier of the organization in which the person performing of the activity work.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name or code that identifies (Identification_assignment) an organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
items Activity_actual The activity to which the person is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #24 (Figure 15): assigning_reference_data
Description Type of activity done
Parameter name: Parameter value: Parameter description:
class_name "Maintenance_activity" (urn:plcs:rdl:std:Maintenance_activity) The name of the class in the reference data library (External_class) being used to classify something
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items Activity_actual The activity to which the activity type is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
Template #25 (Figure 15): assigning_approval
Description Approval of work done
Parameter name: Parameter value: Parameter description:
status For a not yet approved activity, use "Not_yet_approved" (urn:plcs:rdl:std:Not_yet_approved) For an approved activity, use "Approved" (urn:plcs:rdl:std:Approved) For an activity that is approved but with a concession, use "Approved_with_concession" (urn:plcs:rdl:std:Approved_with_concession) For an activity that has had its approval rejected, use "Rejected" (urn:plcs:rdl:std:Rejected) For an activity that has had its approval withdrawn, use "Withdrawn" (urn:plcs:rdl:std:Withdrawn) The name of the class used to classify the status (Approval_status) of the approval.
status_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @status.
items Activity_actual The activity to which the approval is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_work_done.
person_org Person_in_organization instantiated by representing_person_in_organization or instantiated by Organization representing_organization The person or organization that approved the work done.
Template #25a (Figure 15): representing_organization
Description The organization that approved the work done.
Parameter name: Parameter value: Parameter description:
org_id ?org_id? The identifier of the organization that approved the work done
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.

Representing a reportable item

Business information

The subject of the activity that is referenced in the Aviation Maintenance messages is referred to as the reportable item. It is normally the aircraft or component on the aircraft on which the activity was undertaken.

The reportable item is identified by the part number, serial number and stock code of the organization that manufactured the part, as shown in Figure 16. This is a subset of the UML diagrams shown in Figure 5 in Section: Aviation maintenance Business Information Requirements - Message and Figure 7 in Section: Aviation maintenance Business Information Requirements - Information.

NOTE    The information shown in the UML class diagram in Figure 16 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 16 —  UML model representing a reportable_item

Figure 16 —  UML model representing a reportable_item

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent a reportable item. This is summarised in Figure 17 and Figure 18 below. To clarify understanding Figure 17 shows the principal entities and templates used. Figure 18 shows the same information, but uses the the templates representing_product_as_realized and referencing_part which instantiate a number of the principal entities as indicated in Figure 17.

The reportable item is a physical product, therefore is represented in ISO 10303-239 PLCS by a Product_as_individual. This is described in the capability C045: representing_product_as_individual (NB Capabilities are not documented in this release of the PLCS standard) and instantiated by the template #1 representing_product_as_realized as shown in Figure 18.

The serial number is the identification of the Product_as_individual and is represented by an Identification_assignment represented by template #6 assigning_identification (Figure 17) and classified as "Serial_identification_code" (urn:plcs:rdl:std:Serial_identification_code). In some systems, a serial number change reflects the fact a modification has been made to a reportable item. Consequently the dates that a serial number is valid for is represented by template #7 assigning_dated_effectivity.

Each Product_as_individual has a version, represented by a Product_as_realized.

The part number identifies the part type or design from which the reportable item was manufactured. In ISO 10303-239 PLCS the part type is represented by a Part and identified by a part number, and its version represented by a Part_version identified by a version. (For details see the capability C002: representing_parts (NB Capabilities are not documented in this release of the PLCS standard) ) The part number identification is represented by template #0a assigning_identification assigned to the Part and classified as a "Part_identification_code" (urn:plcs:rdl:std:Part_identification_code). The part version identification is represented by template #0b assigning_identification assigned to the Part and classified as a "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code). These entities are instantiated by the template #0 referencing_part. The design is then related to the reportable item by the entity Product_design_version_to_individual.

When a modification is made to a reportable item, it is often in response to a change made to the part type or design, the Part. Depending on business practices, the design change may result in a new version of the part (Part_version), or a new Part, i.e. a new part number. The fact that the Product_as_individual is now related to the new part or version, hence has a new part number, is represented by instantiating another instance of Product_design_version_to_individual. The date s that a part number is valid for and hence the part design is represented by template #2 assigning_dated_effectivity assigned to Product_design_version_to_individual. For further details on representing changes to part numbers, see Section: Representing change of Part Number, Serial Number, and NSN: PLCS representation .

The part can have a description recorded and this is represented by template #5 assigning_descriptor. An individual instance of a part can also have a description recorded and this is represented by template #13 assigning_descriptor.

The Stock Code, e.g. NSN is a definition of the fit, form and function, or interchangeability of a part. There may be many parts that meet this definition. Therefore definition is represented as Resource_item that is identified by the Stock Code. The resource_items attribute lists all the parts that conform to the Stock Code definition. This is represented by the template #4 : representing_resource_item_realization.

The owning organization and the supplier organization are represented by assigning instances of template assigning_organization, templates #11 and #12 respectively, to the Product_as_individual. The assignments are classified as either "Owner_of" (urn:plcs:rdl:std:Owner_of) and "Manufacturer_of" (urn:plcs:rdl:std:Manufacturer_of) to indicate that the organization is the owner or manufacturer of the part.

Template #10, representing_work_done is used to show the activity that changed the Product_as_realized that was authorised by template #9, representing_work_order.

An EXPRESS-G diagram showing how the reportable item is identified is shown below.



Figure 17 —  EXPRESS-G diagram for identifying  a reportable item

Figure 17 —  EXPRESS-G diagram for identifying a reportable item



Figure 18 —  EXPRESS-G diagram for identifying  a reportable item

Figure 18 —  EXPRESS-G diagram for identifying a reportable item

The following templates are used in Figure 18 to represent a reportable item:

Template #0 (Figure 18): referencing_part
Description Representing the part type or design from which the reportable item was manufactured.
Parameter name: Parameter value: Parameter description:
part_id ?part_id? The identification of the Part being referenced.
part_id_class_name Where the identifier is a part number, use "Part_identification_code" (urn:plcs:rdl:std:Part_identification_code) The name of the External_class that determines the type of identifier given by the input parameter @part_id.
part_id_ecl_id "urn:plcs:rdl:std" The identification of the External_class_library storing the External_class given by the input parameter @part_id_class_name.
part_org_id ?part_org_id? The identification of the Organization that "owns" the Part identifier (@part_id).
part_org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the External_class that determines the type of organization identification (@part_org_id) being used. For example CAGE code.
part_org_id_ecl_id "urn:plcs:rdl:std" The identification of the External_class_library storing the External_class given by the input parameter @part_org_id_class_name
part_vn_id ?part_vn_id? The identifier of the part version
part_vn_id_class_name "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code) The name of the class being used to classify the identifier assigned ( Identification_assignment ) to the part version (i.e. the part_vn_id)
part_vn_id_ecl_id "urn:plcs:rdl:std" The identification of the External_class_library storing the External_class given by the input parameter @part_vn_id_class_name.
part_vn_org_id ?part_vn_org_id? The name or identifier of the organization owns the part version id.
part_vn_org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for providing the part version representation
part_vn_org_id_ecl_id "urn:plcs:rdl:std" The identification of the External_class_library storing the External_class given by the input parameter @part_vn_org_id_class_name.
Template #1 (Figure 18): representing_product_as_realized
Description Representing the reportable item.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the individual product, normally the serial number
id_class_name

Default: "Product_as_individual_identification_code" (urn:plcs:rdl:std:Product_as_individual_identification_code).

Where the identifier is a serial number, use: "Serial_identification_code" (urn:plcs:rdl:std:Serial_identification_code)

Where the identifier is a UID use: "UID" (urn:plcs:rdl:std:UID)

The name of the class being used to classify the identification (Identification_assignment) of the individual product. This provides the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @id_class_name class.
id_owner ?id_owner? The name or identifier of the organization owning the id or name.
id_owner_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
id_owner_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the @id_owner_class_name class
vn_id ?vn_id? The identifier of the Product_as_realized, e.g. version marking, modification status.
vn_id_class_name "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code) The name of the class being used to classify the identification (Identification_assignment) of the product_as_realized (a version of the individual product). This provides the role or reason for the identification.
vn_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @vn_id_class_name class.
vn_id_owner ?id_owner? The name or identifier of the organization owning the version_id.
vn_id_owner_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
vn_id_owner_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @vn_id_owner_class_name class
life_cycle_stage "Utilization_stage" (urn:plcs:rdl:std:Utilization_stage) The identifier of the External_class_library used to describe the type of life cycle stage of the View_definition_context instance.
life_cycle_stage_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @life_cycle_stage class.
domain "Product_life_cycle_support" (urn:plcs:rdl:std:Product_life_cycle_support) The identifier of the External_class_library used to describe the type of application domain of the View_definition_context instance.
domain_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @domain class.
product_design_version Part_version instantiated by referencing_part. The Part_version of the Part that provides definition for the reportable item.
Template #0a (Figure 17): assigning_identification
Description Part Number.

NOTE    This template is instantiated by the template referencing_part as shown in Figure 18.

Parameter name: Parameter value: Parameter description:
id ?id? The part number of the reportable item
id_class_name "Part_identification_code" (urn:plcs:rdl:std:Part_identification_code) The name of the class used to classify the identifier and so provide the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the id_class_name class
org_id ?org_id? The identifier or name of the organization that "owns" the identifier.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization, or the organization name. For example CAGE code.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the org_id_class_name class items.
items Part The part that is being identified (and reported on by a message), represented as a Part.
Template #0b (Figure 17): assigning_identification
Description Part Version.

NOTE    This template is instantiated by the template referencing_part as shown in Figure 18.

Parameter name: Parameter value: Parameter description:
id ?id? The part version of the reportable item
id_class_name "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code) The name of the class used to classify the identifier and so provide the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the id_class_name class
org_id ?org_id? The identifier or name of the organization that "owns" the version identifier.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization, or the organization name. For example CAGE code.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the org_id_class_name class items.
items Part_version The part version that is being identified (and reported on by a message), represented as a Part_version.
Template #2 (Figure 18): assigning_dated_effectivity
Description Start and finish date and time of part number
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the part number was effective from
start_month ?start_month? The month the part number was effective from
start_day ?start_day? The day the part number was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the part number was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the part number was effective from. This can be in local time or UTC
start_second ?start_second? The second the part number was effective from. This can be in local time or UTC
start_sense ?start_sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
start_hour_offset ?start_hour_offset? The hour offset from UTC, use 0 when the time is UTC
start_minute_offset ?start_minute_offset? The minute offset from UTC, use 0 when the time is UTC
end_year ?end_year? The year the part number was effective to
end_month ?end_month? The month the part number was effective to
end_day ?end_day? The day the part number was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the part number was effective to. This can be in local time or UTC
end_minute ?minute? The minute the part number was effective to. This can be in local time or UTC
end_second ?end_second? The second the part number was effective to. This can be in local time or UTC
end_sense ?end_sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
end_hour_offset ?end_hour_offset? The hour offset from UTC, use 0 when the time is UTC
end_minute_offset ?end_minute_offset? The minute offset from UTC, use 0 when the time is UTC
role_class_name "Actual_effectivity" (urn:plcs:rdl:std:Actual_effectivity) The name of the class being used to classify the effectivity assignment (Effectivity_assignment) This provides the role for the assignment.
role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @role_class_name class.
items Product_design_version_to_individual The relationship between the reportable item and the part from which it is manufactured.
Template #4 (Figure 18): representing_resource_item_realization
Description NSN: The Stock Code Number of the reportable item. Only used for Part Number, Part type or Serial number Change'
Parameter name: Parameter value: Parameter description:
res_item_id ?res_item_id? The stock code e.g. NSN of the item.
res_item_id_class If stock code is an NSN then use "NSN_code" (urn:plcs:rdl:std:NSN_code) else a sub class of "Resource_item_identification_code" (urn:plcs:rdl:std:Resource_item_identification_code). The type of identifier (@res_item_id) being referenced
res_item_id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the @res_item_id_class
res_item_id_org_id ?res_item_id_org_id? The Organization that "owns" the identifier.
res_item_id_org_id_class For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The type of Organization identifier.
res_item_id_org_id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the definition of the class used to classify the organization identifier.
res_item_items Part The part that is being identified by stock Code (and reported on by a message), represented as a Part.
Template #5 (Figure 18): assigning_descriptor
Description Description of the part. This need only be exchanged when the Part type or Serial number changes.
Parameter name: Parameter value: Parameter description:
descr ?descr? The description of the reportable item
class_name "Description" (urn:plcs:rdl:std:Description) The name of the class (External_class) being used to determine type of descriptor.
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the class.
is_assigned_to Part The part that is being described (and reported on by a message), represented as a Part.
Template #6 (Figure 18): assigning_identification
Description Part serial number and supplier.

NOTE    This template is instantiated by the template representing_product_as_realized as shown in Figure 18.

Parameter name: Parameter value: Parameter description:
id ?id? The serial number of the reportable item.
id_class_name "Serial_identification_code" (urn:plcs:rdl:std:Serial_identification_code) The name of the class used to classify the identifier and so provide the role or reason for the identification.
id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the id_class_name class
org_id ?org_id? The identifier or name of the organization that "owns" the identifier.
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification of the organization, or the organization name. For example CAGE code.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the org_id_class_name class items.
items Product_as_individual The individual product that is being identified (and reported on by a message), represented as a Product_as_individual.
Template #7 (Figure 18): assigning_dated_effectivity
Description Start and finish date of serial number. Only used for 'Part Number, Part type or Serial number Change'
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the serial number was effective from
start_month ?start_month? The month the serial number was effective from
start_day ?start_day? The day the serial number was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the serial number was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the serial number was effective from. This can be in local time or UTC
start_second ?start_second? The second the serial number was effective from. This can be in local time or UTC
start_sense ?start_sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
start_hour_offset ?start_hour_offset? The hour offset from UTC, use 0 when the time is UTC
start_minute_offset ?start_minute_offset? The minute offset from UTC, use 0 when the time is UTC
end_year ?end_year? The year the serial number was effective to
end_month ?end_month? The month the serial number was effective to
end_day ?end_day? The day the serial number was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the serial number was effective to. This can be in local time or UTC
end_minute ?minute? The minute the serial number was effective to. This can be in local time or UTC
end_second ?end_second? The second the serial number was effective to. This can be in local time or UTC
end_sense ?end_sense? Three possible values 'exact' when the time is in UTC, 'behind' when the time is a local time behind UTC and 'ahead' when the time is a local time ahead of UTC
end_hour_offset ?end_hour_offset? The hour offset from UTC, use 0 when the time is UTC
end_minute_offset ?end_minute_offset? The minute offset from UTC, use 0 when the time is UTC
role_class_name "Actual_effectivity" (urn:plcs:rdl:std:Actual_effectivity) The name of the class being used to classify the effectivity assignment (Effectivity_assignment) This provides the role for the assignment.
role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @role_class_name class.
items assigning_identification The serial number of the part that is being identified (and reported on by a message) as represented by the Identification_assignment instantiated by template #1 representing_product_as_realized.

The use of template #9 representing_work_order in Figure 18 is identical to, and described in, template table: Template #4(Figure 13).

The use of template #10 representing_work_done in Figure 18 is identical to, and described in, template table: Template #3(Figure 13).

Template #11 (Figure 18): assigning_organization
Description The organization that owns the reportable item.
Parameter name: Parameter value: Parameter description:
org_id ?org_id? The identifier of the owning organization
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
org_assgn_class_name "Owner_of" (urn:plcs:rdl:std:Owner_of) The name of the class being used to classify the assignment of the organization. (Organization_or_person_in_organization_assignment) This provides the role or reason for the assignment. For example 'Owner_of'.
org_assgn_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_assgn_class_name.
items Product_as_individual The individual product that the organization owns, represented as a Product_as_individual.
Template #12 (Figure 18): assigning_organization
Description The organization that manufactures the reportable item.
Parameter name: Parameter value: Parameter description:
org_id ?org_id? The identifier of the manufacturing organization
org_id_class_name For a name identifying an organization, use "Organization_name" (urn:plcs:rdl:std:Organization_name) For a code identifying an organization, use "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code) For a CAGE code identifying an organization, use "CAGE_code" (urn:plcs:rdl:std:CAGE_code) The name of the class being used to classify the identification (Identification_assignment) of the organization.
org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_id_class_name class.
org_assgn_class_name "Manufacturer_of" (urn:plcs:rdl:std:Manufacturer_of) The name of the class being used to classify the assignment of the organization. (Organization_or_person_in_organization_assignment) This provides the role or reason for the assignment. For example 'Owner_of'.
org_assgn_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @org_assgn_class_name.
items Product_as_individual The individual product that the organization manufactures, represented as a Product_as_individual.
Template #13 (Figure 18): assigning_descriptor
Description Description of the individual part.
Parameter name: Parameter value: Parameter description:
descr ?descr? The description of the individual reportable item
class_name "Description" (urn:plcs:rdl:std:Description) The name of the class (External_class) being used to determine type of descriptor.
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the class.
is_assigned_to Product_as_individual_view The individual part that is being described, represented as a Product_as_individual_view

Representing properties on a reportable item

Business information

The messages can contain a number of properties of the reportable item, such as the aircraft hours, the hours since last repair.

The information necessary to record properties of the reportable item can be summarized by the UML class diagram shown in Figure 19. This is a subset of the UML diagrams shown in Figure 5 in Section: Aviation maintenance Business Information Requirements - Message and Figure 7 in Section: Aviation maintenance Business Information Requirements - Information.

NOTE    The information shown in the UML class diagram in Figure 19 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 19 —  UML model representing the properties on a reportable item

Figure 19 —  UML model representing the properties on a reportable item

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent properties on a reportable item. This is summarised in Figure 20 and Figure 21 below. To clarify understanding Figure 20 shows the principal entities and templates used. Figure 21 shows the same information, but uses the the template representing_product_as_realized which instantiates a number of the principal entities as indicated in Figure 20.

The messages can contain a number of properties of the reportable item, such as the aircraft hours, number of take offs. These are represented as properties in ISO 10303-239 PLCS and are described in the capability C076: assigning_product_properties (NB Capabilities are not documented in this release of the PLCS standard) and detailed in the templates #3 assigning_product_property and #4 and #8 product_property_numeric.

The template #3 assigning_product_property is used to assign a named property to the product. The name of the property is provided by reference data. The template #4 product_property_numeric is used to represent the value of the property and its unit.

Where appropriate, the change to the property values, or increment can be exchanged. This is represented by using the template #8 product_property_numeric to represent the previous value of the property and unit of the property. The value of the increment of the property since the last usage can be deduced from this. The relationship of template #8, the previous property value, to template #4, the new property value and unit is represented through template #9 property_value_relationship.

NOTE    When the value of a property is a range with a maximum and minimum value, e.g. maximum and minimum operating temperature, the template product_property_range should be used instead of product_property_numeric

The value type is represented by templates #7 and #12 assigning_reference_data. Typical value types are:

The organization measuring the property is represented by template #6 and #11 assigning_organization and the date and time the property is measured is represented by template #5 and #10 assigning_time.

In ISO 10303-239 PLCS properties on a product are specified in a given context or view on a version of product, for example, the design cost properties would be represented in the design view. The context dependent view of a version Product_as_realized is represented by a Product_as_individual_view and an associated context represented by a View_definition_context. The context is classified according to the life cycle stage, represented by template #1 assigning_reference_data and application domain represented by template #2 assigning_reference_data. For the messages the life cycle stage could be either:

and the application domain is "Product_life_cycle_support" (urn:plcs:rdl:std:Product_life_cycle_support). Given that this DEX is most likely to be used during the operation of the product, it is recommend that "Utilization_stage" (urn:plcs:rdl:std:Utilization_stage) is used.

An EXPRESS-G diagram showing how properties on a reportable item are represented is shown below in Figure 20.



Figure 20 —  EXPRESS-G diagram for properties on a reportable item

Figure 20 —  EXPRESS-G diagram for properties on a reportable item



Figure 21 —  EXPRESS-G diagram for properties on a reportable item

Figure 21 —  EXPRESS-G diagram for properties on a reportable item

The following templates are used in Figure 21 to represent properties on a reportable item:

Template #1 (Figure 20): assigning_reference_data
Description Life_cycle_stage.

NOTE    This template is instantiated by the template representing_product_as_realized as shown in Figure 18.

Parameter name: Parameter value: Parameter description:
class_name "Utilization_stage" (urn:plcs:rdl:std:Utilization_stage) The name of the class in the reference data library (External_class) being used to classify something
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items View_definition_context The items to which the External_class is assigned.
Template #2 (Figure 20): assigning_reference_data
Description Application domain = Product_life_cycle_support.

NOTE    This template is instantiated by the template representing_product_as_realized as shown in Figure 18.

Parameter name: Parameter value: Parameter description:
class_name "Product_life_cycle_support" (urn:plcs:rdl:std:Product_life_cycle_support) The name of the class in the reference data library (External_class) being used to classify something
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items View_definition_context The items to which the External_class is assigned.
Template #3 (Figure 21): assigning_product_property
Description The name of the property. Note the property is defined as a subclass of "Assigned_property" (urn:plcs:rdl:std:Assigned_property). The value of the property is given in template table: Template #4(Figure 21). The previous value of the property is given in template table: Template #8(Figure 21).
Parameter name: Parameter value: Parameter description:
property_class_name ?property_class_name? The name of the property
property_ecl_id ?urn:plcs:rdl:AVM? The identifier of the External_class storing the definition of the class referenced by the parameter @property_class_name.
If the ?property_class_name? is a class defined in the standard reference data, use "urn:plcs:rdl:std" else the value is the URN for the reference data library storing the property class. normally of the form "urn:plcs:rdl:?AVM?" where ?AVM? is the name of the reference data library.
described_element Product_as_individual_view The item to which the property is assigned

The use of template #0 representing_product_as_realized in Figure 21 is identical to, and described in, template table: Template #1(Figure 18).

Template #4 (Figure 21): product_property_numeric
Description Property_value and unit.
Parameter name: Parameter value: Parameter description:
value ?value? The value of the property
unit ?unit? The unit that the property value is measured in
unit_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @unit.
si_unit 'true' if an SI unit, 'false' if not Value should be set to true if the unit is a SI base unit defined by ISO, i.e. kilogram (kg) for Mass, second (s) for Time, metre (m) for Displacement, ampere (A) for Electrical current, kelvin (K) for Temperature, mole (mol) for Amount of substance, and candela (cd) for Luminous intensity. If this is not the case it should be set to false.
Note that the representation of true and false depends on exchange format. In Part 11 (a STEP file) true is represented by the string ".T.", and false by ".F.", while in Part 28 (XML) they are represented by text strings "true" and "false".
context "Numerical_representation_context" (urn:plcs:rdl:std:Numerical_representation_context) The name of the class being used to classify the representation context (Numerical_representation_context) of the property.
context_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @context.
property The Assigned_property entity instantiated by the template assigning_product_property. The target of the template, i.e. the Assigned_property (or template assigning_product_property) to which the Property_representation is related.