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

Aviation maintenance ISO 10303-239 Representation

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

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

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



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

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

Figure 9 shows:

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

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

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

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

Representing a message

Business information

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

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

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



Figure 10 —  UML class diagram representing a message

Figure 10 —  UML class diagram representing a message

PLCS representation

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

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

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

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

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

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



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

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

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

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

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

Representing a maintenance work order

Business information

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

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



Figure 12 —  UML model representing a maintenance work order

Figure 12 —  UML model representing a maintenance work order

PLCS representation

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

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

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

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

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

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

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

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

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



Figure 13 —  EXPRESS-G diagram for work order

Figure 13 —  EXPRESS-G diagram for work order

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

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

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

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

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

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

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

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

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

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

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

Representing reportable item maintenance activity

Business information

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

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

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



Figure 14 —  Model representing reportable item maintenance activity

Figure 14 —  Model representing reportable item maintenance activity

PLCS representation

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

Representing a reportable item

Business information

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

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

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



Figure 16 —  UML model representing a reportable_item

Figure 16 —  UML model representing a reportable_item

PLCS representation

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

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

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

Each Product_as_individual has a version, represented by a Product_as_realized.

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

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

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

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

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

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

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



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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Representing properties on a reportable item

Business information

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

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

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



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

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

PLCS representation

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

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

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

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

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

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

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

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

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

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



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

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



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

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

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

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

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

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

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

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

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

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

NOTE    This is not shown in Figure 21. It is used instead of template product_property_numeric and has the same assignments to it such as time of measurement etc.

