| DEX (D011):— aviation_maintenance | Date: 2008/03/10 10:36:16 Revision: 1.145 |
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 shows:
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?.
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.

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.

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:
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.

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.

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. | |
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.

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.

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. | |
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.

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.


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 | |
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.

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.


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. | |