Capability (C025):— representing_observation Date: 2012/05/23 17:45:12
Revision: 1.2

Business overview

This section provides a business level overview of this capability.

An Observation provides a mechanism for recording the relation of an observed fact to the thing to which it relates, and for linking the observation to any consequence that may result. It is intended to be used in two ways. Firstly, it provides a general mechanism to link the unexpected to the well defined world of the product and its design. Secondly, it provides a defined mechanism for reporting observations within the context of the standard, given that the set of observations required will vary between products and organizations.

For example, a crack may occur in the wall of a container. The Observation object allows for the recording of the fact that the crack has appeared. Subsequent inspections required by the organization may then be directed towards recording the size of the crack. Since a crack is not a design feature, such recording cannot be done directly in the design data for the container, nor do the design data standards allow for multiple historical observations

Basic observations

In basic observations, Observation is instantiated, but Observation_relationships are not instantiated.

EXAMPLE    An example of a basic observation might be a remark addressed by an individual to a single Product_version on a certain date.

Complex observations

In complex observations, a series of related Observations may be made as part of a series or as part of a decomposition in which increasing levels of detail are supplied.

Information model overview

This section provides an overview of the information model that supports this capability.

The information required to represent an observation is summarized in the EXPRESS-G diagram in Figure 1 below and in the following sections.



Figure 1 —  EXPRESS-G for an observation

Figure 1 —  EXPRESS-G for an observation

Basic observations

For each basic observation, a single instance of Observation is created.

