Template:— representing_product_usage (rep_prod_use) Date: 2008/01/18 08:58:19
Revision: 1.33

This section specifies the template representing_product_usage.

NOTE  An explanation of a template and the associated instantiation path is provided in the Template overview section.

Description

This template describes how to represent a record of the usage of a product, e.g. the use of an airplane for a specific mission or the use of a truck for a specific transportation. It represents an activity that has at least started and may have finished - an actual activity.

It can be used to record any information about a product usage, such as what product individual was used, who has reported the product usage, what typical activity was followed, and when the product was used. It is mandatory to assign an identifier or name to the activity, and a start or end time, and to relate it to a typical activity (method) as well as the product being used.

Where the activity reported on is an authorized activity undertaken on a product in response to a Work_order, such as a change to the product, the template representing_work_done should be used.

Where the activity reported on is a neither an authorized activity, nor an activity performed by a product the more generic template representing_activity_actual should be used.

NOTE    This template is intended for tracking product usage (operation).

Where the activity is work planned to be done on a product and authorised by a Work_order, the template representing_work_order should be used.

Where the activity is planned to take place some time in the future but is not authorized by a work order i.e. directed, the template representing_planned_activity should be used.

Where the activity is work that has been done to a product in response to a planned activity (a Directed_activity) that has been authorized by a Work_order, the template representing_work_done should be used.

Where the activity is a record of an activity that has taken place that is neither an authorized activity i.e. not authorized by a Work_order such as part of a directed change or technical bulletin, nor an activity performed by a product the more generic template representing_activity_actual should be used.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_product_usage". The text highlighted in blue shows the template parameters.
Grey areas and templates with dashed lines are not included in the template, but may be used to further characterize the template.

Relations between the actual activity (product_usage) and a planned activity is instantiated through Activity_happening.



Figure 1 —  An EXPRESS-G representation of the Information model for representing_product_usage

Figure 1 —  An EXPRESS-G representation of the Information model for representing_product_usage

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  2 below.


Figure 2 —  The graphical representation of the representing_product_usage template

Figure 2 —  The graphical representation of the representing_product_usage template

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
The identifier of the Activity_actual.
id_class_name (Default=Activity_identification_code,Type='CLASS')
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.
The following classes and their sub-classes can be used:
classifications: "Activity_identification_code" (urn:plcs:rdl:std:Activity_identification_code)
id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @id_class_name class.
id_owner (Type='STRING')
The name or identifier of the organization owning the identifier or name.
id_owner_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code), "Organization_name" (urn:plcs:rdl:std:Organization_name)
id_owner_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the @id_owner_class_name class
method (Type= 'ENTITY (Activity_method)' )
The typical activity of which this activity_actual is an instance, or other regulating method.
role (Default=Product_usage,Type='CLASS', Optional)
The class name of the External_class corresponding to the role of the activity assignment.
The following classes and their sub-classes can be used:
classifications: "Product_usage" (urn:plcs:rdl:std:Product_usage)
role_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class referenced by the parameter @role_class_name.
items (Type= 'ENTITY (Product_as_realized)' )
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 (Default=Date_actual_start,Type='CLASS')
The name of the class being used to classify the date or time. Must be either a start or an end date or time.
The following classes and their sub-classes can be used:
classifications: "Date_actual_start" (urn:plcs:rdl:std:Date_actual_start), "Date_actual_end" (urn:plcs:rdl:std:Date_actual_end)
date_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the @date_class_name class
year (Type= 'TYPE (year_number)' )
The year component of the date and time the activity was started or completed.
month (Type= 'TYPE (month_in_year_number)' )
The month component of the date and time the activity was started or completed.
day (Type= 'TYPE (day_in_month_number)' )
The day component of the date and time the activity was started or completed.
hour (Type= 'TYPE (hour_in_day)' )
The hour component of the date and time the activity was started or completed.
minute (Type= 'TYPE (minute_in_hour)' , Optional)
The minute component of the date and time the activity was started or completed. This parameter is optional. If not given, it will remain unset.
second (Type= 'TYPE (second_in_minute)' , Optional)
The second component of the date and time the activity was started or completed. This parameter is optional. If not given, it will remain unset.
sense (Type= 'ENUMERATION (offset_orientation)' )
The direction that the time the activity was started or completed is offset from Coordinated Universal Time. Enumeration values are: 'ahead', 'exact' or 'behind'.
hour_offset (Type='INTEGER')
The number of hours by which the time the activity was started or completed is offset from Coordinated Universal Time.
minute_offset (Type='INTEGER', Optional)
The number of minutes by which the time the activity was started or completed is offset from Coordinated Universal Time. The value of this attribute need not be specified. This parameter is optional. If not given, it will remain unset.
Reference parameters
The following reference parameters are defined for this template:
act_act(Type='ENTITY (Activity_actual)')
Allow the Activity_actual entity instantiated in this path to be referenced when this template is used.
Note: The Activity_actual entity can be referenced in a template path by:
%^target = $representing_product_usage.act_act%
where target is the parameter to which the Activity_actual is bound.
Allows referencing of entity Activity_actual from outside the template, e.g. in order to characterize the Activity_actual further.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique activity actual
There shall be at most one instance of the entity (Activity_actual) within the data set uniquely identified by a combination of the following parameters on this template (representing_product_usage) namely: id, id_class_name, id_ecl_id, id_owner, id_owner_class_name, id_owner_ecl_id.
The instance is referenced by the following template parameter: act_act.
Instantiation path
The instantiation path shown below specifies the entities that are to be instantiated by the template.
A description of templates and the syntax for the instantiation path is provided in the Reading Capability Templates help section.
-- instantiate Activity_actual
Activity_actual
%^act_act = Activity_actual%
^act_act.id = '/IGNORE'
^act_act.name = '/IGNORE'
^act_act.description = '/IGNORE'
^act_act.chosen_method -> @method

