Capability (C058):— representing_justification Date: 2007/06/22 12:22:10
Revision: 1.24

Business overview

This section provides a business level overview of this capability.

This capability represents a record of the reasons for something, such as the reasons for undertaking an activity or the justification for an approval.

This is illustrated in Figure 1 which shows conceptually how the justification is recorded. Figure 2 shows an example in which the activity of mending a tyre is justified by the fact that the tyre had a puncture.



Figure 1 —  Representation of justification

Figure 1 —  Representation of justification



Figure 2 —  Justification for an activity

Figure 2 —  Justification for an activity

Justification has been used in C046: representing_variance to represent the conditions under which a concession or variance has been granted.

Justification has also been used in C032: representing_activity to represent the fact that properties on a product resulted from the product engaging in a given activity.

Information model overview

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

The EXPRESS-G for the activity model is shown in Figure 3 below and explained in the following sections.

The Justification represents the record of the justification.

The subject of the justification is identified by using the relationship Justification_assignment to assign the Justification to the subject.

The reasons for the justification are identified by using the relationship Justification_support_assignment to assign the reasons to the Justification , e.g. a state, a property value, a specific product configuration, a document.

A number of justifications can be related by Justification_relationship.



Figure 3 —  EXPRESS-G for justification

Figure 3 —  EXPRESS-G for justification

An example of the use of a justification is shown in Figure 4. This shows the justification for a repair activity on bicycle tyre is the fact that the tyre has a puncture. The jsutification is described in text using a descriptor (see C095: assigning_descriptor).



Figure 4 —  Justification for an activity

Figure 4 —  Justification for an activity

If information that supports the justifiction exists, e.g. a State_observed, it should be related to the justification using Justification_support_assignment. An example is shown in Figure 5.



Figure 5 —  Justification for an activity supported with a state observed

Figure 5 —  Justification for an activity supported with a state observed

A statement that summarizes the justification must always be assigned to it, even if one or more support items have been related to it. Sometimes this statement is unsupported, in which case the Justification_support_assignment should not be used.

The statement is attached to the Justification by use of template assigning_descriptor.

NOTE    The assignment of descriptor to a Justification is an issue with AP239. See "AP239 issues" under the "Tools" section, issue RBN-5 2007-02-01.

Characterization of Justification

Open issue Issue: TJT-2 by Tim Turner (06-04-15) [minor_technical, open] - {Type = contents}
This capability needs reference data for the justification, the justification_assignment, and the justification_support_assignment, and justification_relationships..
Open issue Issue: NN-1 by Nigel Newling (05-11-17) [minor_technical, open] - {Type = contents}
Reference data section with example classes required.
Closed issue Issue: TJT-1 by Tim Turner (06-04-15) [editorial, closed] - {Type = contents}
This capability needs a template to allow the assignment of a justification to an item and a related instance of justification_support_assignment to be assigned a support item.
Comment: (Peter Bergström 2007-02-02)
Two templates have been created: assigning_justification, and assigning_justification_support_item.
Closed issue Issue: TJT-3 by Tim Turner (06-04-15) [minor_technical, closed] - {Type = contents}
This capability needs to reference the use of a document to capture justification statements, and associated reference data.
Comment: (Peter Bergström 2007-02-02)

Simple textual descriptions of the justification has been added through template assigning_descriptor. Further supportive information could be assigned to a justification through justification_support_item, which may relate a document in a specific role to the justification.

See also AP239 issues, issue RBN-5 2007-02-01.

Closed issue Issue: TJT-4 by Tim Turner (06-04-15) [minor_technical, closed] - {Type = contents}
It is not clear where the actual justification text/reasons are to be recorded - either in the justification.description attribute, or through the use of assigning_descriptors..
Comment: (Peter Bergström 2007-02-02)

Simple textual descriptions of the justification has been added through template assigning_descriptor. Further supportive information could be assigned to a justification through justification_support_item, which may relate a document in a specific role to the justification.

See also AP239 issues, issue RBN-5 2007-02-01.

Classification

The Justification_assignment and Justification_support_assignment must be classified using Classification_assignment to assign an External_class, where the External_class is defined as reference data stored in a reference data library.

The Justification_assignment is classified to give the reason for the jsutification, such as cost or safety. It should be classified using "Justification assignment" (urn:plcs:rdl:std:Justification assignment) or one of its subclasses.

The Justification_support_assignment is classified to give the role of the supporting item to the justification, e.g. property value, observed state or condition that supports the justification. It should be classified using "Justification support assignment" (urn:plcs:rdl:std:Justification support assignment) or one of its subclasses.

Identification

The Justification may be identified by assigning it an identifier through the use of Identification_assignment.

NOTE    Identification is described in C001: assigning_identifiers.

Approval

The Justification can be "approved" by assigning an approval.