Figure 
[warning:]Error Fig 2: There is no figure with id person_and_work_request_observation.
illustrates the representation of a Person (#7) making an Observation (#1) while undertaking a Work_order (#11). The observation was carried out using a particular piece of test equipment, represented by Product_as_realized (#6).

The description attribute of the Observation (#1) is used to describe the observation that has been made.

If the observation has been made about something, then that subject is referenced using an Observation_item. The reference provided by the Observation_item is in the context of the data, e.g. an Object Identifier in a Part 21 file.

NOTE 1   For simplicity, not all the entities have been shown in the diagram.

NOTE    The Observation can be classified. For example, if a fault observed has a safety implication, then observation would be classified as Safety critical.



Figure 2 —  Representation of a person making an observation during a work order

Figure 2 —  Representation of a person making an observation during a work order

Once an observation has been made, the observer may require some work to be done as a result. In other words, there is a consequence of the observation. This is represented by a: Work_request. For example, if a mechanic notices during the routine service of a car, that a cam belt is worn, he will normally notify the customer and suggest that cam belt is replaced.

Figure 3 illustrates the representation of an Observation that results in an Observation_consequence.

NOTE 2   The Observation_consequence cannot be classified with reference data.



Figure 3 —  Representation of a observation resulting in a consequence

Figure 3 —  Representation of a observation resulting in a consequence

Complex observations

In a case where a series of observations are made or where a hierarchy of observations - representing, for example increasing levels of detail - is required multiple instances of Observation are created and related by instances of Observation_relationships.

When observations are broken down into a set of smaller observations, then the Observation_relationship is classified as [Observation_decomposition_relationship]
[warning:]Error RDL1: The class Observation_decomposition_relationship does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
.

For example, an observation may be made that a car has overheated and a further observation made, that the oil pressure warning light is flashing and that there is a puddle of oil under the car. The first observation would be related to a the other two via an Observation_relationship is classified as [Observation_decomposition_relationship]
[warning:]Error RDL1: The class Observation_decomposition_relationship does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
.

The Observation_relationship can also be classified as an [Observation_association]
[warning:]Error RDL1: The class Observation_association does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, indicating that the relationship represents two observations that are associated or [Observation_sequence_relationship]
[warning:]Error RDL1: The class Observation_sequence_relationship does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
indicating that the relationship represents a sequence of observations.

Figure 4 illustrates the representation of an observation hierarchy containing one parent Observation and two child Observations made in the context of a Work_order.



Figure 4 —  Representation of observation decomposition hierarchy

Figure 4 —  Representation of observation decomposition hierarchy

Model Characterization

This section specifies how the information model can be further characterized by the assignment of additional information such as dates, approvals and people or organizations.

The following characterizations may apply.

Characterization: Assigning approvals (Optional)

Approvals of observations are represented by the assignment of Approval objects to Observation objects using Approval_assignment objects.

NOTE 2   The assignment of approvals is described in the capability: C019: assigning_approvals.

Characterization: Assigning classifications (Optional)

The classification of observations or of relationships between observations is represented by the assignment of Class objects to Observation, and Observation objects using Approval_assignment objects.

Characterization: Assigning dates and times (Optional)

Dates and times of observations are represented by the assignment of Date_time objects or Calendar_date objects to Observation objects using Date_or_date_time_assignment objects.

NOTE 2   The assignment of date and times is described in the capability: C036: assigning_date_time.

Characterization: Assigning persons and organizations (Optional)

The ownership or responsibility for observations is represented by the assignment of Organization and Person_in_organization objects to Observation objects using Organization_or_person_in_organization_assignment objects.

Capability templates

The following sections define a set of templates for the capability, where a template is a specification of a set of entities that need to be instantiated to represent a given set of information.

Template: assigning_observation (Short name: asg_obs)

This section specifies the template assigning_observation.

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 the an observation made on something such as a product (Product_as_individual) or an activity (Activity_actual).

AP239 Issue (RBN-7)
The ISO-10303-239 1st edition does not support the Observation_item_selected entity.

This has been raised as issue, RBN-7, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_observation". The text highlighted in blue shows the template parameters.

The Observation is represented by an Observation.

The Observation is identified by an Identification_assignment and which is specified through the template assigning_identification described within the capability C001: assigning_identifiers. See Template #2 in Figure 1.

The Identification_assignment is classified as a "Observation identification code" (urn:plcs:rdl:std:Observation identification code) (or sub-class thereof).

The time when the Observation was made is represented by assigning a date and time (using the relationship Date_or_date_time_assignment) to the Observation using the assigning_time template with the Date_time being classified as a type of "Date actual observation" (urn:plcs:rdl:std:Date actual observation). See Template #1 in Figure 1.

NOTE    The assignment of dates and times is described the capability C036: assigning_date_time.



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

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

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 assigning_observation template

Figure 2 —  The graphical representation of the assigning_observation template

Input parameters
The following input parameters are defined for this template:
id (Type='STRING')
The identifier being assigned to the Observation.
id_class_name (Type='CLASS')
The name of the class used to classify the identifier and so provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Observation_identification_code" (urn:plcs:rdl:std:Observation_identification_code)
id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the id_class_name class
org_id (Type='STRING')
The identifier of the organization that "owns" the identifier.
org_id_class_name (Type='CLASS')
The name of the class being used to classify the identification of the organization. For example CAGE code.
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)
org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the org_id_class_name class
descr (Type='STRING')
The text that provides further information about the Observation.
dsc_class_name (Type='CLASS')
The name of the class used to classify the identifier and so provide the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Description" (urn:plcs:rdl:std:Description)
dsc_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the dsc_class_name class
date_class_name (Type='CLASS')
The name of the class being used to classify the role date assignment, e.g. the date when the Observation was made.
The following classes and their sub-classes can be used:
classifications: "Date_actual_observation" (urn:plcs:rdl:std:Date_actual_observation)
date_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library in which the date class is defined.
year (Type= 'TYPE (year_number)' )
The year component of the date and time the observation was made.
month (Type= 'TYPE (month_in_year_number)' )
The month component of the date and time the observation was made.
day (Type= 'TYPE (day_in_month_number)' )
The day component of the date and time the observation was made.
hour (Type= 'TYPE (hour_in_day)' )
The hour component of the date and time the observation was made.
minute (Type= 'TYPE (minute_in_hour)' , Optional)
The minute component of the date and time the observation was made. 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 observation was made. This parameter is optional. If not given, it will remain unset.
sense (Type= 'ENUMERATION (offset_orientation)' )
The direction of the offset from Coordinated Universal Time of the time the observation was made. Enumeration values are: 'ahead', 'exact' or 'behind'.
hour_offset (Type='INTEGER')
The number of hours by which the time the observation was made is offset from Coordinated Universal Time.
minute_offset (Type='INTEGER', Optional)
The number of minutes by which the time the observation was made 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.
applies_to (Type= 'SELECT (observation_content_item)' )
related_records (Type= 'ENTITY (Observation_item_selected)' , Optional)
observed_during (Type= 'ENTITY (Activity_actual)' , Optional)
observed_by (Type= 'SELECT (observation_recorder)' , Optional)
in_context (Type= 'SELECT (observed_context)' , Optional)
Reference parameters
The following reference parameters are defined for this template:
observation(Type='ENTITY (Observation)')
Allow the Observation entity instantiated in this path to be referenced when this template is used.
Note: The Observation entity can be referenced in a template path by:
%^target = $assigning_observation.observation%
where target is the parameter to which the Observation is bound.
observation_item(Type='ENTITY (Observation_item_selected)')
Allow the Observation_item_selected entity instantiated in this path to be referenced when this template is used.
Note: The Observation_item_selected entity can be referenced in a template path by:
%^target = $assigning_observation.observation_item%
where target is the parameter to which the Observation_item_selected is bound.
Restrictions
The Observation_item entity should be treated as an abstract entity and not instantiated. Instead use the sub type Observation_item_selected subtype.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Observation
Each instance of the entity (Observation) within the data set shall be uniquely identified by a combination of the following parameters on this template (assigning_observation) namely: id, id_class_name, id_ecl_id, org_id, org_id_class_name, org_id_ecl_id.
The instance is referenced by the following template parameter: observation.
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.
Observation

-- Mark the Identification_assignment entity as
-- referable when this template is used by binding it to the reference
-- parameter id_assgn
%^observation = Observation%
Observation.id = '/IGNORE'
Observation.name = '/IGNORE'
Observation.description = '/IGNORE'
Observation.observed_during -> @observed_during
Observation.observed_by -> @observed_by
Observation.in_context -> @in_context
Observation.related_records -> @related_records
Observation_item_selected
%^observation_item = Observation_item_selected%
Observation.applies_to -> ^observation_item
^observation_item.contents -> @applies_to
^observation_item.item_identifier = '/IGNORE'
^observation_item.item_type = '/IGNORE'
^observation_item.access_comment = '/IGNORE'

-- Identify the Observation
/assigning_identification(
    id=@id,
    id_class_name=@id_class_name,
    id_ecl_id=@id_ecl_id,
    org_id=@org_id,
    org_id_class_name=@org_id_class_name,
    org_id_ecl_id=@org_id_ecl_id,
    items=^observation)/

-- Assign a date to the Observation
/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=^observation)/