-- assign ID to activity_actual
/assigning_identification(
    id=@id,
    id_class_name=@id_class_name,
    id_ecl_id=@id_ecl_id,
    org_id=@id_owner,
    org_id_class_name=@id_owner_class_name,
    org_id_ecl_id=@id_owner_ecl_id,
    items=^act_act)/

-- assigning activity_actual to the corresponding product in a specific role
/assigning_activity(
    role_class_name=@role,
    role_ecl_id=@role_ecl_id,
    assigned_activity= ^act_act,
    items=@items)/

-- assigning an actual date of the activity_actual
/assigning_time(
    date_class_name=@date_class_name,
    date_ecl_id=@date_ecl_id,
    year=@year,
    month=@month,
    day=@day,
    hour=@hour,
    minute=@minute,
    second=@second,
    sense=@sense,
    hour_offset=@hour_offset,
    minute_offset=@minute_offset,
    items= ^act_act)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Activity_actual.id '/IGNORE' Activity.id
Activity_actual.name '/IGNORE' Activity.name
Activity_actual.description '/IGNORE' Activity.description
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_product_usage(id='M142345242', id_class_name='Activity_identification_code', id_ecl_id='urn:plcs:rdl:std', id_owner='ExpressDeliveryInc', id_owner_class_name='Organization_name', id_owner_ecl_id='urn:plcs:rdl:std', items='#65', method='#40', date_class_name='Date_actual_start', date_ecl_id='urn:plcs:rdl:std', year='2007', month='01', day='07', hour='14', minute='23', second='', sense='', hour_offset='', minute_offset='', role='Product_usage', role_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_product_usage template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_product_usage template

Figure 3 —  Entities instantiated by representing_product_usage template

The instance diagram in Figure 4 shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/representing_product_usage(id='M142345242', id_class_name='Activity_identification_code', id_ecl_id='urn:plcs:rdl:std', id_owner='ExpressDeliveryInc', id_owner_class_name='Organization_name', id_owner_ecl_id='urn:plcs:rdl:std', items='#65', method='#40', date_class_name='Date_actual_start', date_ecl_id='urn:plcs:rdl:std', year='2007', month='01', day='07', hour='14', minute='23', second='', sense='', hour_offset='', minute_offset='', role='Product_usage', role_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of representing_product_usage template

Figure 4 —  Instantiation of representing_product_usage template

Characterizations
The following section details how the representing_product_usage template can be optionally characterized by assigning other constructs to it. These are characterizations commonly applied to the template. The ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
The EXPRESS-G diagram in Figure 5 shows the possible characterizations of the template "representing_product_usage".


Figure 5 —  Characterizations for representing_product_usage template

Figure 5 —  Characterizations for representing_product_usage template

The following characterizations may apply:
Characterization Assigning classification or code

NOTE   this characterization is optional.

Classifications and codes may be assigned to an actual activity through external reference data. See Figure 5 for an Express-G overview.

A class of an Activity_actual is represented using the template assigning_reference_data assigned to Activity_actual.

A code of an Activity_actual is represented by using the template assigning_code assigned to Activity_actual.

Characterization Assigning organization or person in organization

NOTE   this characterization is optional.

An organization or person within an organization may be associated with an actual activity. See Figure 5 for an Express-G overview.

An organization is associated to an actual activity by using the template assigning_organization.

The assignment of the organization (Organization_or_person_in_organization_assignment) must be classified, e.g. as 'Maintaining_organization', or 'Operating_organization'.

A person in an organization is associated to an actual activity by using the template assigning_person_in_organization.

The assignment of the person (Organization_or_person_in_organization_assignment) must be classified.

Characterization Assigning state

NOTE   this characterization is optional.

The state of an Activity_actual can be represented by assigning a State_observed to the Activity_actual using the assigning_asserted_state template.

NOTE    The status should not be represented using Activity_status.

NOTE    The assignment of a state is described by the template assigning_asserted_state.

See Figure 5 for an Express-G overview.

Characterization Assigning location

NOTE   this characterization is optional.

A location can be associated to the actual activity by using the template assigning_location. See Figure 5 for an Express-G overview.

The location may be expressed as a global location, an address-based location, an organization-based location, or as a location in a regional grid. See further Capability C049: assigning_location (NB Capabilities are not documented in this release of the PLCS standard) .

The assignment of the location (assigning_location) may be classified e.g. as 'Actual_start_location' or 'Actual_maintenance_location'.

© OASIS 2008 — All rights reserved