NOTE    Approval is described in C019: assigning_approvals.

Assigning a Person or Organization

A person or organization can be assigned to Justification in a given role, such as "creator". This is represented by assigning a Person_in_organization or Organization (using the relationship Organization_or_person_in_organization_assignment) to the Justification and Justification_support_assignment. The role of the assignment is represented by classifying the assignment by the use of reference data (see C010: assigning_reference_data.

NOTE    The assignment of a person or organization is described in the capability C016: representing_person_organization.

Assigning Date and Time

Time and dates can be assigned to Justification in a given role, such as "Date actual creation" (urn:plcs:rdl:std:Date actual creation). This is represented by using the relationship Date_or_date_time_assignment) to assign a date in a given role. The role of the assignment is represented by classifying the assignment by the use of reference data (see C010: assigning_reference_data.

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

Limiting justification by effectivity

The time period over which a justification is effective can be set by the assigning a Dated_effectivity by using an Effectivity_assignment.

NOTE    The use of effectivity is described in the capability: C006: assigning_effectivity.

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_justification (Short name: asg_just)

This section specifies the template assigning_justification.

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 and describe a justification, the reason for something. E.g. the reason why some activity was performed differently than planned.

This template gives a basic capability to represent a textual description of the justification or reason for something. It may be combined with template assigning_justification_support_item to identify the reasons for something in more detail. This is achieved by relating the justification to data elements that gave rise to the reason. e.g. by assigning supporting documentation, defined states, property values, or other items that supports the justification.

Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_justification". 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.
AP239 Issue (RBN-5)
The ISO-10303-239 1st edition does not support the assignment of a document to a Justification.

This has been raised as issue, RBN-5, 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.



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

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

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

Figure 2 —  The graphical representation of the assigning_justification template

Input parameters
The following input parameters are defined for this template:
just_item (Type= 'SELECT (justification_item)' )
The item to which the Justification_assignment is assigned.
just_asgn_role (Default=Justification_assignment_role,Type='CLASS', Optional)
The type of Justification_assignment. The type allows the explicit representation of the reason for something to be represented by reference data.
The following classes and their sub-classes can be used:
classifications: "Justification_assignment_role" (urn:plcs:rdl:std:Justification_assignment_role)
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 @just_asgn_role.
just_txt (Type='STRING')
The text describing the purpose of or reason for the justification.
Reference parameters
The following reference parameters are defined for this template:
just_asgn(Type='ENTITY (Justification_assignment)')
Allow the Justification_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Justification_assignment entity can be referenced in a template path by:
%^target = $assigning_justification.just_asgn%
where target is the parameter to which the Justification_assignment is bound.
justification(Type='ENTITY (Justification)')
Allow the Justification entity instantiated in this path to be referenced when this template is used.
Note: The Justification entity can be referenced in a template path by:
%^target = $assigning_justification.justification%
where target is the parameter to which the Justification is bound.
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.
-- Mark the Justification entity as
-- referable when this template is used by binding it to the reference
-- parameter ^justification
%^justification = Justification%
Justification.id = '/IGNORE'
Justification.name = '/IGNORE'
Justification.description = '/IGNORE'
Justification.context_description = '/IGNORE'

-- Mark the Justification_assignment entity as
-- referenceable when this template is used by binding it to the reference
-- parameter just_assgn
%^just_asgn = Justification_assignment%
Justification_assignment.description = '/IGNORE'
Justification_assignment.role = '/IGNORE'
Justification_assignment.item -> @just_item
Justification_assignment.justification -> ^justification

-- provide the role of the identification by classifying the Justification_assignment
/assigning_reference_data(
    items=^just_asgn,
    class_name=@just_asgn_role,
    ecl_id=@role_ecl_id)/

-- provide a description of the Justification
/assigning_descriptor(
    descr=@just_txt,
    class_name='Justification_description',
    ecl_id='urn:plcs:rdl:std',
    is_assigned_to=^justification)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Justification.id '/IGNORE'
Justification.name '/IGNORE'
Justification.description '/IGNORE'
Justification.context_description '/IGNORE'
Justification_assignment.description '/IGNORE'
Justification_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_justification(just_item='#1', just_asgn_role='Task_justification', role_ecl_id='urn:plcs:rdl:std', just_txt='Instructions required for how to oil the bike chain.')/
(an illustration of the consolidated assigning_justification template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_justification template

Figure 3 —  Entities instantiated by assigning_justification 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_justification(just_item='#1', just_asgn_role='Task_justification', role_ecl_id='urn:plcs:rdl:std', just_txt='Instructions required for how to oil the bike chain.')/


Figure 4 —  Instantiation of assigning_justification template

Figure 4 —  Instantiation of assigning_justification template

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


Figure 5 —  Characterizations for assigning justification template

Figure 5 —  Characterizations for assigning justification template

The following characterizations may apply:
Characterization Assigning date and time

NOTE   this characterization is optional.

Dates can be associated with the assignment of property value representation by using the templates assigning_time.

A creation date is commonly assigned to the template assigning_justification

The date of creation of the justification is represented by using the template assigning_time to assign a date and time to Justification (reference parameter ^justification ) The date and time assignment is classified as: "Date actual creation" (urn:plcs:rdl:std:Date actual creation) to indicate that it is the date (and time) when the justification was actually created.

Other dates may be assigned instead.

Characterization Assigning Identification

NOTE   this characterization is optional.

The Justification is identified by assigning it an identifier through the use of template assigning_identification.

Characterization Assigning Approval

NOTE   this characterization is optional.

The Justification can be "approved" by assigning an approval through the use of template assigning_approval

Characterization Classifying Justification

NOTE   this characterization is optional.

The Justification can be classified, e.g. cost, is represented using the template assigning_reference_data.

Template: assigning_justification_support_item (Short name: asg_just_support)

This section specifies the template assigning_justification_support_item.

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 supportive information to a justification, e.g. a state definition, a supportive document, a property value, i.e. anything that supports the justification and reason for divergence or discrepancy.

This template is intended to be used when supportive information exists, or when a simple textual description of the justification is not enough. It is used together with template assigning_justification. Any number of support items may be assigned to a single justification.

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


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

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

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

Figure 2 —  The graphical representation of the assigning_justification_support_item template

Input parameters
The following input parameters are defined for this template:
support_item_role (Default=Justification_support_assignment_role,Type='CLASS', Optional)
The way in which the cited item supports the Justification.
The following classes and their sub-classes can be used:
classifications: "Justification_support_assignment_role" (urn:plcs:rdl:std:Justification_support_assignment_role)
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 @support_item_role.
justification (Type= 'ENTITY (Justification)' )
The Justification being supported.
just_supp_item (Type= 'SELECT (justification_support_item)' )
The item supporting the Justification.
Reference parameters
The following reference parameters are defined for this template:
just_supp_asgn(Type='ENTITY (Justification_support_assignment)')
Allow the Justification_support_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Justification_support_assignment entity can be referenced in a template path by:
%^target = $assigning_justification_support_item.just_supp_asgn%
where target is the parameter to which the Justification_support_assignment is bound.
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.
-- Mark the Justification_support_assignment entity as
-- referable when this template is used by binding it to the reference
-- parameter just_supp_assgn
%^just_supp_asgn = Justification_support_assignment%
Justification_support_assignment.description = '/IGNORE'
Justification_support_assignment.role = '/IGNORE'
Justification_support_assignment.justification -> @justification
Justification_support_assignment.support_item -> @just_supp_item

-- provide the role of the assignment by classifying the Justification_support_assignment
/assigning_reference_data(
    items=^just_supp_asgn,
    class_name=@support_item_role,
    ecl_id=@role_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Justification_support_assignment.description '/IGNORE'
Justification_support_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_justification_support_item(support_item_role='Property_justification', role_ecl_id='urn:plcs:rdl:std', justification='#3', just_supp_item='#25')/
(an illustration of the consolidated assigning_justification_support_item template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_justification_support_item template

Figure 3 —  Entities instantiated by assigning_justification_support_item 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_justification_support_item(support_item_role='Property_justification', role_ecl_id='urn:plcs:rdl:std', justification='#3', just_supp_item='#25')/


Figure 4 —  Instantiation of assigning_justification_support_item template

Figure 4 —  Instantiation of assigning_justification_support_item template

Characterizations
No common characterizations of the template assigning_justification_support_item have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.

Dependent capabilities

This capability "Representing justification" is dependent on the following capabilities:

Model reference data

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

Justification_assignment(urn:plcs:rdl:std:Justification_assignment)

[warning:]Error RDL2: The class Justification_assignment is defined in more than one OWL file:
committee-specification/plcs-arm-lf-express.rdf-xml.owl:Justification_assignment committee-specification/plcs-arm-lf-express-ap239-definitions.rdf-xml.owl:Justification_assignment
The definition shown is from: committee-specification/plcs-arm-lf-express.rdf-xml.owl

Justification_support_assignment(urn:plcs:rdl:std:Justification_support_assignment)

[warning:]Error RDL2: The class Justification_support_assignment is defined in more than one OWL file:
committee-specification/plcs-arm-lf-express.rdf-xml.owl:Justification_support_assignment committee-specification/plcs-arm-lf-express-ap239-definitions.rdf-xml.owl:Justification_support_assignment
The definition shown is from: committee-specification/plcs-arm-lf-express.rdf-xml.owl

© OASIS 2010 — All rights reserved