Parameter name: Parameter value: Parameter description:
upper_limit ?max_value? The maximum value of the property
lower_limit ?min_value? The minimum 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 (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.
Template #5 (Figure 21): assigning_time
Description Date and time when property was set.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_actual_observation" (urn:plcs:rdl:std:Date_actual_observation) 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 creation date of the property value
month ?month? the month component of the creation date of the property value
day ?day? the day component of the creation date of the property value. This can be in local time or UTC
hour ?hour? the hour component of the creation date of the property value. This can be in local time or UTC
minute ?minute? the minute component of the creation date of the property value. This can be in local time or UTC
second ?second? the second component of the creation date of the property value. 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 Property_value_representation TheProperty_value_representation represented by template product_property_numeric
Template #6 (Figure 21): assigning_organization
Description Organization declaring the property.
Parameter name: Parameter value: Parameter description:
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 (Identification_assignment) of the organization. This provides the role or reason for the identification. For example CAGE code.
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 "Measurer_of" (urn:plcs:rdl:std:Measurer_of) The name of the class being used to classify the identification (Identification_assignment) of the organization. This provides the role or reason for the identification.
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 Property_value_representation TheProperty_value_representation represented by template product_property_numeric
Template #7 (Figure 21): assigning_reference_data
Description Property value type.
Parameter name: Parameter value: Parameter description:
class_name ?class_name?

The value type of the property. For example:

  • life_meter_reading - the value measured on the meter recording the "life" consumed by the reportable item, where the life value is used to trigger a maintenance task;
  • life_cumulative - the cumulative life consumed by the reportable item taking into account the changing of meters;
  • measured - the value that has been measured but is not used for calculating life. E.g fuel consumed.
ecl_id ?urn:plcs:rdl:AVM? The identifier of the External_class storing the definition of the class referenced by the parameter @class_name.
If the ?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.
items Property_value_representation TheProperty_value_representation represented by template product_property_numeric
Template #8 (Figure 21): product_property_numeric
Description Property's increment.
Parameter name: Parameter value: Parameter description:
value ?value? The increment value from the previous property value
unit ?unit? The unit the increment value is measured in
unit_ecl_id ?urn:plcs:rdl:AVM? The identifier of the External_class storing the definition of the class referenced by the parameter @unit
If the ?unit? 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.
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.
Template #9 (Figure 21): property_value_relationship
Description Relationship between two property values.
Parameter name: Parameter value: Parameter description:
rel_type "Succession_relationship" (urn:plcs:rdl:std:Succession_relationship) Type of relation between property value representations.
rel_type_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @rel_type.
relating Property_value_representation TheProperty_value_representation instantiated by the template representing_numeric_property which is instantiated by the template product_property_numeric identified at template #4
related Property_value_representation TheProperty_value_representation instantiated by the template representing_numeric_property which is instantiated by template product_property_numeric identified at template #8

Representing state of a reportable item

Business information

The Aviation Maintenance DEX enables the exchange of information about symptoms and faults that have been raised on an aircraft or modules and their serviceability state. The serviceability state is an indication as to whether the product can be used for its intended purpose. It is normally declared unserviceable if there are any outstanding maintenance activities due on the product, in particular, to address faults.

The information required to represent the various states of the reportable item can be summarized by the UML class diagram shown in Figure 22. 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 22 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 22 —  UML class diagram representing different states of an asset

Figure 22 —  UML class diagram representing different states of an asset

A basic process that can be supported is that a symptom is identified on a reportable item after it has been operated e.g. flown a sortie. This is an observation that the reportable item is not operating correctly. If appropriate, a request for further investigation is made, which is approved result in a work order being raised to investigate the symptom. This may result in a fault being identified. The fault is often a known condition for which there is a documented procedure for rectification. The fault is then either be deferred for resolution at a later date or rectified. If the fault is deferred, it may be stated that the reportable item can be operated with restrictions. Once the fault has been addressed, the work order is closed. This process is summarised in Figure 23.

NOTE    The use of the Aviation maintenance DEX does not enforce this process. It is intended to illustrate the type of process and information that can be represented using the DEX.



Figure 23 —  UML class diagram representing the state of an asset

Figure 23 —  UML class diagram representing the state of an asset

PLCS representation

Symptoms

The following section describes how ISO 10303-239 PLCS is used to represent a symptom observed on a reportable item. This is summarised in Figure 24 below.

A symptom is an observation of unexpected product behaviour made by someone. Investigation may show that this may be a fault. In ISO 10303-239 PLCS, the symptom would be represented by the Observation made on the reportable item, represented by a Product_as_individual. (See Section: Representing a reportable item ). The use of Observation is described in C025: representing_observation (NB Capabilities are not documented in this release of the PLCS standard) . The Observation is classified as a symptom by assigning template #0 assigning_reference_data.

Once the symptom has been identified, it leads to a request for action - represented in ISO 10303-239 PLCS as a Work_request. The entity Affected_items_assignment is used to relate the Work_request to the reportable item (Product_as_individual) against which it has been raised. The fact that the symptom has given rise to a Work_request is represented by using the Observation_consequence to relate the Observation to the Work_request. The Work_request is then approved and leads to a Work_order. The use of Work_request and Work_order is described in C066: representing_work_request (NB Capabilities are not documented in this release of the PLCS standard) and C065: representing_work_order (NB Capabilities are not documented in this release of the PLCS standard) respectively.

An EXPRESS-G diagram showing how the symptom is represented is shown in Figure 24.

The symptom is represented by the template #1 assigning_observation. The fact that the symptom has been observed on a reportable item is represented by assigning the observation to a Product_as_realized represented by the template #2 representing_product_as_realized (See Section: Representing a reportable item for details on how to represent a reportable item). The symptom may also be identified during an activity being undertaken by the reportable item such as a sortie. The activity is represented by the template #3 representing_product_usage (See Section: Representing a reportable item usage activity for details on how to represent a products activity). The observation is therefore related to the the template #3 representing_product_usage. The symptom may have been observed during a maintenance activity, in which case the template representing_work_done should be used instead as described in Section: Representing reportable item maintenance activity: PLCS representation.

The person who observed the symptom is represented by template #4 assigning_person_in_organization.

Often, the symptom is classified to provide further information about the type of symptom. For example:

NOTE    These are examples of symptom types, different applications and business processes may use different types.

Once the symptom has been identified, it normally results in a Work_request that registers a request to investigate the symptom. This is represented by template #9 representing_work_request. The request then results in an order (a maintenance work order) to investigate and resolve the symptom. This is represented by a Work_order which is defined in the template #10 representing_work_order. At this stage the symptom may be confirmed as a fault, which is represented by a State_observed which is defined by template #11 assigning_asserted_state. This is described further in Section: Representing state of a reportable item.

The maintenance work order can have a state assigned with it. This is represented by the template #14 assigning_asserted_state. The state can be used to represent whether the Fault is deferred on not. In other words, the work to rectify the fault has been deferred.

With faults foreseen by the manufacturer, a set of tasks are typically defined that specify how to rectify the fault. These tasks are defined by first identifying the method, represented by a Activity_method defined in template #15 representing_typical_activity. If the method is detailed as task or procedure it is represented by a Task_method defined in template #12 referencing_task.



Figure 24 —  EXPRESS-G diagram for representing a symptom

Figure 24 —  EXPRESS-G diagram for representing a symptom

The following templates are used in Figure 24 to represent a symptom:

Template #1 (Figure 24): assigning_observation
Description The identification of the symptom.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the symptom
id_class_name "Observation_identification_code" (urn:plcs:rdl:std:Observation_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 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. 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.
descr ?descr? The description of the symptom
dsc_class_name "Description" (urn:plcs:rdl:std:Description) The name of the class used to classify the identifier and so provide the role or reason for the identification.
dsc_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the description class items.
date_class_name "Date_actual_observation" (urn:plcs:rdl:std:Date_actual_observation) The name of the class being used to classify the role date assignment, e.g. the date when the Observation was made.
date_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the date class items.
year ?year? the year component of the date the symptom was first observed
month ?month? the month component of the date the symptom was first observed
day ?day? the day component of the date the symptom was first observed. This can be in local time or UTC
hour ?hour? the hour component of the date the symptom was first observed. This can be in local time or UTC
minute ?minute? The minute component of the date the symptom was first observed. This can be in local time or UTC
second ?second? the second component of the date the symptom was first observed. 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
applies_to Product_as_realized The reportable item about which the symptom was raised.
related_records   Not used in this instance
observed_during Activity_actual This is the activity that is represented as a Activity_actual which is part of template representing_product_usage.
observed_by   If the symptom is recorded by a piece of equipment, e.g. HUMS, then this should link to the Product_as_individual_view for that part, which is part of template representing_product_as_realized
in_context   Not used in this instance
Template #0 (Figure 24): assigning_reference_data
Description Classifying the Observation a symptom.
Parameter name: Parameter value: Parameter description:
class_name "Symptom" (urn:plcs:rdl:std:Symptom) 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 Observation The items to which the External_class is assigned.

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

Template #3 (Figure 24): representing_product_usage
Description The identification of the activity that was being performed when the symptom was observed. E.g. Sortie
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the activity
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 ?id_owner? The identifier or name 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.
method Activity_method The typical activity of which this activity_actual is an instance, or other regulating method.
role "Product_usage" (urn:plcs:rdl:std:Product_usage) The class name of the External_class corresponding to the role of the activity assignment.
role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the role class items.
items Product_as_individual_view The product that is or was used in the activity, e.g. the airplane that was used for a specific mission, the truck that was used for a specific transport.
date_class_name "Date_actual_start" (urn:plcs:rdl:std:Date_actual_start) The name of the class being used to classify the date or time. Must be either a start or an end date or time.
date_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the date class items.
year ?year? the year component of the date the activity started
month ?moth? the month component of the date the activity started
day ?day? the day component of the date the activity started. This can be in local time or UTC
hour ?hour? the hour component of the date the activity started. This can be in local time or UTC
minute ?minute? the minute component of the date the activity started. This can be in local time or UTC
second ?second? the second component of the date the activity started. 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

NOTE    The symptom may also have been observed during a maintenance activity, in which case rather than using template #3 representing_product_usage the templates representing_work_done should be used as described in template table: Template #3(Figure 13).

Template #4 (Figure 24): assigning_person_in_organization
Description Identification of the person observing the symptom.
Parameter name: Parameter value: Parameter description:
last_name ?last_name? The last name of the person observing the symptom
first_name ?first_name? The first name of the person observing the symptom; use "unknown" when the information is not known to the sending system
middle_names ?middle_names? The middle name of the person observing the symptom; use "unknown" when the information is not known to the sending system
prefix_titles ?prefix_titles? The prefix title of the person observing the symptom; use "unknown" when the information is not known to the sending system
suffix_titles ?suffix_titles? The suffix title of the person observing the symptom; use "unknown" when the information is not known to the sending system
person_role_class_name "Observer_of" (urn:plcs:rdl:std:Observer_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 observing the symptom 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 Observation The items to which the person is assigned
Template #5 (Figure 24): assigning_reference_data
Description Symptom with perceived effect on flight safety
Parameter name: Parameter value: Parameter description:
class_name ?class_name? The code representing perceived effect on flight safety
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items Observation The items to which the External_class is assigned.
Template #6 (Figure 24): assigning_reference_data
Description Symptom occurring during an activity
Parameter name: Parameter value: Parameter description:
class_name ?class_name? The code representing when and how the symptom was discovered
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items Observation The items to which the External_class is assigned.
Template #7 (Figure 24): assigning_reference_data
Description A symptom that occurs on a particular class of system.
Parameter name: Parameter value: Parameter description:
class_name ?class_name? The code representing the system on which the symptom was observed
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items State_assessment The items to which the External_class is assigned.
Template #9 (Figure 24): representing_work_request
Description The request to investigate the symptom.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier assigned to the work request
id_class_name "Work_request_identification_code" (urn:plcs:rdl:std:Work_request_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 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. 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.
version_id ?version_id? The identifier of the version assigned to the work request
version_id_class_name "Identifier_type" (urn:plcs:rdl:std:Identifier_type) The name of the class used to classify the identifier and so provide the role or reason for the identification.
version_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the version_id_class_name class items.
version_org_id ?version_org_id? The identifier or name of the organization that "owns" the version identifier.
version_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.
version_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the version_org_id_class_name class items.
date_class_name "Work_request_issue_date" (urn:plcs:rdl:std:Work_request_issue_date) The identification showing that the date is when the work_request is issued.
date_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the date class items.
year ?year? the year component of the date the work_request is issued
month ?month? the month component of the date the work_request is issued
day ?day? the day component of the date the work_request is issued. This can be in local time or UTC
hour the hour component of the date the work_request is issued. This can be in local time or UTC The hour component of the date and time the work request was raised.
minute ?minute? the minute component of the date the work_request is issued. This can be in local time or UTC
second ?second? the second component of the date the work_request is issued. 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
state_class_name "State_of_work_request" (urn:plcs:rdl:std:State_of_work_request) 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.
purpose "Work_request" (urn:plcs:rdl:std:Work_request) The name of the class in the reference data library (External_class) being used to define the purpose of the Work_request.
purp_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @purpose.

The use of template #10 "Maintenance work order addressing Fault" representing_work_order in Figure 24 is identical to, and described in, template table: Template #4(Figure 13).

The use of template #11 "Fault" assigning_asserted_state in Figure 24 is identical to, and described in, template table: Template #1(Figure 25).

The use of template #12 "Task/procedure performed to rectify fault" referencing_task in Figure 24 is identical to, and described in, template table: Template #19(Figure 25).

The use of template #13 "Work done to rectify fault" representing_work_done in Figure 24 is identical to, and described in, template table: Template #3(Figure 13).

The use of template #14 "State of work order" assigning_asserted_state in Figure 24 is identical to, and described in, template table: Template #18(Figure 25).

The use of template #15 "method used to rectify the fault" representing_typical_activity in Figure 24 is identical to, and described in, template table: Template #1(Figure 15).

The use of template #16 "Activity" assigning_activity in Figure 24 is identical to, and described in, template table: Template #11(Figure 25).

Faults and States

The following section describes how ISO 10303-239 PLCS is used to represent faults and states of a reportable item. This is summarised in Figure 25 below.

There can be a number of states of the reportable item and the next higher assembly, such as the fault state of the reportable item and the serviceability state.

In ISO 10303-239 PLCS a distinction is made between states that a product could possibly be in, the set of all fault states for example, and the actual state that a product is in. These are referred to defined states and observed states respectively and are represented by State_definition and State_observed.

An observed state is related to the defined state (State_definition), of which it is an occurrence, by State_assessment and State_assertion.

The State_assessment indicates that an assumption has been made that something, such as a Product_as_realized, is in a state (State_observed) that resembles the state defined by the State_definition.

The State_assertion is used to assert that, based on evidence such as measurements, something, such as a Product_as_realized, is in a state (State_observed) that is equal to the state defined by the State_definition.

The representations of defined and observed states are described in the capabilities C007: representing_state_type (NB Capabilities are not documented in this release of the PLCS standard) and C041: representing_state_observed (NB Capabilities are not documented in this release of the PLCS standard) . The representation of an assessed state is detailed in the template assigning_assessed_state and the representation of an asserted state is detailed in the template assigning_asserted_state.

An EXPRESS-G diagram showing how the state of the reportable item is identified is shown in Figure 25.

The template: #2 representing_product_as_realized in Figure 25 is used to represent the reportable item whose state is being identified. (See section Section: Representing a reportable item for details on representing a reportable item.) The template: #22 assigning_asserted_state is used to represent the serviceability status of the reportable item. In some applications the occurrence of the serviceability status may have a unique identifier, in which case the state is identified by the template #14 assigning_identification. This should not be confused with the code that is used to represent the state type, such as serviceable, unserviceable - these are represented by reference data and are set as parameters in the template assigning_asserted_state. In addition, the time when the reportable item entered into the given serviceability state and the time when it left is represented by the templates #16 and #15 (assigning_time) respectively.

The fault state of the reportable item is represented first by an assessed state, then once the fault has been confirmed though measurement for example, by an asserted state. This is represented by the templates #12 assigning_assessed_state and template #1 assigning_asserted_state respectively. The fault code that identifies the type of fault, is represented by reference data and is set as parameters in the templates assigning_assessed_state and assigning_asserted_state. In some applications the occurrence of fault state may have a unique identifier, in which case the state is identified by the template #8 and #4 assigning_identification. This is just an identifier used to track the occurrence of the fault. It does not specify the type of fault - that is specified by the state definition.

A work order is often raised to address the fault. The work order is represented by the template #17 representing_work_order and described in Section: Representing a maintenance work order. The fault can be related to the work order by the template assigning_activity, e.g. template #21 and #11.

The dates when the fault was identified and rectified are given by the templates #6, #7, #9, #10 assigning_time.

NOTE    The time that the fault was "asserted" is the time that the fault "assessment" phase ended, so #6 and #9 would have the same values.

A description of the fault can be provided by assigning a description to the state. This is shown in Figure 25 by templates #3 and #5 assigning_descriptor.



Figure 25 —  EXPRESS-G diagram for state of a reportable item

Figure 25 —  EXPRESS-G diagram for state of a reportable item

The following templates are used in Figure 25 to represent a state of a state of a reportable item:

Template #1 (Figure 25): assigning_asserted_state
Description Fault confirmed by measurement.
Parameter name: Parameter value: Parameter description:
state_class_name "Failure_mode" (urn:plcs:rdl:std:Failure_mode) The type of fault state
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 Product_as_individual_view The activity, product, individual, task_method, etc to which the state is assigned

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

Template #3 (Figure 25): assigning_descriptor
Description Description of fault.
Parameter name: Parameter value: Parameter description:
descr ?descr? the description of the assessed fault
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 State_observed The entity to which the Document_assignment is assigned.
Template #4 (Figure 25): assigning_identification
Description Fault identifier.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the asserted fault used to track the fault.

NOTE    This does not represent the type of fault. The type is represented by reference data passed as a parameter to template #1 assigning_asserted_state

id_class_name "Failure_mode_identification_code" (urn:plcs:rdl:std:Failure_mode_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 State_observed The items to which the identification is assigned
Template #5 (Figure 25): assigning_descriptor
Description Description of the fault.
Parameter name: Parameter value: Parameter description:
descr ?descr? the description of the asserted fault
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 State_observed The entity to which the Document_assignment is assigned.
Template #6 (Figure 25): assigning_time
Description Date fault asserted.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_actual_assertion" (urn:plcs:rdl:std:Date_actual_assertion) 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 fault was first asserted
month ?month? the month component of the date the fault was first asserted
day ?day? the day component of the date the fault was first asserted. This can be in local time or UTC
hour ?hour? the hour component of the date the fault was first asserted. This can be in local time or UTC
minute ?minute? the minute component of the date the fault was first asserted. This can be in local time or UTC
second ?second? the second component of the date the fault was first asserted. 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 State_assertion The items to which the date is assigned.
Template #7 (Figure 25): assigning_time
Description Date fault cleared.
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 date the fault was cleared
month ?month? the month component of the date the fault was cleared
day ?day? the day component of the date the fault was cleared. This can be in local time or UTC
hour ?hour? the hour component of the date the fault was cleared. This can be in local time or UTC
minute ?minute? the minute component of the date the fault was cleared. This can be in local time or UTC
second ?second? the second component of the date the fault was cleared. 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 State_assertion The items to which the date is assigned.
Template #8 (Figure 25): assigning_identification
Description Fault identifier.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the assessed fault.

NOTE    This does not represent the type of fault. The type is represented by reference data passed as a parameter to template #12 assigning_assessed_state

id_class_name "Failure_identification_code" (urn:plcs:rdl:std:Failure_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 State_observed The items to which the identification is assigned
Template #9 (Figure 25): assigning_time
Description Date fault assessed.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_actual_assessment" (urn:plcs:rdl:std:Date_actual_assessment) 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 fault was first assessed
month ?month? the month component of the date the fault was first assessed
day ?day? the day component of the date the fault was first assessed. This can be in local time or UTC
hour ?hour? the hour component of the date the fault was first assessed. This can be in local time or UTC
minute ?minute? the minute component of the date the fault was first assessed. This can be in local time or UTC
second ?second? the second component of the date the fault was first assessed. 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 State_assessment The items to which the date is assigned.
Template #10 (Figure 25): assigning_time
Description Date assessed state ended.
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 date the assessed fault was cleared
month ?month? the month component of the date the assessed fault was cleared
day ?day? the day component of the date the assessed fault was cleared. This can be in local time or UTC
hour ?hour? the hour component of the date the assessed fault was cleared. This can be in local time or UTC
minute ?minute? the minute component of the date the assessed fault was cleared. This can be in local time or UTC
second ?second? the second component of the date the assessed fault was cleared. 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 State_assessment The items to which the date is assigned.
Template #11 (Figure 25): assigning_activity
Description Activity
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 activity that is represented as a Directed_activity which is part of template representing_work_order.
items State_assessment The activity, product, individual, task_method, etc that is being assigned to the activity.
Template #12 (Figure 25): assigning_assessed_state
Description Hypothesized Fault. Not confirmed by measurement.
Parameter name: Parameter value: Parameter description:
state_class_name "Failure_mode" (urn:plcs:rdl:std:Failure_mode) 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 Product_as_individual_view This is the reportable item that is represented as a Product_as_individual_view which is part of template representing_work_done.

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

Template #14 (Figure 25): assigning_identification
Description Serviceability status identifier.

NOTE    This does not represent the type of fault. The type is represented by reference data passed as a parameter to template #22 assigning_asserted_state

Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the asserted serviceability status
id_class_name "State_identification_code" (urn:plcs:rdl:std:State_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 State_observed The items to which the identification is assigned
Template #15 (Figure 25): assigning_time
Description End date of status.
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 date the status ended
month ?month? the month component of the date the status ended
day ?day? the day component of the date the fault status ended. This can be in local time or UTC
hour ?hour? the hour component of the date the fault status ended. This can be in local time or UTC
minute ?minute? the minute component of the date the fault status ended. This can be in local time or UTC
second ?second? the second component of the date the fault status ended. 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 State_assertion The items to which the date is assigned.
Template #16 (Figure 25): assigning_time
Description Start date of status.
Parameter name: Parameter value: Parameter description:
date_class_name "Date_actual_assertion" (urn:plcs:rdl:std:Date_actual_assertion) 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 status was first asserted
month ?month? the month component of the date the status was first asserted
day ?day? the day component of the date the status was first asserted. This can be in local time or UTC
hour ?hour? the hour component of the date the status was first asserted. This can be in local time or UTC
minute ?minute? the minute component of the date the status was first asserted. This can be in local time or UTC
second ?second? the second component of the date the status was first asserted. 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 State_assertion The items to which the date is assigned.

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

Template #18 (Figure 25): assigning_asserted_state
Description State of 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 Directed_activity This is the activity that is represented as a Directed_activity which is part of template representing_work_order.
Template #19 (Figure 25): referencing_task
Description Task / Procedure performed to rectify fault
Parameter name: Parameter value: Parameter description:
task_id ?task_id? The identifier of the task or procedure.
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 task or procedure 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 task or procedure
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 task or procedure 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 #20 representing_typical_activity in Figure 25 is identical to, and described in, template table: Template #1(Figure 15).

Template #21 (Figure 25): assigning_activity
Description Activity
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 activity that is represented as a Directed_activity which is part of template representing_work_order.
items State_assertion The activity, product, individual, task_method, etc that is being assigned to the activity.
Template #22 (Figure 25): assigning_asserted_state
Description Serviceability status of reportable item.
Parameter name: Parameter value: Parameter description:
state_class_name "State_definition" (urn:plcs:rdl:std:State_definition) 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 Product_as_individual_view The activity, product, individual, task_method, etc to which the state is assigned

Representing change of Part Number, Serial Number, and NSN

Business information

During repair or overhaul, a reportable item may be given a new Part Number, Serial Number and Stock code e.g. NSN code. This typically occurs when a change is made to the fit, form or functionality. It may also be the case that temporary identifiers are allocated as the correct identifier, e.g. Part number is not known. Once, know the correct identifier is provided. In order to track the reportable item through life, it is important to maintain a history of the identifiers that have been assigned to the reportable item. This is represented by assigning multiple identifiers to the reportable item and using dated effectivity (applicability) to determine which of the Part Number, Serial Number, and Stock code identifiers are applicable at any moment in time.

The information required to represent the change of part number can be summarized by the UML class diagram shown in Figure 26. 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 26 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 26 —  Model representing a change in part / serial number

Figure 26 —  Model representing a change in part / serial number

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent a change to a part number, serial number or stock code e.g. NSN related to a reportable item. This is summarised in Figure 27 below.

The reportable item is a physical product, therefore is represented in ISO 10303-239 PLCS by a Product_as_individual. This is described in section Section: Representing a reportable item.

The serial number is the identification of the Product_as_individual and is represented by an Identification_assignment. These entities are instantiated by the template #0 representing_product_as_realized.

When a change of serial number occurs, normally as a result of work order, template template #13 assigning_identification identifies the new serial number. The dates that a serial number is valid for is represented by templates #6 and #14; assigning_dated_effectivity. Template #6 identifies the dates that the previous serial number is valid for and template #14 identifies the dates that the new serial number is valid for.

The Unique Identification (IUID) from the Department of Defense (DoD) is another identification of the Product_as_individual and is represented by an Identification_assignment represented by template #7 and #15 assigning_identification and classified as "UID" (urn:plcs:rdl:std:UID). When a change of UID happens template #7 identifies the previous UID and template #15 identifies the new UID. The dates that a UID is valid for is represented by templates #8 and #16; assigning_dated_effectivity. Template #8 identifies the dates that the previous UID is valid for and template #16 identifies the dates that the new UID is valid for.

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 instantiated by template #1 referencing_part. For details see Section: Representing a reportable item.

When the part number of the reportable item changes, this is normally in response to a change being made to the part type or design from which the reportable item was manufactured which results in a new part. When the resulting modification is made to the reportable item its part number therefore changes. The new part number is therefore represented by a new Part instantiated by template #1a referencing_part. The dates that a part number is valid for is represented by templates #2 and #10; assigning_dated_effectivity. Template #2 identifies the dates that the previous part number is valid for and template #10 identifies the dates that the new part number is valid for.

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 templates #3 and #11: representing_resource_item_realization. When a change of Stock Code happens template #3 identifies the previous Stock Code and template #11 identifies the new Stock Code. The dates that a Stock Code is valid for is represented by templates #4 and #12; assigning_dated_effectivity. Template #4 identifies the dates that the previous Stock Code is valid for and template #12 identifies the dates that the new Stock Code is valid for.

An EXPRESS-G diagram showing how the changes to Part Number, Serial Number and Stock codes e.g. NSN is represented shown below in Figure 27.



Figure 27 —  EXPRESS-G diagram for new Part number , Serial Number and stock code

Figure 27 —  EXPRESS-G diagram for new Part number , Serial Number and stock code

The following templates are used in Figure 27 to represent the change to a part number, serial number or stock number:

The use of template #0 representing_product_as_realized in Figure 27 to represent a reportable item is identical to, and described in, template table: Template #1(Figure 18).

The use of template #1 and #1a referencing_part in Figure 27 to represent a part is identical to, and described in, template table: Template #1(Figure 18).

Template #2 (Figure 27): assigning_dated_effectivity
Description Start and end date for Previous part number.
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the previous part number was effective from
start_month ?start_month? The month the previous part number was effective from
start_day ?start_day? The day the previous part number was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the previous part number was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the previous part number was effective from. This can be in local time or UTC
start_second ?start_second? The second the previous 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 previous part number was effective to
end_month ?end_month? The month the previous part number was effective to
end_day ?end_day? The day the previous part number was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the previous part number was effective to. This can be in local time or UTC
end_minute ?minute? The minute the previous part number was effective to. This can be in local time or UTC
end_second ?end_second? The second the previous 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 referenced by representing_product_as_realized.par_rel Assign the effectivity to the Product_design_version_to_individual relating the Product_as_realized to the Part_version where the Part_version is the version of the previous Part
Template #3 (Figure 27): representing_resource_item_realization
Description Previous stock code e.g. NSN number.
Parameter name: Parameter value: Parameter description:
res_item_id ?res_item_id? The previous stock code e.g. NSN number 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 e.g. NSN (and reported on by a message), represented as a Part.
Template #4 (Figure 27): assigning_dated_effectivity
Description Start and end date for Previous stock code e.g. NSN.
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the previous stock code e.g. NSN was effective from
start_month ?start_month? The month the previous stock code e.g. NSN was effective from
start_day ?start_day? The day the previous NSN was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the previous NSN was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the previous NSN was effective from. This can be in local time or UTC
start_second ?start_second? The second the previous NSN 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 previous stock code e.g. NSN was effective to
end_month ?end_month? The month the previous stock code e.g. NSN was effective to
end_day ?end_day? The day the previous stock code e.g. NSN was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the previous stock code e.g. NSN was effective to. This can be in local time or UTC
end_minute ?minute? The minute the previous stock code e.g. NSN was effective to. This can be in local time or UTC
end_second ?end_second? The second the previous stock code e.g. NSN 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 Class The items to which the effectivity is assigned, e.g. an identification_assignment, a next_assembly_usage, etc.
Template #6 (Figure 27): assigning_dated_effectivity
Description Start and end date for Previous serial number.
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the previous serial number was effective from
start_month ?start_month? The month the previous serial number was effective from
start_day ?start_day? The day the previous serial number was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the previous serial number was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the previous serial number was effective from. This can be in local time or UTC
start_second ?start_second? The second the previous 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 previous serial number was effective to
end_month ?end_month? The month the previous serial number was effective to
end_day ?end_day? The day the previous serial number was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the previous serial number was effective to. This can be in local time or UTC
end_minute ?minute? The minute the previous serial number was effective to. This can be in local time or UTC
end_second ?end_second? The second the previous 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 Identification_assignment instantiated by template #0 representing_product_as_realized.
Template #7 (Figure 27): assigning_identification
Description Previous UID.
Parameter name: Parameter value: Parameter description:
id ?id? The previous UID of the reportable item.
id_class_name "UID" (urn:plcs:rdl:std:UID) 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, instantiated by template #0 representing_product_as_realized.
Template #8 (Figure 27): assigning_dated_effectivity
Description Start and end date for Previous UID number.
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the previous UID was effective from
start_month ?start_month? The month the previous UID was effective from
start_day ?start_day? The day the previous UID was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the previous UID was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the previous UID was effective from. This can be in local time or UTC
start_second ?start_second? The second the previous UID 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 previous UID was effective to
end_month ?end_month? The month the previous UID was effective to
end_day ?end_day? The day the previous UID was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the previous UID was effective to. This can be in local time or UTC
end_minute ?minute? The minute the previous UID was effective to. This can be in local time or UTC
end_second ?end_second? The second the previous UID 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 items to which the effectivity is assigned, e.g. an identification_assignment, a next_assembly_usage, etc.
Template #10 (Figure 27): assigning_dated_effectivity
Description Start and end date for New part number.
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the new part number was effective from
start_month ?start_month? The month the new part number was effective from
start_day ?start_day? The day the new part number was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the new part number was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the new part number was effective from. This can be in local time or UTC
start_second ?start_second? The second the new 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 new part number was effective to
end_month ?end_month? The month the new part number was effective to
end_day ?end_day? The day the new part number was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the new part number was effective to. This can be in local time or UTC
end_minute ?minute? The minute the new part number was effective to. This can be in local time or UTC
end_second ?end_second? The second the previous 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 Assign the effectivity to the Product_design_version_to_individual relating the Product_as_realized to the Part_version where the Part_version is the version of the previous Part
Template #11 (Figure 27): representing_resource_item_realization
Description New stock code e.g. NSN number.
Parameter name: Parameter value: Parameter description:
res_item_id ?res_item_id? The new 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 e.g. NSN (and reported on by a message), represented as a Part.
Template #12 (Figure 27): assigning_dated_effectivity
Description Start and end date for New stock code e.g. NSN.
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the new stock code e.g. NSN was effective from
start_month ?start_month? The month the new stock code e.g. NSN was effective from
start_day ?start_day? The day the new stock code e.g. NSN was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the new stock code e.g. NSN was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the new stock code e.g. NSN was effective from. This can be in local time or UTC
start_second ?start_second? The second the new stock code e.g. NSN 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 new stock code e.g. NSN was effective to
end_month ?end_month? The month the new stock code e.g. NSN was effective to
end_day ?end_day? The day the new stock code e.g. NSN was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the new stock code e.g. NSN was effective to. This can be in local time or UTC
end_minute ?minute? The minute the new stock code e.g. NSN was effective to. This can be in local time or UTC
end_second ?end_second? The second the new stock code e.g. NSN 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 Class The items to which the effectivity is assigned, e.g. an identification_assignment, a next_assembly_usage, etc.
Template #13 (Figure 27): assigning_identification
Description New part serial number.
Parameter name: Parameter value: Parameter description:
id ?id? The new 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 #14 (Figure 27): assigning_dated_effectivity
Description Start and end date for New serial number.
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the new serial number was effective from
start_month ?start_month? The month the new serial number was effective from
start_day ?start_day? The day the new serial number was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the new serial number was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the new serial number was effective from. This can be in local time or UTC
start_second ?start_second? The second the new 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 new serial number was effective to
end_month ?end_month? The month the new serial number was effective to
end_day ?end_day? The day the new serial number was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the new serial number was effective to. This can be in local time or UTC
end_minute ?minute? The minute the new serial number was effective to. This can be in local time or UTC
end_second ?end_second? The second the new 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 items to which the effectivity is assigned, e.g. an identification_assignment, a next_assembly_usage, etc.
Template #15 (Figure 27): assigning_identification
Description New UID.
Parameter name: Parameter value: Parameter description:
id ?id? The new UID of the reportable item.
id_class_name "UID" (urn:plcs:rdl:std:UID) 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 #16 (Figure 27): assigning_dated_effectivity
Description Start and end date for New UID.
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the new UID was effective from
start_month ?start_month? The month the new UID was effective from
start_day ?start_day? The day the new UID was effective from. This can be in local time or UTC
start_hour ?start_hour? The hour the new UID was effective from. This can be in local time or UTC
start_minute ?start_minute? The minute the new UID was effective from. This can be in local time or UTC
start_second ?start_second? The second the new UID 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 new UID was effective to
end_month ?end_month? The month the new UID was effective to
end_day ?end_day? The day the new UID was effective to. This can be in local time or UTC
end_hour ?end_hour? The hour the new UID was effective to. This can be in local time or UTC
end_minute ?minute? The minute the new UID was effective to. This can be in local time or UTC
end_second ?end_second? The second the new UID 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 items to which the effectivity is assigned, e.g. an identification_assignment, a next_assembly_usage, etc.

Representing installation/removal position on an aircraft

Business information

Some maintenance tasks result in the installation or removal of reportable item on an aircraft. Where the reportable item is a trackable item, it is necessary to maintain the history of the installation and removal, i.e. maintain a record of which part was fitted, where and when. In some applications, it is sufficient to record the fact that a particular reportable item was fitted to another, for example, an engine fitted to an aircraft with a given tail number. A more common approach is to define a hierarchical breakdown structure of the aircraft, where the positions in which parts can be fitted are explicitly represented as nodes in the breakdown. An LSAR typically provides this breakdown. A record of the set of parts that can be fitted in a given position is then maintained as well as a record of the actual part currently fitted, and a history of previous parts fitted in that position.

The information required to represent the installation history of parts can be summarized by the UML class diagram shown in Figure 28. 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 28 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 28 —  Model representing the installation/removal position on an aircraft

Figure 28 —  Model representing the installation/removal position on an aircraft

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent a record of the installation and removal of reportable items from an end product. There are two interrelated mechanisms used:

The first mechanism is to represent the end item as an assembly with a set of relationships that relate a part to an another part indicating a parent child assembly relationship. This is illustrated in Figure 29 which shows an individual aircraft with a wing fitted and an engine fitted to the wing. Note that this diagram is intended to illustrate the generic constructs, a detailed description of how to represent this using ISO 10303-239 PLCS is in the subsequent section. The diagram shows the removal of Engine S/N 001 and replacement with Engine S/N 002. The assembly usages represent the parent child relationships. The diagram also shows an "On AC" relationship between the Engines and the aircraft - this records the relationship between the part, the engine in this case, and the end item, the aircraft. In order to maintain a historical record of what was fitted when, the relationships shown can have a date effectivity applied to them indicating when the part was installed.



Figure 29 —  Illustration of a Part assembly

Figure 29 —  Illustration of a Part assembly

The ISO 10303-239 PLCS constructs used to represent the assembly structure shown in Figure 29 are summarized in the EXPRESS-G diagram in Figure 30. The reportable item that is being installed or removed is represented in ISO 10303-239 PLCS by a template representing_product_as_realized as described in Section: Representing a reportable item - PLCS representation, on an aircraft. This is illustrated by template #5 representing_product_as_realized in Figure 30.

The activity that caused the removal or installation of a reportable item is represented by template #3 representing_work_done (See Figure 30) as described in Section: Representing reportable item maintenance activity - PLCS representation.

In many applications, it is necessary to report on the state of the reportable items and to record various properties such as the life and health of the reportable item when the installation or removal is being undertaken. The properties and the observed state of the reportable item at time of installation or removal are represented respectively by template #7 assigning_product_property (Figure 30) as described in Section: Representing properties on a reportable item - PLCS representation and template #8 assigning_assessed_state (Figure 30). as described in Section: Representing state of a reportable item - PLCS representation

The fact that the reportable item is or has been fitted to the aircraft is represented in the Aviation maintenance DEX by referring to the next higher assembly and the aircraft (or end item) from which the reportable item is removed/installed. The next higher assembly and the aircraft (or end item) are treated like any other product and are therefore represented by instances of Product_as_individuals described by template #6 and template #1 respectively; representing_product_as_realized.

The relationship between the reportable item and the next higher assembly is represented by a Next_assembly_usage This is represented by template#4 representing_assembly_structure. Each date when the installation / removal occurs is represented by a (Dated_effectivity), described by template #9 assigning_dated_effectivity, applied to the Next_assembly_usage.

The fact that the reportable item has been fitted to an aircraft (or end item) is represented by a Promissory_usage. This is represented by template #2 representing_promissory_usage which relates the two. Each date when the installation / removal occurs is represented by a (Dated_effectivity), described by template #10 assigning_dated_effectivity, applied to the Promissory_usage. The fact that the effectivity indicates when the parts were fitted/removed, is represented by classifying the effectivity as "Installation_effectivity" (urn:plcs:rdl:std:Installation_effectivity). This is done by the template assigning_dated_effectivity.

NOTE    When the same part is removed and fitted to the same parent over time, the installation history should be recorded by one instance of Next_assembly_usage and Promissory_usage with a series of effectivities applied, as opposed to a new instance of Next_assembly_usage and Promissory_usage for each fit.

The reportable item can be installed or removed from a series of aircraft. This represented by a series of representing_promissory_usage and representing_assembly_structure relationships relating the reportable item to the aircraft.



Figure 30 —  EXPRESS-G diagram for installation/removal of a reportable item on aircraft

Figure 30 —  EXPRESS-G diagram for installation/removal of a reportable item on aircraft

The following templates are used in Figure 30 to represent the installation/removal of a reportable item on aircraft:

The use of template #5 representing_product_as_realized in Figure 30 to represent the end item is identical to, and described in, template table: Template #1(Figure 18).

Template #2 (Figure 30): representing_promissory_usage
Description Relationship between the reportable item and the end item.
Parameter name: Parameter value: Parameter description:
quantity ?quantity? quantity of child in the end item assembly
top_level_part Product_as_individual_view This represents the Product_as_individual_view of the end item represented by template Product_as_individual_view
constituent_part Product_as_individual_view This represents the Product_as_individual_view of the reportable item represented by template Product_as_individual_view
quantity 1 Default to 1
unit Count The name of the class used to represent the units of the corresponding quantity.
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 false 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".

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

Template #4 (Figure 30): representing_assembly_structure
Description Relationship between the reportable item and the next higher assembly.
Parameter name: Parameter value: Parameter description:
location_indicator ?location_indicator? indicates the location of the child in the parent assembly
quantity ?quantity? quantity of child in the parent assembly
parent Product_as_individual_view This represents the Product_as_individual_view of the reportable item's next higher assembly item represented by template Product_as_individual_view
child Product_as_individual_view This represents the Product_as_individual_view of the reportable item represented by template Product_as_individual_view
quantity 1 The quantity of the child in parent assembly. If unspecified, '1' is assumed.
unit Count The name of the class used to represent the units of the corresponding quantity.
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 false 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".

The use of template #5 representing_product_as_realized in Figure 30 to represent the reportable item is identical to, and described in, template table: Template #1(Figure 18).

The use of template #6 representing_product_as_realized in Figure 30 to represent the next higher assembly is identical to, and described in, template table: Template #1(Figure 18).

The use of template #7 assigning_product_property in Figure 30 to represent the properties of a reportable item is identical to, and described in, template table: Template #3(Figure 21).

The use of template #8 assigning_assessed_state in Figure 30 to represent the state of the reportable item is identical to, and described in, template table: Template #3(Figure 25).

Template #9 (Figure 30): assigning_dated_effectivity
Description The start and end date that the reportable item was on the next higher assembly
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the reportable item was fitted on the next higher assembly
start_month ?start_month? The month the reportable item was fitted on the next higher assembly
start_day ?start_day? The day the reportable item was fitted on the next higher assembly
start_hour ?start_hour? The hour the reportable item was fitted on the next higher assembly
start_minute ?start_minute? The minute the reportable item was fitted on the next higher assembly
start_second ?start_second? The second the reportable item was fitted on the next higher assembly
start_sense ?start_sense? Three possible values 'exact' when times are UTC, 'behind' when time are behind UTC and 'ahead' when times are ahead of UTC
start_hour_offset ?start_hour_offset? The hour offset from UTC, use 0 when values are UTC
start_minute_offset ?start_minute_offset? The minute offset from UTC, use 0 when values are UTC
end_year ?end_year? The year the reportable item was removed from the next higher assembly
end_month ?end_month? The month reportable item was removed from the next higher assembly
end_day ?end_day? The day the reportable item was removed from the next higher assembly
end_hour ?end_hour? The hour the reportable item was removed from the next higher assembly
end_minute ?minute? The minute the reportable item was removed from the next higher assembly
end_second ?end_second? The second the reportable item was removed from the next higher assembly
end_sense ?end_sense? Three possible values 'exact' when times are UTC, 'behind' when time are behind UTC and 'ahead' when times are ahead of UTC
end_hour_offset ?hour_offset? The hour offset from UTC, use 0 when values are UTC
end_minute_offset ?minute_offset? The minute offset from UTC, use 0 when values are UTC
role_class_name "Installation_effectivity" (urn:plcs:rdl:std:Installation_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 Assembly_component_relationship The items to which the effectivity is assigned, e.g. an identification_assignment, a next_assembly_usage, etc.
Template #10 (Figure 30): assigning_dated_effectivity
Description The start and end date that the reportable item was on the end item
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the reportable item was fitted on the end item
start_month ?start_month? The month the reportable item was fitted on the end item
start_day ?start_day? The day the reportable item was fitted on the end item
start_hour ?start_hour? The hour the reportable item was fitted on the end item
start_minute ?start_minute? The minute the reportable item was fitted on the end item
start_second ?start_second? The second the reportable item was fitted on the end item
start_sense ?start_sense? Three possible values 'exact' when times are UTC, 'behind' when time are behind UTC and 'ahead' when times are ahead of UTC
start_hour_offset ?start_hour_offset? The hour offset from UTC, use 0 when values are UTC
start_minute_offset ?start_minute_offset? The minute offset from UTC, use 0 when values are UTC
end_year ?end_year? The year the reportable item was removed from the end item
end_month ?end_month? The month reportable item was removed from the end item
end_day ?end_day? The day the reportable item was removed from the end item
end_hour ?end_hour? The hour the reportable item was removed from the end item
end_minute ?minute? The minute the reportable item was removed from the end item
end_second ?end_second? The second the reportable item was removed from the end item
end_sense ?end_sense? Three possible values 'exact' when times are UTC, 'behind' when time are behind UTC and 'ahead' when times are ahead of UTC
end_hour_offset ?hour_offset? The hour offset from UTC, use 0 when values are UTC
end_minute_offset ?minute_offset? The minute offset from UTC, use 0 when values are UTC
role_class_name "Installation_effectivity" (urn:plcs:rdl:std:Installation_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 Promissory_usage The items to which the effectivity is assigned, e.g. an identification_assignment, a next_assembly_usage, etc.

In addition to representing the fact that a reportable item has been fitted on or removed from an aircraft (or end item), many applications require the position in which the reportable item was fitted to be identified and the history of all reportable items fitted in that position to be recorded. This position could be recorded by simply identifying the assembly relationship as a position. However, it is better to explicitly represent the positions as elements in a breakdown. This will enable an explicit record of the history of reportable items fitted to a position in aircraft. The use of breakdowns is illustrated in Figure 31 which shows the breakdown of an individual aircraft. For simplicity, only the port wing and port engine positions are shown. Note that this diagram is intended to illustrate the generic constructs, a detailed description of how to represent this using ISO 10303-239 PLCS is in a subsequent section. The diagram shows that the wing with a serial number X was fitted to the aircraft in the Port wing position, on 2007-02-05. The diagram also shows that the engine with Serial number S/n 001 was installed in the Port engine position on 2007-02-05 and removed from that position on 2007-04-05 and the engine with Serial number S/n 002 was installed instead.



Figure 31 —  Illustration of a fitted parts

Figure 31 —  Illustration of a fitted parts

The ISO 10303-239 PLCS constructs used to represent the breakdown structure shown in Figure 31 are summarized in the EXPRESS-G diagram in Figure 32.

The breakdown of positions on the aircraft is represented by the template #11 representing_breakdown which is assigned to the view (Part_view_definition) of the end item part or type (e.g aircraft type) of which it is a breakdown, represented by template #1a representing_part (for details of representing an end item or reportable item see Section: Representing a reportable item.

A breakdown comprises a set of nodes or elements in the breakdown represented by template #14 representing_breakdown_element. Each representing_breakdown_element represents a position on the end item to which a reportable item can be fitted.

The breakdown can be hierarchical. An element in the breakdown can decomposed into a set of other breakdown elements. For example, a position may represent the port wing and the port wing could have a set of other positions on it, such as the port engine. Note that it is a business decision as to whether the positions are represented hierarchically. The hierarchical positions, represented by the template representing_breakdown_element e.g. template #12 and #14 in Figure 32 are related by the templates representing_breakdown_structure. E.g. template #13 in Figure 32.

The fact that a reportable item is or has been fitted in a given position is represented by the Breakdown_element_realization entity which is classified as "Installed_in_position" (urn:plcs:rdl:std:Installed_in_position) by the template #16 assigning_reference_data. This relates the reportable item fitted, represented by template #5 representing_product_as_realized, to the position, represented by the template representing_breakdown_element. The date when something was fitted or removed is represented the entity Dated_effectivity), described by template #15 assigning_dated_effectivity assigned to the Breakdown_element_realization entity. The fact that the effectivity is indicates when the parts were fitted/removed, is represented by classifying the effectivity as "Installation_effectivity" (urn:plcs:rdl:std:Installation_effectivity). This is done by the template #15 assigning_dated_effectivity

The representation of the assembly structure is the same as described previously summarized in Figure 30.



Figure 32 —  EXPRESS-G diagram for installation/removal of a reportable item in a position on aircraft

Figure 32 —  EXPRESS-G diagram for installation/removal of a reportable item in a position on aircraft

Templates #1 to #10 are as shown in Figure 30. The following templates are used in Figure 32 to represent the installation/removal of a reportable item in a position on aircraft:

Template #1a (Figure 32): representing_part
Description The end item part
Parameter name: Parameter value: Parameter description:
part_id ?part_id? The identifier of the part
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 class being used to classify the identifier assigned ( Identification_assignment ) to the part (i.e. the part.id)
part_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the External_class referenced by the parameter @part_id_class_name class..
part_org_id ?part_org_id? The name or identifier of the organization that owns the 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 class being used to classify the identification (Identification_assignment) of the organization responsible for creating the part representation
part_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the External_class used to classify the organization identifier.
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 identifier of the External_class_library storing the definition of the External_class referenced by the parameter @part_vn_id_class_name class..
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 identifier of the External_class_library storing the definition of the External_class used to classify the organization identifier.
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 External_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 External_class referenced by the parameter @domain class.
Template #11 (Figure 32): representing_breakdown
Description A breakdown of the end item into a set of positions where components may be fitted.
Parameter name: Parameter value: Parameter description:
id ?breakdown id? The identifier of the Breakdown.
id_class_name "Breakdown_identification_code" (urn:plcs:rdl:std:Breakdown_identification_code) The name of the class being used to classify the identification (Identification_assignment) of the breakdown. 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
bkdn_type "Breakdown" (urn:plcs:rdl:std:Breakdown) The name of the class being used to classify the Breakdown.
bkdn_type_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @bkdn_type class.
vn_id ?vn_id? The identifier of the Breakdown_version.
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 breakdown version. 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 ?vn_id_owner? The name or identifier of the organization owning the @vn_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 id of the External_class_library storing the @vn_id_owner_class_name class
of_product Part_version The Part_version of the end item that has been broken down. For example, the type of aircraft.
Template #12 (Figure 32): representing_breakdown_element
Description A position on the end item where the component representing the reportable item (#5) may be fitted (#14) and other positions (within the breakdown structure) on the end item where components may be fitted (#12)
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the Breakdown_element .
id_class_name "Breakdown_element_identification_code" (urn:plcs:rdl:std:Breakdown_element_identification_code) The name of the class being used to classify the (Identification_assignment) of the breakdown_element. 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 Breakdown_element_version.
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 breakdown_element_version. 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 ?vn_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 id 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.
bkdn_vn Breakdown_version The Breakdown_version of which this Breakdown_element is a constituent.

Template #14 representing_breakdown_element is the same as template #12

Template #13 (Figure 32): representing_breakdown_structure
Description Relationship between the positions
Parameter name: Parameter value: Parameter description:
rel_type_name "Breakdown_element_usage" (urn:plcs:rdl:std:Breakdown_element_usage) The name of the class being used to classify the element usage (Breakdown_element_usage) This provides the type of breakdown structure.
rel_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @rel_type_name class.
parent Breakdown_element_definition The immediate parent element Breakdown_element_definition in the breakdown structure.
child Breakdown_element_definition The immediate child element Breakdown_element_definition in the breakdown structure.
Template #15 (Figure 32): assigning_dated_effectivity
Description The start and end date that the reportable item was fitted in the position represented by the breakdown element
Parameter name: Parameter value: Parameter description:
start_year ?start_year? The year the reportable item was fitted in the position represented by the breakdown element
start_month ?start_month? The month the reportable item was fitted in the position represented by the breakdown element
start_day ?start_day? The day the reportable item was fitted in the position represented by the breakdown element
start_hour ?start_hour? The hour the reportable item was fitted in the position represented by the breakdown element
start_minute ?start_minute? The minute the reportable item was fitted in the position represented by the breakdown element
start_second ?start_second? The second the reportable item was fitted in the position represented by the breakdown element
start_sense ?start_sense? Three possible values 'exact' when times are UTC, 'behind' when time are behind UTC and 'ahead' when times are ahead of UTC
start_hour_offset ?start_hour_offset? The hour offset from UTC, use 0 when values are UTC
start_minute_offset ?start_minute_offset? The minute offset from UTC, use 0 when values are UTC
end_year ?end_year? The year the reportable item was removed from the position represented by the breakdown element
end_month ?end_month? The month reportable item was removed from the position represented by the breakdown element
end_day ?end_day? The day the reportable item was removed from the position represented by the breakdown element
end_hour ?end_hour? The hour the reportable item was removed from the position represented by the breakdown element
end_minute ?minute? The minute the reportable item was removed from the position represented by the breakdown element
end_second ?end_second? The second the reportable item was removed from the position represented by the breakdown element
end_sense ?end_sense? Three possible values 'exact' when times are UTC, 'behind' when time are behind UTC and 'ahead' when times are ahead of UTC
end_hour_offset ?hour_offset? The hour offset from UTC, use 0 when values are UTC
end_minute_offset ?minute_offset? The minute offset from UTC, use 0 when values are 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 Breakdown_element_realization The items to which the effectivity is assigned, e.g. an identification_assignment, a next_assembly_usage, etc.

Representing resource: replaced parts

Business information

During a maintenance activity, parts (spares) fitted to the aircraft may be replaced. These are listed and related to the activity that was responsible for fitting them. The information required to represent the parts and the maintenance activity can be summarized by the UML class diagram shown in Figure 33. 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    These parts are treated as spares and their installation history is not necessarily tracked. If the installation history of the spare is required, see: Section: Representing installation/removal position on an aircraft.

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



Figure 33 —  Model representing the replaced parts

Figure 33 —  Model representing the replaced parts

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent non trackable parts fitted to and removed from a reportable item as part of a maintenance activity. This is summarised in Figure 34 and Figure 35 below. To clarify understanding Figure 34 shows the principal entities and templates used. Figure 35 shows the same information, but uses the the templates assigning_realized_resource and representing_resource_item which instantiate a number of the principal entities as indicated in Figure 34.

NOTE    Where the fitted or replaced parts are logistically significant items, i.e. the individual part is uniquely identified (often by serial number) and the history of installation on the individual part on aircraft is tracked, then the representation described in Section: Representing installation/removal position on an aircraft should be used.

Activities to be performed on a product are frequently defined as tasks or maintenance procedures. These are developed as part of the support solution for a product. These task specifications provide a structured description of how to perform a maintenance activity and detail the resources, such as spares, that are required. In ISO 10303-239 PLCS tasks are represented by Task_element_assignment described in C015: representing_task (NB Capabilities are not documented in this release of the PLCS standard) . The resources, such as spares, required to perform the task are represented by Resource_item as described in C052: representing_resource (NB Capabilities are not documented in this release of the PLCS standard) . For any given resource there may be several parts that could be used as that resources. For example, the same part from different manufacturers. Hence the Resource_item links to a set of parts.

The Aviation Maintenance DEX records work that has been done. Hence, records the actual resource that was used during a maintenance activity to perform a task. This is represented by Resource_as_realized_resource_item as described in C085: representing_resource_as_realized (NB Capabilities are not documented in this release of the PLCS standard) . This is related to the maintenance activity by the Resource_as_realized_assignment. The part that was used is represented by the Resource_item. This is shown in Figure 34 and represented by template #3 representing_resource_item_realization in Figure 35. The quantity of repaired or replaced items is represented by a resource property as defined in template #2 assigning_resource_property and template #3 resource_property_numeric in Figure 34 and Figure 35.



Figure 34 —  EXPRESS-G diagram for recording parts used

Figure 34 —  EXPRESS-G diagram for recording parts used



Figure 35 —  EXPRESS-G diagram for recording parts used

Figure 35 —  EXPRESS-G diagram for recording parts used

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

Template #2 (Figure 35): assigning_realized_resource
Description The reference to the actual resource used during the activity being reported on.
Parameter name: Parameter value: Parameter description:
item Activity_actual The Activity_actual representing the activity that consumed the resource (Resource_as_realized).
resource_item Resource_item The Resource_item referencing the items that were used as resources.
role_class_name "Resource_as_realized_consumed_by" (urn:plcs:rdl:std:Resource_as_realized_consumed_by) The name of the class being used to classify the role of the Resource_as_realized_assignment.
role_ecl_id "urn:plcs:rdl:std" The RDL where the role of the Resource_as_realized_assignment is defined.
Template #3 (Figure 35): representing_resource_item_realization
Description The actual resource used during the activity being reported on.
Parameter name: Parameter value: Parameter description:
res_item_id ?resource id? The identification of the Resource_item
res_item_id_class "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   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 Product_as_realized Part The Product_as_realized or Part used as a resource.
Template #4 (Figure 35): assigning_resource_property
Description property representing the quantity of the resources used
Parameter name: Parameter value: Parameter description:
property_class_name "Quantity" (urn:plcs:rdl:std:Quantity) The class name of the property type 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.
described_element   The item to which the property is assigned
Template #5 (Figure 35): resource_property_numeric
Description Quantity of repaired or replaced items
Parameter name: Parameter value: Parameter description:
value ?value? Quantity of repaired or replaced items
unit ?unit? For a count or number of items, use "Count" (urn:plcs:rdl:std:Count)
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 Resource_property The target of the template, i.e. the Resource_property (or template assigning_resource_property) to which the Resource_property_representation is related.
For details on templates#6 (representing_part) and #7 (representing_product_as_realized), see Section: Representing a reportable item- PLCS representation.

Representing resource: trades used

Business information

The Aviation maintenance DEX can report on the amount of human resources used to perform the maintenance activity. For example, the number of hours taken by an electrician when performing the maintenance. These resource are listed and related to the activity that was being undertaken. The information required to represent the resources and the maintenance activity can be summarized by the UML class diagram shown in Figure 36. 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 resources being reported are not individual people, but rather professional trades.



Figure 36 —  Model representing the consumed resources

Figure 36 —  Model representing the consumed resources

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent resources or trades used during a maintenance activity. This is summarised in Figure 37. The effort consumed by a particular trade is treated as a resource that is consumed. Hence the approach is the same as representing a resource such as a spare part as described in Section: Representing resource: replaced parts: PLCS representation. Namely, the representation of the resource consumed by a Resource_as_realized_resource_item. The trade is represented by a Type_of_person as defined in the template #6 referencing_person_typical as shown in Figure 37.



Figure 37 —  EXPRESS-G diagram for recording trades used

Figure 37 —  EXPRESS-G diagram for recording trades used

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

Template #6 (Figure 37): referencing_person_typical
Description The type of person performing the activity. Normally a trade such as an electrician.
Parameter name: Parameter value: Parameter description:
type_of_pers_class_name ?person type class? The name of the External_class that determines the type of person being referenced.
type_of_pers_ecl_id "urn:plcs:rdl:std" The identification of the External_class_library storing the External_class given by the input parameter @type_of_person_class_name.

The use of template #2 assigning_realized_resource in Figure 37 is identical to, and described in template table: Template #2(Figure 35)

The use of template #3 representing_resource_item_realization in Figure 37 is identical to, and described in template table: Template #3(Figure 35)

Template #4 (Figure 37): assigning_resource_property
Description The property representing the man hours consumed by a particular trade
Parameter name: Parameter value: Parameter description:
property_class_name "Labour_time_consumed" (urn:plcs:rdl:std:Labour_time_consumed) The class name of the property type 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.
described_element Resource_as_realized_resource_item). The item to which the property is assigned
Template #5 (Figure 37): resource_property_numeric
Description the man hours consumed by a particular trade
Parameter name: Parameter value: Parameter description:
value   Quantity of repaired or replaced items
unit "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 "false" 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 Resource_property The target of the template, i.e. the Resource_property (or template assigning_resource_property) to which the Resource_property_representation is related.

Representing a reportable item usage activity

Business information

Activities performed by an aircraft, such as a sortie, or engine, such as an engine test, result in the accrual of life measurement values (properties) on reportable item throughout the aircraft as well as the aircraft (end_reportable_item). The information required to represent the activity and the consequent property changes can be summarized by the UML class diagram shown in Figure 38. 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 38 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 38 —  UML model representing a reportable item usage activity, e.g. a sortie

Figure 38 —  UML model representing a reportable item usage activity, e.g. a sortie

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent the usage of a reportable item. This is summarised in Figure 39 below.

The usage activity (shown as usage_profile in Figure 39) is represented in ISO 10303-239 PLCS by an Activity_actual - a representation of an activity that has occurred. The use of an Activity_actual is described in template #1 representing_product_usage and the capability C032: representing_activity (NB Capabilities are not documented in this release of the PLCS standard) and shown in detail in Figure 15. Template #1 representing_product_usage identifies the activity (usage_profile.usage_identification in Figure 39) and its start time.

The reportable item and the aircraft (or end item) affected by the usage activity are represented in ISO 10303-239 PLCS by instances of Product_as_individual. The reported item is described in template #11 representing_product_as_realized and the capability C045: representing_product_as_individual (NB Capabilities are not documented in this release of the PLCS standard) and shown in detail in Figure 17. The aircraft (or end item) is described in template #13 representing_product_as_realized and the capability C045: representing_product_as_individual (NB Capabilities are not documented in this release of the PLCS standard) and related to the reportable item by the template #12 representing_promissory_usage described in the capability C003: representing_assembly_structure (NB Capabilities are not documented in this release of the PLCS standard) .

The type of usage activity performed by the product (usage_profile.usage_profile_code in Figure 39) can be represented by template #5 representing_typical_activity.

The start and finish location of the usage activity, e.g. the take off location and the landing location of a sortie, can be represented respectively by templates #3 and #4 of assigning_location. The date and time that the usage activity finishes can be recorded, this is achieved by using template #2 assigning_time.

NOTE    Template #2 assigning_time is optional as the usage of the product may not have finished when the activity is reported.

The properties of a usage activity, such as duration or cost, are represented in ISO 10303-239 PLCS by the template #6 and template #7 process_property_numeric. assigning_process_property as described in the capability C077: assigning_process_properties (NB Capabilities are not documented in this release of the PLCS standard)

The properties of a reportable item that are the result of a usage activity, such as an increase in the life of a component, are represented in ISO 10303-239 PLCS by the template #10 assigning_product_property and template #9 product_property_numeric as described in the capability C076: assigning_product_properties (NB Capabilities are not documented in this release of the PLCS standard) . These are shown in detail in Figure 20. The justification that the reportable item property is changed by the usage activity is represented by template #8 assigning_justification and entity Justification_support_assignment.

An EXPRESS-G diagram showing the usage activity and how the properties of a reported item affected by the usage are represented is shown below in Figure 39.



Figure 39 —  EXPRESS-G diagram for representing a usage activity

Figure 39 —  EXPRESS-G diagram for representing a usage activity

The following templates are used in Figure 39 to represent the usage of a reportable item:

Template #1 (Figure 39): representing_product_usage
Description The activity that the product uses.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the activity
id_class_name "Activity_identification_code" (urn:plcs:rdl:std:Activity_identification_code) The identifier of the individual activity
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 identifier 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 identifier of the External_class_library storing the @id_owner_class_name class
method Activity_method The method defining the activity performed by the product. It is represented as Activity_method which is part of template representing_typical_activity.
role "Product_usage" (urn:plcs:rdl:std:Product_usage) The class name of the External_class corresponding to the role of the activity 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.
items Product_as_realized This is the Product_as_realized that represents the end item.
date_class_name "Date_actual_start" (urn:plcs:rdl:std:Date_actual_start) The name of the class being used to classify the date or time. Must be either a start or an end date or time.
date_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the @date_class_name class
year ?year? The year the activity started
month ?month? The month the activity started
day ?day? The day the activity started. This can be in local time or UTC
hour ?_hour? The hour the activity started. This can be in local time or UTC
minute ?minute? The minute the activity started. This can be in local time or UTC
second ?start_second? The second the activity started. 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
Template #2 (Figure 39): assigning_time
Description The finish date and time of the activity.
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 finish date and time of the usage activity
month ?month? the month component of the finish date and time of the usage activity
day ?day? the day component of the finish date and time of the usage activity. This can be in local time or UTC
hour ?hour? the hour component of the finish date and time of the usage activity. This can be in local time or UTC
minute ?minute? the minute component of the finish date and time of the usage activity. This can be in local time or UTC
second ?second? the second component of the finish date and time of the usage activity. 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_product_usage.
Template #3 (Figure 39): assigning_location
Description The activity start location
Parameter name: Parameter value: Parameter description:
la_class_name "Start_location" (urn:plcs:rdl:std:Start_location) The type of class used to classify the location assignment and so provide the role or reason for the assignment.
la_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the la_class_name class
loc_id ?loc_id? The identification of the start location for the activity
loc_id_class_name "Location_identification_code" (urn:plcs:rdl:std:Location_identification_code) The name of the class used to classify the location identifier and so provide the role or reason for the location
loc_id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the loc_id_class_name class
loc_org_id ?loc_org_id? The name or identifier of the organization responsible for the location representation
loc_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 the location representation
loc_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
entity_for_location Activity_actual The activity to which the start location is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_product_usage.
alt_locn_rep 'unknown' The alternative entities to which the location may be assigned. It may be used together with this template by using the reference parameter ^location and its attribute alt_locn_rep: ^location.alt_locn_rep
Template #4 (Figure 39): assigning_location
Description The activity finish location
Parameter name: Parameter value: Parameter description:
la_class_name "End_location" (urn:plcs:rdl:std:End_location) The type of class used to classify the location assignment and so provide the role or reason for the assignment.
la_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the la_class_name class
loc_id ?loc_id? The identification of the finish location for the activity
loc_id_class_name "Location_identification_code" (urn:plcs:rdl:std:Location_identification_code) The name of the class used to classify the location identifier and so provide the role or reason for the location
loc_id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the loc_id_class_name class
loc_org_id ?loc_org_id? The name or identifier of the organization responsible for the location representation
loc_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 the location representation
loc_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
entity_for_location Activity_actual The activity to which the finish location is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_product_usage.
alt_locn_rep 'unknown' The alternative entities to which the location may be assigned. It may be used together with this template by using the reference parameter ^location and its attribute alt_locn_rep: ^location.alt_locn_rep
Template #5 (Figure 39): representing_typical_activity
Description The type of activity performed by the product
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the type of activity
id_class_name "Activity_method_identification_code" (urn:plcs:rdl:std:Activity_method_identification_code) The type of identifier
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 identifier of the typical activity.
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 "Product_usage_activity_method" (urn:plcs:rdl:std:Product_usage_activity_method) A class indicating the type of activity undertaken by the product.
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 #6 (Figure 39): assigning_process_property
Description Duration property of the activity. This template assigns the property name, while template #7 process_property_numeric assigns the value and unit to a property instantiated by this template.
Parameter name: Parameter value: Parameter description:
property_class_name ?property_class_name? An identifying name that indicates the type of duration, e.g. 'sortie duration'
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 Activity_actual The activity to which the finish location is assigned. This is the activity that is represented as a Activity_actual which is part of template representing_product_usage.
Template #7 (Figure 39): process_property_numeric
Description Numeric property value and unit.
Parameter name: Parameter value: Parameter description:
value ?value? The value of the duration of the usage 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 #8 (Figure 39): assigning_justification
Description Justification of property.
Parameter name: Parameter value: Parameter description:
just_asgn_role "Justification_assignment_role" (urn:plcs:rdl:std:Justification_assignment_role) The type of Justification_assignment. The type allows the explicit representation of the reason for something to be represented by reference data.
role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @just_asgn_role.
just_txt ?just_txt? suggest the wording states "property changed by" followed by the type usage activity
just_item Property_value_representation TheProperty_value_representation instantiated by the template representing_numeric_property which is instantiated by template product_property_numeric identified at template #9
Template #9 (Figure 39): product_property_numeric
Description Numeric property value and unit.
Parameter name: Parameter value: Parameter description:
value ?value? The value of the reportable item property caused by usage activity
unit ?unit? The unit that the value of the property is measured in
unit_ecl_id "urn:plcs:rdl:std" Most units will be in the standard PLCS reference data, those that are not will have to be added to the Aviation Maintenance Dex specific reference data
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 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.
Template #10 (Figure 39): assigning_product_property
Description The name of the life property, changed by the usage activity, e.g. sortie. 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 #9(Figure 39).
Parameter name: Parameter value: Parameter description:
property_class_name ?property_class_name? Identification of the property that has been changed by the usage activity
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 reportable item that the work was done on represented as Product_as_individual_view which is part of template representing_product_as_realized.

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

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

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

Representing deferred activities

Business information

Standard maintenance tasks to be performed on an aircraft are defined as part of the support solution. These tasks are triggered when a particular fault occurs, or the reportable items life measurements reach a certain level. There will be occasions due to operational constraints when these tasks need to be delayed or brought forward due to damage or stress. Normally this requires an approval that the delay is acceptable, and a new set of task triggers defined, either by extending/reducing the life measurement or the date when the task is to be done. In addition to reporting on maintenance activities performed on an aircraft, the Aviation Maintenance DEX can be used to report these task extensions or deferred activities.

NOTE    The exchange of task definitions and their triggers is covered by task_set.

The information required to represent the task trigger and its extension can be summarized by the UML class diagram shown in Figure 40. 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 49 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 40 —  Model representing tasks and extensions

Figure 40 —  Model representing tasks and extensions

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent a deferment or bringing forward of a task. This is summarised in Figure 41 below.

The Aviation Maintenance DEX can be used to record the fact that a task that is due to be performed on a reportable item has been deferred and any consequent limitations of usage of the reportable item. It is not intended to be used to exchange task information and the triggers for task. That is covered by the DEX: task_set. The Aviation Maintenance DEX is also not intended to exchange information about planned and scheduled work. That is covered by the DEX: "DEX (D004):— work_package_definition". However, in order to describe how a deferred task is reported using the Aviation Maintenance DEX and is represented using ISO 10303-239 PLCS, it is necessary to describe how task triggers and planned activities are represented. The information required is summarized in Figure 41.



Figure 41 —  Summary of information representing task extensions

Figure 41 —  Summary of information representing task extensions

The yellow section of Figure 41 shows the tasks that have been specified to be performed on a given aircraft type, and the triggers for the tasks. For example, "change oil after 1000 flying hours". The details of how to represent the task trigger are described in DEX: task_set.

The green section shows maintenance activities that are scheduled for a particular aircraft as a consequence of the task triggers. For example, "change oil on aircraft tail number AC123 when it has flown 1000 hours". The triggers for the task to be done are shown as activity triggers and if the activity has been deferred, deferred activity triggers are also shown. The planned activities are authorised by a work order. The representation of a work order has been described in Section: Representing maintenance work order.

The blue section shows record of the work that has been done to the reportable item. The representation of work done has been described in Section: Representing reportable item maintenance activity.

The pink section shows the limitation of usage of the reportable item that is a direct consequence of the deferred activity.

The following sections describe how deferred tasks and usage limitations are represented using ISO 10303-239 PLCS.

Deferred activities

This section describes how the deferred activity triggers are represented using ISO 10303-239 PLCS.

There are two types of deferred activity triggers. The first occurs when a scheduled activity is deferred to a date or to a new set of life properties values. In other words, the scheduled activity was triggered by a set of properties on the reportable item reaching a set value, e.g. the aircraft has flown 1000 hours so do task X. Rather than performing the activity when the values have been reached, it has been deferred until a new set of values are reached.

The second types of deferred task triggers occurs when a reportable item has a fault that needs to be addressed. The activity to rectify the fault is deferred to a given date or life property values.

In both cases the activity is deferred to a life property or to a date. The deferral to a life property is described in the Section: Deferred activities - life properties. The deferral to a date is described in the Section: Deferred activities - time.

Deferred activities - life properties

This section describes how a scheduled activity that has been deferred to a new set of life properties values is represented using ISO 10303-239 PLCS. This is shown in the EXPRESS-G diagram below in Figure 42.



Figure 42 —  EXPRESS-G diagram for representing activities deferred to given life values

Figure 42 —  EXPRESS-G diagram for representing activities deferred to given life values

Template #1, representing_work_order, represents the authorised activity that is planned to be carried out when the relevant condition is triggered. See Section: Representing a maintenance work order; PLCS representation for details on work orders. The deferred activity is represented by the Directed_activity that is instantiated by the template #1 representing_work_order. The template also instantiates the template assigning_activity which in turn instantiates the entity Applied_activity_assignment that relates the deferred activity to the reportable item which is represented by template #3 representing_product_as_realized.

The activity trigger is a conditional clause, an "if then else" statement. The condition, or If component is represented by a Condition. The parameters that are being tested by the condition are represented by Condition_parameter to which are assigned the values being tested, either properties, dates or states. The consequence of the condition, or action resulting if the condition is satisfied, is represented by a Condition_assignment that assigns the condition to the action. In the case of activity triggers, the Condition_assignment is assigned to the Applied_activity_assignment which is instantiated by template #1 representing_work_order. In other words the deferred activity should be undertaken when condition is satisfied. The Condition, Condition_assignment and Condition_parameter are all instantiated by the template #4 assigning_condition and described in the capability C026: representing_condition (NB Capabilities are not documented in this release of the PLCS standard) .

The target property that will trigger the activity is represented by an Independent_property, the name of which being provided by classification, template #10 assigning_reference_data. The Independent_property is assigned to the Condition_parameter in template #4 assigning_condition and its value represented by template #11 representing_numeric_property. E.g 1000 Flying hours. The property whose value is recorded on the reportable item and compared to trigger the activity is represented by templates #8 assigning_product_property and #9 product_property_numeric. These are described in Section: Representing properties on a reportable item The property is input to the condition by a Condition_parameter.

The following templates are used in Figure 42 to represent task extensions:

Template #1 (Figure 42): representing_work_order
Description The authorized planned activity.
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. This links to the symptom if it exists.
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.

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

Template #4 (Figure 42): assigning_condition
Description A condition comparing a life property to a target value, which when reached, will make the Applied_activity_assignment valid. In other words, when the condition is true, the deferred activity should be done.
Parameter name: Parameter value: Parameter description:
cond_item Applied_activity_assignment The Applied_activity_assignment instantiated by the representing_work_order that assigns the deferred activity to the reportable item
cond_asg_class "Deferred_activity_assignment" (urn:plcs:rdl:std:Deferred_activity_assignment) The name of the class used to classify the Condition_assignment and to provide the role or reason for the condition.
cond_asg_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @cond_asg_class.
cond_class "Deferred_life_condition" (urn:plcs:rdl:std:Deferred_life_condition) Type of Condition that can be evaluated.
cond_ecl_id "urn:plcs:rdl:std" "urn:plcs:rdl:std"
cond_para_item Independent_property The item consituting the Condition_parameter.
Template #5 (Figure 42): assigning_time
Description The time to which the activity was deferred.
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 date and time that activity has been deferred to.
month ?month? The 'month' component of: the date and time that activity has been deferred to.
day ?day? The 'day' component of: the date and time that activity has been deferred to. This can be in local time or UTC
hour ?hour? The 'hour' component of: the date and time that activity has been deferred to. This can be in local time or UTC.
minute ?minute? The 'minute' component of: the date and time that activity has been deferred to. This can be in local time or UTC
second ?second? The 'second' component of: the date and time that activity has been deferred to. 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 deferred activity represented as a Directed_activity instantiated by the template representing_work_order.
Template #6 (Figure 42): assigning_asserted_state
Description Indication that the Directed_activity is in a deferred states
Parameter name: Parameter value: Parameter description:
state_class_name "Deferred_activity" (urn:plcs:rdl:std:Deferred_activity) 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 Directed_activity The deferred activity represented as a Directed_activity instantiated by the template representing_work_order.

The use of template #8 assigning_product_property in Figure 42 is identical to, and described in, template table: Template #3(Figure 21).

The use of template #9 product_property_numeric in Figure 42 is identical to, and described in, template table: Template #4(Figure 21).

Template #10 (Figure 42): assigning_reference_data
Description Periodicity property.
Parameter name: Parameter value: Parameter description:
class_name "Periodicity" (urn:plcs:rdl:std:Periodicity) 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 Independent_property The items to which the External_class is assigned.
Template #11 (Figure 42): representing_numeric_property
Description The property that is being tested.
Parameter name: Parameter value: Parameter description:
value ?value? The value of the property that is being tested
unit ?unit? The unit that the value of the property is measured in
unit_ecl_id "urn:plcs:rdl:std" Most units will be in the standard PLCS reference data, those that are not will have to be added to the Aviation Maintenance Dex specific reference data
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.

If the activity being deferred is to rectify a fault, then the fault, is represented by the template #12 assigning_asserted_state, the use of which is identical to, and described in template table: Template #1(Figure 25).

Deferred activities - time

This section describes how ISO 10303-239 PLCS is used to represent an activity that has been deferred to a given date. This is summarised in Figure 43 below.



Figure 43 —  EXPRESS-G diagram for representing activities for deferred faults

Figure 43 —  EXPRESS-G diagram for representing activities for deferred faults

The following templates are used in Figure 43 to represent an activity to rectify a fault that has been deferred.

Template #4 (Figure 43): assigning_condition
Description A condition will make the Applied_activity_assignment valid when a specified time is reached. In other words, when the condition is true, the deferred activity should be done.
Parameter name: Parameter value: Parameter description:
cond_item Applied_activity_assignment The Applied_activity_assignment instantiated by the representing_work_order that assigns the deferred activity to the reportable item
cond_asg_class "Deferred_activity_assignment" (urn:plcs:rdl:std:Deferred_activity_assignment) The name of the class used to classify the Condition_assignment and to provide the role or reason for the condition.
cond_asg_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @cond_asg_class.
cond_class "Deferred_time_condition" (urn:plcs:rdl:std:Deferred_time_condition) Type of Condition that can be evaluated.
cond_ecl_id "urn:plcs:rdl:std" "urn:plcs:rdl:std"
cond_para_item Independent_property The item consituting the Condition_parameter.

The use of templates #1, representing_work_order, #3 representing_product_as_realized, #5 assigning_time, #6 assigning_asserted_state shown in Figure 43 is the same as described in Section: Deferred activities - life properties and shown in Figure 42.

If the activity being deferred is to rectify a fault, then the fault, is represented by the template #8 assigning_asserted_state, the use of which is identical to, and described in template table: Template #1(Figure 25).

Limitation of usage

This section describes how ISO 10303-239 PLCS is used to represent a limitation of usage of a reportable item that arises as a consequence of a deferred activity. This is summarised in Figure 44 below.



Figure 44 —  EXPRESS-G diagram for representing limitation of usage

Figure 44 —  EXPRESS-G diagram for representing limitation of usage

The limitation is represented by the template #14 assigning_concession which is assigned to the reportable item represented by the template #2 representing_product_as_realized. A description of the limitation can be represented by the template assigning_descriptor. The reason for the limitation is the deferred work order represented by template #1 representing_work_order. The fact that this has led to a limitation of usage is represented by the templates #7 assigning_justification and #6 assigning_justification_support_item relating the deferred state of the work order (#4 assigning_asserted_state) to the limitation (#14 assigning_concession).

The condition under which the limitation applies is represented by the use of the template #9 assigning_condition. This compares the limit, represented by the Independent_property, and its value represented by template #11 representing_numeric_property, and the property that is being compared, represented by template #12 assigning_product_property.

The following templates are used in Figure 44 to represent task extensions:

The use of templates #1, representing_work_order, #2 representing_product_as_realized, shown in Figure 44 is the same as described in Section: Deferred activities - life properties and shown in Figure 42.

Template #5 (Figure 44): assigning_concession
Description An approved limitation of usage.
Parameter name: Parameter value: Parameter description:
asn_role "Concession" (urn:plcs:rdl:std:Concession) the type of Approval_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 @asn_role.
status "Approved_with_concession" (urn:plcs:rdl:std:Approved_with_concession) types of status allowed
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.
date_cn "Date_actual" (urn:plcs:rdl:std:Date_actual) 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 that the concession was granted.
month ?month? the month component of the date that the concession was granted.
day ?day? the day component of the date that the concession was granted.
items Product_as_realized The reportable item against which the concession has been raised.
person_org   The person or organization responsible for the approval
Template #5b (Figure 44): representing_organization
Description Organization approving concession
Parameter name: Parameter value: Parameter description:
org_id ?org_id? The identifier of the organization that approved the concession
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.
Template #6 (Figure 44): assigning_justification_support_item
Description Justification for the limitation.
Parameter name: Parameter value: Parameter description:
support_item_role "Concession_justification" (urn:plcs:rdl:std:Concession_justification) The way in which the cited item supports the Justification.
role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @support_item_role.
justification Justification The Justification being supported.
just_supp_item State_observed The fault.
Template #7 (Figure 44): assigning_justification
Description Justification for the limitation.
Parameter name: Parameter value: Parameter description:
just_item   The item to which the Justification_assignment is assigned.
just_asgn_role "Concession_justification" (urn:plcs:rdl:std:Concession_justification) The type of Justification_assignment. The type allows the explicit representation of the reason for something to be represented by reference data.
role_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @just_asgn_role.
just_txt "" Ignore this parameters as the text describing the concession is provided by the template #8 assigning_descriptor.
Template #8 (Figure 44): assigning_descriptor
Description Text describing the limitation.
Parameter name: Parameter value: Parameter description:
descr   Text describing the limitation
class_name "Descriptor_assignment" (urn:plcs:rdl:std:Descriptor_assignment) 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 Approval The Approval representing the approved limitation.
Template #9 (Figure 44): assigning_condition
Description An "If then else" clause representing the conditions under which the reportable item may be used.
Parameter name: Parameter value: Parameter description:
cond_item Approval The approval for limited usage (Approval).
cond_asg_class "Concession_condition" (urn:plcs:rdl:std:Concession_condition) The name of the class used to classify the Condition_assignment and to provide the role or reason for the condition.
cond_asg_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class referenced by the parameter @cond_asg_class.
cond_class "Equals" (urn:plcs:rdl:std:Equals) Type of Condition that can be evaluated.
cond_ecl_id "urn:plcs:rdl:std" "urn:plcs:rdl:std"
cond_para_item Independent_property The item consituting the Condition_parameter.
Template #10 (Figure 44): assigning_reference_data
Description Periodicity property.
Parameter name: Parameter value: Parameter description:
class_name "Periodicity" (urn:plcs:rdl:std:Periodicity) 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 Independent_property The items to which the External_class is assigned.
Template #11 (Figure 44): representing_numeric_property
Description The limitation value.
Parameter name: Parameter value: Parameter description:
value ?value? The value of the property that is being tested
unit ?unit? The unit that the value of the property is measured in
unit_ecl_id "urn:plcs:rdl:std" Most units will be in the standard PLCS reference data, those that are not will have to be added to the Aviation Maintenance Dex specific reference data
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.
Template #12 (Figure 44): assigning_product_property
Description The name of the property used to express the limitation. E.g. flying hours, or altitude.
Parameter name: Parameter value: Parameter description:
property_class_name ?property_class_name? The name of the property. Note the property is defined as a subclass of "Assigned_property" (urn:plcs:rdl:std:Assigned_property).
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 Product_as_realized The Product_as_realized whose property is being limited.

Representing reportable item location

Business information

Some reportable items are moved from one geographical location or organizational location to another. The information required to represent the reportable item and the consequent location changes can be summarized by the UML class diagram shown in Figure 45. 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 45 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 45 —  Model representing the movement of a reportable item to a new location

Figure 45 —  Model representing the movement of a reportable item to a new location

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent a change to the location of a reportable item. This is summarised in Figure 46 below.

The activity that caused the reportable item to change location is represented by template #1a representing_activity_actual. The fact that the activity affects the reportable item is represented by template #0 assigning_activity. The type of activity, such as "road transport" is represented by template representing_typical_activity.

The reportable item is treated like as a product and is therefore represented by an instance of Product_as_individual as detailed in template #2 representing_product_as_realized and described fully in Section: Representing a reportable item. The serial number which identifies the specific reportable item, and the stock code e.g. NSN which classifies it, are represented respectively by template #3 assigning_identification and template #4 representing_resource_item_realization.

Both the physical geographical and the organizational location of the reportable item is represented by a single instance of Location as shown in template #5 assigning_location. This is described in the capability C049: assigning_location (NB Capabilities are not documented in this release of the PLCS standard) .

Each date when the reportable item changes location is represented by a Date_time as detailed in template #7 assigning_time applied to the Product_as_individual. This represents the date and time a reportable item arrived at the new location. The date and time a reportable item left a location can be recorded, this uses the same representation as the arrival time, see template #8 assigning_time.

The representation of the serviceability status of the reportable item at the time of change of location is detailed in the template #6 assigning_asserted_state. The template assigning_assessed_state should be used if the serviceability status is an assessment.

An EXPRESS-G diagram showing how the moving of a location of the reportable item on the aircraft is represented is shown below.



Figure 46 —  EXPRESS-G diagram for identifying the change of a location of  a reportable item

Figure 46 —  EXPRESS-G diagram for identifying the change of a location of a reportable item

The following templates are used in Figure 46 to represent the change of a location of a reportable item:

Template #0 (Figure 46): assigning_activity
Description Relating the activity that caused the change in location to the reportable item whose location changed.
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_activity_actual.
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 #1a (Figure 46): representing_activity_actual
Description The activity that caused the change in location of 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.
method Activity_method The method used to do the work represented as Activity_method which is part of template representing_typical_activity.
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
Template #1b (Figure 46): representing_typical_activity
Description The type of activity used to change the location of the reportable item.
Parameter name: Parameter value: Parameter description:
id ?id? The identifier of the type of activity 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 typical activity 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.

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

Template #5 (Figure 46): assigning_location
Description Physical and organizational location of the reportable item
Parameter name: Parameter value: Parameter description:
la_class_name "Location_assignment_role" (urn:plcs:rdl:std:Location_assignment_role) The type of class used to classify the location assignment and so provide the role or reason for the assignment.
la_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the la_class_name class
loc_id ?loc_id? The identification of the physical geographical location for the reportable item
loc_id_class_name "Location_identification_code" (urn:plcs:rdl:std:Location_identification_code) The name of the class used to classify the location identifier and so provide the role or reason for the location
loc_id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the loc_id_class_name class
loc_org_id ?loc_org_id? The identifier of the organizational location
loc_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 the location representation
loc_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
entity_for_location Product_as_individual_view The entities to which the location may be assigned
alt_locn_rep 'unknown' The alternative entities to which the location may be assigned. It may be used together with this template by using the reference parameter ^location and its attribute alt_locn_rep: ^location.alt_locn_rep

The use of template #6 assigning_asserted_state in Figure 30 is identical to, and described in, template table: Template #22(Figure 25).

Template #7 (Figure 46): assigning_time
Description Date and time the reportable item moved to a location.
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 date the reportable item moved
month ?month? the month component of the date the reportable item moved
day ?day? the day component of the date the reportable item moved. This can be in local time or UTC
hour ?hour? the hour component of the date the reportable item moved. This can be in local time or UTC
minute ?minute? the minute component of the date the reportable item moved. This can be in local time or UTC
second ?second? the second component of the date the reportable item moved. 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 Location The items to which the date is assigned.
Template #8 (Figure 46): assigning_time
Description Date and time the reportable item moved from a location.
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 date the reportable item moved
month ?month? the month component of the date the reportable item moved
day ?day? the day component of the date the reportable item moved. This can be in local time or UTC
hour ?hour? the hour component of the date the reportable item moved. This can be in local time or UTC
minute ?minute? the minute component of the date the reportable item moved. This can be in local time or UTC
second ?second? the second component of the date the reportable item moved. 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 Location The items to which the date is assigned.

Representing related components

Business information

When reporting on a maintenance task performed on a reportable item, it is often necessary to report on state of related components that are not necessarily part of the reportable item. For example when reporting on work done to an engine, lifing properties on the Auxiliary Power Unit (APU) may be reported. The information required to represent the related reportable items can be summarized by the UML class diagram shown in Figure 47. 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 47 is intended to illustrate the type of information that can be represented by the DEX. It does not imply that all exchanges must contain this information.



Figure 47 —  Model representing the relationship of a reportable item to other items

Figure 47 —  Model representing the relationship of a reportable item to other items

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent components related to the reportable item. This is summarised in Figure 48 below.

When reporting on a maintenance task performed on a reportable item, it is often necessary to report on state of related components. For example lifing properties on the Auxiliary Power Unit (APU). These are treated like any other products therefore represented by instances of Product_as_individuals. The reportable item is represented by template #2 representing_product_as_realized and the related reportable item is represented by template #6 and template #3 referencing_part as described in Section: Representing a reportable item: PLCS representation.

The maintenance task that causes the reportable item to change is represented by template #1 representing_work_done and described in detail in Section: Representing reportable item maintenance activity.

The related components are related back to the Activity_actual that represents the maintenance task being reported on by an instance of Applied_activity_assignment. In order to distinguish between the different related items, the Applied_activity_assignments should be classified, using a class that represents their role. For example, in the case of an APU, the Applied_activity_assignment relating the APU to the Activity_actual should be classified as "Activity_input_APU".

NOTE    The classes such as "Activity_input_APU" have not been defined and should be specified as part of a business DEX that is using this Aviation Maintenance DEX.

The use of Applied_activity_assignment is detailed in the template #5 assigning_activity.

The serial number which identifies the related reportable item, and the stock code e.g. NSN which classifies it, are represented respectively by template #3 assigning_identification and template #4 representing_resource_item_realization.

Properties of the related reportable item are represented by instances of Assigned_property as detailed in the templates #7 assigning_product_property and #8 product_property_numeric described in Section: Properties of the Reportable item. Template #7 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 #8 product_property_numeric is used to represent the value of the property and its unit.

An EXPRESS-G diagram showing how the related components of the reportable item on the aircraft is represented is shown below.



Figure 48 —  EXPRESS-G diagram for identifying the related components of a reportable item

Figure 48 —  EXPRESS-G diagram for identifying the related components of a reportable item

The following templates are used in Figure 48 to represent components related to a reportable item:

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

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

The use of template #3 referencing_part in Figure 48 is identical to, and described in, template table: Template #0(Figure 18).

The use of template #5 assigning_activity in Figure 48 is identical to, and described in, template table: Template #9(Figure 15).

The use of template #6 representing_product_as_realized in Figure 48 is identical to, and described in, template table: Template #1(Figure 18) however this is for the related item.

The use of template #7 assigning_product_property in Figure 48 is identical to, and described in, template table: Template #3(Figure 21).

The use of template #8 product_property_numeric in Figure 48 is identical to, and described in, template table: Template #4(Figure 21).

Representing Inventory Gain and Loss

Business information

In addition to reporting on maintenance activities performed on an aircraft, the Aviation Maintenance DEX can be used to record the fact that a reportable item has been added to or removed from the inventory.

The information required to represent the addition or loss to the inventory can be summarized by the UML class diagram shown in Figure 49. 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 49 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 information provided is simply a statement that a reportable item has been added to or removed from an inventory. All of the product definition information about the reportable item, such as its breakdown structure, the tasks that can be performed on the product, the possible fault states etc, is not exchanged. Other DEXs, such as DEX: (D001) — Product Breakdown for Support, DEX: (D008) — Product as Individual, DEX: (D005) — Maintenance plan, DEX: (D002) — Faults related to products, DEX: (D003) — Information related to a single task should be used.



Figure 49 —  Model representing the addition or loss of a reportable item to the inventory

Figure 49 —  Model representing the addition or loss of a reportable item to the inventory

PLCS representation

The following section describes how ISO 10303-239 PLCS is used to represent reportable items being added or removed from the inventory. This is summarised in Figure 50 below.

In addition to reporting on maintenance activities performed on an aircraft, the Aviation Maintenance DEX can be used to record the fact that a reportable item has been added to or removed from the inventory. The action of reporting this event, the Aviation Maintenance DEX, is represented in ISO 10303-239 PLCS by an instantiation of an Activity_actual.

In ISO 10303-239 PLCS a distinction is made between actual products, such as an aircraft or engine, and products that can be used as a resource to do a task and products that are managed in an inventory.

A product that is managed in an inventory is represented by a Managed_resource which refers to the resource that is being managed, represented by a Resource_item. The Resource_item identifies a product type or actual product that is required for a particular task. In this case, the Resource_item links to the Product_as_individuals representing the reportable item. The Managed_resource can have both the physical geographical and the organizational location allocated to it. This is represented by a single instance of Location as shown in template #6 assigning_location. This is described in the capability C049: assigning_location (NB Capabilities are not documented in this release of the PLCS standard) .

ISO 10303-239 PLCS represents the event of increasing or decreasing the inventory by an instantiation of a Increasing_resource_event or Decreasing_resource_event respectively. The quantity of items added to or removed from the inventory is identified by template #1 representing_count.

In some applications there are a standard set of reasons for the loss or gain of an inventory item. These are represented by template #4 and #5 assigning_reference_data. Template #4 gives the reason for the gain to the inventory; template #5 gives the reason for the loss from the inventory. Each resource event is linked back to the Activity_actual by an instance of template #2 or #3 representing_work_done. Template #2 represents the Activity_actual for gains to the inventory. Template #3 represents the Activity_actual for loss from the inventory.

An EXPRESS-G diagram showing how the inventory event is represented is shown below.



Figure 50 —  EXPRESS-G diagram for representing inventory events

Figure 50 —  EXPRESS-G diagram for representing inventory events

The following templates are used in Figure 50 to represent inventory events:

Template #1 (Figure 50): representing_count
Description Quantity
Parameter name: Parameter value: Parameter description:
value ?value? The quantity of increasing or decreasing items
Template #2 (Figure 50): representing_work_done
Description Relation to the Activity_actual representing the inventory gain, Classified as: Activity_output
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 Resource_event The product that is or was used in the activity, e.g. the airplane that was used for a specific mission, the truck that was used for a specific transport.
predicted_work Directed_activity The work request that caused the work order 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 #3 (Figure 50): representing_work_done
Description Relation to the Activity_actual representing the inventory loss, Classified as: Activity_output
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 Resource_event The product that is or was used in the activity, e.g. the airplane that was used for a specific mission, the truck that was used for a specific transport.
predicted_work Directed_activity The work request that caused the work order 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 50): assigning_reference_data
Description The reason for the gain to inventory.
Parameter name: Parameter value: Parameter description:
class_name ?class_name? The reason for the gain to the inventory.
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items Resource_event The items to which the External_class is assigned.
Template #5 (Figure 50): assigning_reference_data
Description The reason for loss from inventory.
Parameter name: Parameter value: Parameter description:
class_name ?class_name? The reason for the loss from the inventory.
ecl_id "urn:plcs:rdl:std" The id of the External_class_library that stores the definition for the class being used.
items Resource_event The items to which the External_class is assigned.
Template #6 (Figure 46): assigning_location
Description Location
Parameter name: Parameter value: Parameter description:
la_class_name "Location_assignment_role" (urn:plcs:rdl:std:Location_assignment_role) The type of class used to classify the location assignment and so provide the role or reason for the assignment.
la_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the la_class_name class
loc_id ?loc_id? The identification of the physical geographical location for the resource
loc_id_class_name "Location_identification_code" (urn:plcs:rdl:std:Location_identification_code) The name of the class used to classify the location identifier and so provide the role or reason for the location
loc_id_ecl_id "urn:plcs:rdl:std" The id of the External_class_library storing the loc_id_class_name class
loc_org_id ?loc_org_id? The identifier of the organizational location
loc_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 the location representation
loc_org_id_ecl_id "urn:plcs:rdl:std" The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
entity_for_location Managed_resource The entities to which the location may be assigned
alt_locn_rep 'unknown' The alternative entities to which the location may be assigned. It may be used together with this template by using the reference parameter ^location and its attribute alt_locn_rep: ^location.alt_locn_rep

© OASIS 2008 — All rights reserved