-- Assign a description to the Observation
/assigning_descriptor(
    descr=@descr,
    class_name=@dsc_class_name,
    ecl_id=@dsc_ecl_id,
    is_assigned_to=^observation)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Observation.id '/IGNORE'
Observation.name '/IGNORE'
Observation.description '/IGNORE'
Observation_item_selected.item_identifier '/IGNORE' Observation_item.item_identifier
Observation_item_selected.item_type '/IGNORE' Observation_item.item_type
Observation_item_selected.access_comment '/IGNORE' Observation_item.access_comment
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_observation(id='Obs1', id_class_name='Observation_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='BikeHireCo', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', descr='A persistent squeaking when cycling', dsc_class_name='Decription', dsc_ecl_id='urn:plcs:rdl:std', date_class_name='Date_actual_observation', date_ecl_id='urn:plcs:rdl:std', year='2007', month='2', day='2', hour='10', minute='30', second='0', sense='EXACT', hour_offset='0', minute_offset='0')/
(an illustration of the consolidated assigning_observation template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_observation template

Figure 3 —  Entities instantiated by assigning_observation 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:
/assigning_observation(id='Obs1', id_class_name='Observation_identification_code', id_ecl_id='urn:plcs:rdl:std', org_id='BikeHireCo', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', descr='A persistent squeaking when cycling', dsc_class_name='Decription', dsc_ecl_id='urn:plcs:rdl:std', date_class_name='Date_actual_observation', date_ecl_id='urn:plcs:rdl:std', year='2007', month='2', day='2', hour='10', minute='30', second='0', sense='EXACT', hour_offset='0', minute_offset='0')/


Figure 4 —  Instantiation of assigning_observation template

Figure 4 —  Instantiation of assigning_observation template

Characterizations
The following section details how the assigning_observation 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 "assigning_observation".


Figure 5 —  Characterization of assigning_observation template

Figure 5 —  Characterization of assigning_observation template

The following characterizations may apply:
Characterization Assigning reference data

NOTE   this characterization is optional.

In order to distinguish between the different types of observations, the Observation can be classified by using the template assigning_reference_data. See Template #3 in Figure 5.

Characterization Assigning person or organization

NOTE   this characterization is mandatory.

The person or organization that made the observation must be assigned to the Observation by Person_in_organization or Organization (using the relationship Organization_or_person_in_organization_assignment) The assignment is defined by the templates assigning_organization and assigning_person_in_organization respectively. See Templates #5 and #6 in Figure 5.

NOTE    In both cases, the role of the person or organization should be classified as a type of "Observer of" (urn:plcs:rdl:std:Observer of).

Characterization Assigning documentation

NOTE   this characterization is optional.

A text string providing a description of the Observation is represented by the template assigning_descriptor. If more documentation is necessary to describe the order, documents can be assigned using the Document_assignment relationship as described in the template assigning_document.

Dependent capabilities

This capability "representing observation" is dependent on the following capabilities:

Model reference data

The following classes of reference data are required for this capability:

[Observation_name]
[warning:]Error RDL1: The class Observation_name does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Observation_association]
[warning:]Error RDL1: The class Observation_association does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Observation_decomposition_relationship]
[warning:]Error RDL1: The class Observation_decomposition_relationship does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
[Observation_sequence_relationship]
[warning:]Error RDL1: The class Observation_sequence_relationship does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml

© OASIS 2010 — All rights reserved