Capability (C062):— representing_scheme Date: 2012/05/23 17:35:48
Revision: 1.22

Business overview

This section provides a business level overview of this capability.

A Scheme collects together Activity(s) and Event(s), which may be further organized into plans and schedules. These may vary from a simple list of things to be done with no ordering and no timing, through to a detailed plan with dates, dependencies and ordering of entries. Many such Schemes are defined during the process of design, acquisition, installation and maintenance of complex assets (such as a fleet of planes or a ship).

A three way distinction is made below:

For example, a typical car users' manual includes a schedule of services, based on distance driven and/or time since last service, e.g. every 10,000 km or 6 months. Corresponding to each of these entries, there is a scheme of tasks to be done, such as 'change oil', 'adjust timing', etc. Observing that one of the trigger events has occurred (or is about to occur), the car owner then makes a plan to do the maintenance by booking the car in with the garage on a particular day, and telling them which scheme to apply when the car is brought in.

SCHEME is designed to be able to be used with different levels of complexity, from a simple list to the output of general office project planning tools. This capability covers the use of Scheme to describe schemes, schedules and plans, and also how to share the development of such plans by creating different versions of a SCHEME.

Information model overview

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

The information required to represent a Scheme is summarized in the EXPRESS-G diagram in Figure 1 and 2 below and described in the following sections.



Figure 1 —  Representing Scheme Overview (1)

Figure 1 —  Representing Scheme Overview (1)

The overall data model for Scheme is shown in figure 1. Essentially, it consists of a Scheme, which provides the identity for the Scheme, together with a set of Scheme_entry, which both identify the Activity(s) to be done and the relations defined by the Scheme between these Activity(s).

Scheme_entry_relationship is the primary entity for structuring the Scheme and ordering the components of the Scheme, while Scheme_relationship provides general information about the relationship between whole Schemes. Scheme is not designed to directly provide for recursive subdivision (that is, when Schemes are composed os sub-schemes, which themselves may be composed of smaller Schemes, etc.). However, it is designed to provide this indirectly, since each Scheme_entry is an Activity(s) which may itself have a Scheme as its Activity_method.

The Scheme_subject_assignment provides the subject the Scheme applies to, and is defined in Ap239_work_definition. The set of subjects is shown in figure 1, and the detailed interpretation of the possible assignments is given in the section on Scheme Subject below.

Scheme_entry_assignment identifies the things that the Scheme invokes, some form of Activity(s) or Event . Note, Event is included for completeness, however, because of complexities in managing the lifecycle of the Event entity, it is not used in PLCS. A Resource_event is not a subtype of Event , but rather is a separate concept used to track changes in inventory levels.

All the entities in the Scheme schema are extensively characterised. For the most part, these characterizations are inherited from their supertypes. The entities also have characterisations for classification and multi-lingualism, but these are not shown.



Figure 2 —  Representing Scheme Overview (2)

Figure 2 —  Representing Scheme Overview (2)

Scheme Subject

Open issue Issue: NN-3 by Nigel Newling (05-11-17) [minor_technical, open] - {Type = contents}
Would have used Person_or_person_in_organization_assignment to Scheme rather than use Scheme_subject_assignment.
Open issue Issue: NN-4 by Nigel Newling (05-11-17) [minor_technical, open] - {Type = contents}
Should Security_classification be used or simply the more generic reference data mechanism?
Closed issue Issue: NN-2 by Nigel Newling (05-11-17) [minor_technical, closed] - {Type = contents}
Remove capitalisation of entity names. Use consistent mixed case linked references.
Comment: ( )
TJT Fixed
Closed issue Issue: NN-5 by Nigel Newling (05-11-17) [minor_technical, closed] - {Type = contents}
Require EXPRESS-G reference and instantiation pattern diagrams to support text.
Comment: ( )
TJT Fixed

A Scheme_subject_assignment associates the Scheme to the item or items which are the subject of the Scheme. This is done through an instance of Scheme_subject_assignment, whose role is given through classification. A Scheme_subject_assignment may point to several items.

In addition, each Scheme is not restricted to the number of Scheme_subject_assignment(s) that it may be related to. Hence, each Scheme may have several Scheme_subject_assignment(s) and each one may have one or more items attached.

A Scheme_subject_assignment inherits a number of possible characterizations from its supertype Applied_activity_method_assignment. Consideration of the possible characterizations (such as approval, date assignment etc.,) provides a criteria to either separate the items using different assignments, or whether they may all share the characterizations as a set.

There are several cases to consider. If the items are subject to the same characterisations, then a single instance Scheme_subject_assignment shall be used. If the items are subject to different characterizations, then multiple instances of Scheme_subject_assignment(s) shall be used.

NOTE    No other indication need be given, but this indication should be noted when using this construct.

If the Scheme is designed for a particular circumstance which demands multiple subjects to describe it, then a single Scheme_subject_assignment is used, with the specific nature of the relationship described by a classification of the Scheme_subject_assignment.

For example, if the Scheme is designed for a particular Product_group at a given Location, then this may be interpreted as "Applicable to the product group in the given Location". Where an environment where particular combinations are common, these combination rules may be defined through classification of the Scheme_subject_assignment. In this case, the Scheme_subject_assignment should be classified using [Scheme_subjects]
[warning:]Error RDL1: The class Scheme_subjects does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, or a



Figure 3 —  Scheme Subject Assignment

Figure 3 —  Scheme Subject Assignment

The following subsections give a detailed interpretation and meaning afforded to the items when they are assigned as subjects to a Scheme. The Scheme_subject_assignment should be classified using [Scheme_subjects]
[warning:]Error RDL1: The class Scheme_subjects does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, or a sub-class of thereof. The subclasses may be defined for a specific business contexts. However, examples of such subclasses may include the following;

The benefit of this is the ability to group together similar items which are affected or required within the Scheme.

Product Associations

The following applies to:

A Product_version can be subtyped to a Product_as_individual_version which can be further subtyped to Product_as_planned or Product_as_realized.

For Product, Product_version, Product_view_definition and Product_group, being a Scheme_subject_assignment item generally has the meaning that the Scheme is defined as part of the support solution applicable to that Product. In this case, the Scheme_subject_assignment should be classified using [Scheme_subjects]
[warning:]Error RDL1: The class Scheme_subjects does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, or a

The benefit of this is the ability to group together similar items which are affected or required within the Scheme.

There is no evident meaning for associating a Product to a Plan, except possibly where the plan is the development plan for the Product itself, but that is beyond this version of this capability.

For a Product_as_individual, the association of a Scheme carries the implication that the Scheme is either a schedule specifically tailored to that individual, or that it is a plan for that individual.

In all cases, the Scheme_subject_assignment can be classified (in addition) as to whether it is concerned with the support processes that the Product undergoes, or with the usage of the Product, as follows:

However, it should be self-evident from the contents of the Scheme, the Scheme_subject_assignment and the Scheme_entrys as to the type of Scheme supported.

Document

This version of this capability does not define any use of Document or its associated types as Scheme subject.

Person and Organization

Person, Person_in_organization and ORGANIZATION may all be the subject of SCHEDULE. By definition, these entities refer to individuals rather than types. As subject of a Scheme, the Scheme can be viewed as identifying their commitments, such as would a diary. [[the use of Scheme for Type of person or Organization_type is an open issue.]]

In this case, the Scheme_subject_assignment should be classified using [Scheme_subjects]
[warning:]Error RDL1: The class Scheme_subjects does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, or a

Project

Where a Project is the subject of a Scheme, the relation is interpreted as meaning that the Scheme defines Event(s) and Activity(s) for the Project, for example, as a GANT chart.

Resources

[[ This area is subject to comment against the module Ap239_work_definition]]

This covers Resource_item, Resource_item_assignment , Required_resource, Required_resource_assignment, Resource_as_realized. The different possible targets are used in subtly different circumstances.

A Resource_item is a class of item which fulfils a particular resource description, of which there may be a number of instances, or a particular quantity. A Scheme for Resource_item is a Scheme for a set of such items, such as the of test equipments at a maintenance depot. This could be used, for example, to manage the workload to ensure that there is always an item of the type available.

A Resource_item_assignment is the allocation of a Resource_item to a particular context (Contract , Project, Location) or set of product information (Part, Part_version, Product_group). No usage guidance is provided in this version of the capability.

A Required_resource is a specification of a type of resource, and is used to identify the resources needed by a TASK. Hence scheduling the usage of a Required_resource is a consequence of scheduling the TASKs that use it. No usage guidance is provided in this version of the capability for the case where Required_resource is the subject of a Scheme.

In this case, the Scheme_subject_assignment should be classified using [Scheme_subjects]
[warning:]Error RDL1: The class Scheme_subjects does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, or a

Location

A Location is a particular place either in the world (e.g. a grid reference) or on a Product, where the position is given with respect to some reference system rather than by the product structure (e.g. aircraft seat 16C). In either case, a Scheme describes the Activity(s) and Event(s) at that place.

In this case, the Scheme_subject_assignment should be classified using [Scheme_subjects]
[warning:]Error RDL1: The class Scheme_subjects does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, or a

Contract

Where a Contract is the scheme subject, the Scheme specifies Activity(s) and Event(s) governed by the Contract . Usage of Scheme to cover the governance of the Contract itself is outside the scope of this capability.

Activity and Activity_methods

In these cases, the Scheme_subject_assignment should be classified using [Scheme_subjects]
[warning:]Error RDL1: The class Scheme_subjects does not exist in RDL at URI urn:plcs:rdl:std. Check the dexlib/data/refdata/rdl_index.xml
, or a

Activity

Where an Activity(s) is defined in term of a Scheme, plan or schedule, the Scheme is provided as the ACTIVITY_METHOD_REALIZATION. The use of Activity(s), Activity_method or Applied_activity_assignment as the scheme subject is not defined in this version of the capability.

Scheme Entry

Where a Scheme_entry leads to a more detailed Scheme, this is as the Activity_method of the Activity(s) pointed to by the Scheme_entry_assignment, rather than by making the Scheme_entry the subject of another Scheme. The meaning of making a Scheme_entry the subject of a SCHEME is not defined in this version of this capability.

Characterisations

The Scheme_subject_assignment inherits a number of characterisations from its supertype Applied_activity_method_assignment. Where the assignment is classified as multiple-simple, the characterization is taken as applying as if each assignment was made individually. Where it is classified compound, the characterization applies to the assignment as a whole. Details of the usage of the characterizations are given in the appropriate capabilities. This section considers the specific meanings associated to Scheme_subject_assignment.

An Approval of the assignment indicates that the particular Scheme is approved for use with the subject.

A Certification of the assignment indicates that there is a Certification for the use of the particular Scheme with the subject.

A Condition associated to the assignment indicates that the assignment is valid only when the Condition is TRUE. A Condition_parameter indicates the assignment is used in the evaluation of some Condition, and does not modify the meaning of the assignment

A Contract associated to the assignment indicates that the assignment is subject to the Contract . Compare with the case that the CONTRAT is the subject itself.

A Date_time associated to the assignment should have the Date_or_date_time_assignment classified according to the following:

A DOCUMENTED_ELEMENT associated to the assignment points to additional information about the assignment.

IDENTIFICATION_ASSIGNMENT is not used with Scheme_subject_assignment.

A JUSTIFICATION associated to the assignment indicates the reason why the particular assignment is required. A JUSTIFICATION_SUPPORT associated to the assignment indicates the assignment is used in the justification of some other item or action, and does not modify the meaning of the assignment.

Location is not used with Scheme_subject_assignment - see above for discussion of Location as the scheme subject.

Organization or Person_in_organization may be assigned to Scheme_subject_assignment with Organization_or_person_in_organization_assignment classified to one of the following roles:

A Project can be associates with the Scheme_subject_assignment with the PROJECT_ASSIGNMENT classified as one of the following roles:

A SECURITY_CLASSIFICATION of the assignment indicates that the association of the Scheme to the subject has the given classification. This characterisation affects only Scheme_subject_assignment and no other entities.

WORK_ITEM used to assign a WORK_OUTPUT to something, and is not used with Scheme_subject_assignment.

Scheme Versioning

Structures of Schemes

Structuring of Schemes refers to the ability to assemble a Scheme out of smaller sub-schemes, each of which may themselves be built from simpler Schemes. Examination of the data model reveals two potential ways of doing this. Firstly, a Scheme_entry may point to an Activity(s) which has a Scheme as its Activity_method. Secondly, the Scheme_relationship could be used, suitably classified, in a similar way to VIEW_DEFINITION_RELATIONSHIP is used to create product structures.

One of the functions of Scheme is to sequence Activity(s) relative to each other. The use of Scheme_relationship could only identify a Scheme as being a sub-scheme of the higher level, and hence any sequencing relationships would have to be created separately. This would duplicate the structures supplied by Scheme_entry_relationship. Other issues with this approach include possible ambiguities in the SCHEME_SUBJECT, the lack of control of the emergent properties of the overall Scheme, and complications in version control of the overall Scheme. For this reason, Scheme_relationship is not used to define the relationship between Schemes and their sub-schemes.

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_scheme_subject (Short name: asg_scm_sub)

This section specifies the template assigning_scheme_subject.

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

Description
This template describes the assignment an entity from the scheme_subject_select list to an instance of scheme. It is assumed that the instances of scheme and the item to be assigned to the scheme, are inputs and have the relevant identifiers for references purposes. That is, this template (at present) does not create instantiations of the things being related by the assignment.
Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_scheme_subject". The text highlighted in blue shows the template parameters.


Figure 1 —  assigning scheme template model,

Figure 1 —  assigning scheme template model,

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


Figure 2 —  assigning scheme subject template usage

Figure 2 —  assigning scheme subject template usage

Input parameters
The following input parameters are defined for this template:
scheme (Type= 'ENTITY (Scheme)' )
The scheme to which a subject will be assigned.
role_name (Type='CLASS')
The name of the class used to classify the scheme subject assignment and so provide the context for the assignment.
The following classes and their sub-classes can be used:
classifications: "Scheme_subject_assignment" (urn:plcs:rdl:std:Scheme_subject_assignment)
ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the role_name class.
item (Type= 'SELECT (scheme_subject_select)' )
The select type which contains the list of possible subjects that may be assigned to the scheme.
Reference parameters
The following reference parameters are defined for this template:
scm_sub_ass(Type='ENTITY (Scheme_subject_assignment)')
Allow the Scheme_subject_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Scheme_subject_assignment entity can be referenced in a template path by:
%^target = $assigning_scheme_subject.scm_sub_ass%
where target is the parameter to which the Scheme_subject_assignment is bound.
The Scheme may be characterized by a number of parameters. E.g. a calendar_date
                      -- The template assigning_scheme_subject has an external reference
                      -- scm_sub_ass. Bind this to the local external reference
                      -- scm_subject. It can now be the target for assigned dates 
                      %^scm_sub_ass = $assigning_scheme_subject.scheme_subject_assignment%
                      -- assign date to the assignment in the role of "planned_start_date"
                      /assigning_calendar_date(items=^scm_sub_ass, 
                      date_class_name='Planned_start_date', 
                      date_ecl_id='urn:plcs:rdl:std', 
                      year=@2005, 
                      month=@4, 
                      day=@5)/          
                  
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 scheme_subject_assignment entity as
-- referable when this template is used by binding it to the reference
-- parameter scm_sub_ass
%^scm_sub_ass = Scheme_subject_assignment%
Scheme_subject_assignment.role = '/IGNORE'
Scheme_subject_assignment.assigned_activity_method -> @scheme
Scheme_subject_assignment.items -> @item

-- Assign the reference data to the schemen_subject_assignment
/assigning_reference_data(
    items=^scm_sub_ass,
    class_name=@role_name,
    ecl_id=@ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Scheme_subject_assignment.role '/IGNORE' Applied_activity_method_assignment.role
Instance diagrams
The instance diagram in Figure  shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_scheme_subject(scheme='', role_name='', ecl_id='', item='')/
(an illustration of the consolidated assigning_scheme_subject template is shown in Figure  below.)


Figure 3 —  Assigning Scheme Subject Template Instantiation

Figure 3 —  Assigning Scheme Subject Template Instantiation

The instance diagram in Figure  shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/assigning_scheme_subject(scheme='', role_name='', ecl_id='', item='')/


Figure 4 —  

Figure 4 —  

Characterizations
No common characterizations of the template assigning_scheme_subject have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: assigning_scheme_entry (Short name: asg_scm_ent)

This section specifies the template assigning_scheme_entry.

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

Description
This template describes the assignment an item from the scheme_entry_item_select list to an instance of scheme. It is assumed that the instances of scheme_entry and the item to be assigned to the scheme, are inputs and have the relevant identifiers for references purposes. That is, this template (at present) does not create instantiations of the things being related by the assignment.
Model diagrams
The EXPRESS-G diagram in Figure  shows the templates and EXPRESS entities that are required to represent the template "assigning_scheme_entry". The text highlighted in blue shows the template parameters.


Figure 1 —  assigning scheme template model,

Figure 1 —  assigning scheme template model,

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


Figure 2 —  assigning scheme template model - consolidated,

Figure 2 —  assigning scheme template model - consolidated,

Input parameters
The following input parameters are defined for this template:
scheme_entry (Type= 'ENTITY (Scheme_entry)' )
The scheme_entry to which an item will be assigned.
role_name (Type='CLASS')
The name of the class used to classify the scheme_entry_assignment and so provide the context for the assignment.
The following classes and their sub-classes can be used:
classifications: "Scheme_entry_assignment" (urn:plcs:rdl:std:Scheme_entry_assignment)
ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the role_name class.
item (Type= 'SELECT (scheme_entry_item_select)' )
The select type which contains the list of possible subjects that may be assigned to the scheme_entry.
Reference parameters
The following reference parameters are defined for this template:
scm_sub_ass(Type='ENTITY (Scheme_subject_assignment)')
Allow the Scheme_subject_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Scheme_subject_assignment entity can be referenced in a template path by:
%^target = $assigning_scheme_entry.scm_sub_ass%
where target is the parameter to which the Scheme_subject_assignment is bound.
The Scheme may be characterized by a number of parameters. E.g. a calendar_date
                      -- The template assigning_scheme_subject has an external reference
                      -- scm_sub_ass. Bind this to the local external reference
                      -- scm_subject. It can now be the target for assigned dates 
                      %^scm_sub_ass = $assigning_scheme_subject.scheme_subject_assignment%
                      -- assign date to the assignment in the role of "planned_start_date"
                      /assigning_calendar_date(items=^scm_sub_ass, 
                      date_class_name='Planned_start_date', 
                      date_ecl_id='urn:plcs:rdl:std', 
                      year=@2005, 
                      month=@4, 
                      day=@5)/          
                  
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 scheme_subject_assignment entity as
-- referable when this template is used by binding it to the reference
-- parameter scm_sub_ass
%^scm_ent_ass = Scheme_entry_assignment%
Scheme_entry_assignment.role = '/IGNORE'
Scheme_entry_assignment.assigned_activity_method -> @scheme_entry
Scheme_entry_assignment.items -> @item

-- Assign the reference data to the scheme_entry_assignment
/assigning_reference_data(
    items=^scm_ent_ass,
    class_name=@role_name,
    ecl_id=@ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Scheme_entry_assignment.role '/IGNORE' Applied_activity_method_assignment.role
Instance diagrams
The instance diagram in Figure  shows an example of the EXPRESS entities and templates that are instantiated by the template: (an illustration of the consolidated template is shown in Figure  below.)


Figure 3 —  Assigning Scheme Subject Template Instantiation

Figure 3 —  Assigning Scheme Subject Template Instantiation

The instance diagram in Figure  shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
/assigning_scheme_entry(scheme_entry='', role_name='', ecl_id='', item='')/


Figure 4 —  

Figure 4 —  

Characterizations
No common characterizations of the template assigning_scheme_entry have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: assigning_scheme_version (Short name: asg_scm_vn)

This section specifies the template assigning_scheme_version.

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 an assignment relationship between a Scheme_version and the assignment target.

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


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

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

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

Figure 2 —  The graphical representation of the assigning_scheme_version template

Input parameters
The following input parameters are defined for this template:
assignment_role (Type='CLASS')
The role of the assignment.
The following classes and their sub-classes can be used:
classifications: "Scheme_version_assignment" (urn:plcs:rdl:std:Scheme_version_assignment)
role_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The External_class_library storing the definition of the class referenced by the parameter @assignment_role
item (Type= 'SELECT (scheme_version_select)' )
The target element of the assignment.
assigned_scheme_version (Type= 'ENTITY (Scheme_version)' )
The Scheme_version that is being assigned.
Reference parameters
The following reference parameters are defined for this template:
scm_vn_asg(Type='ENTITY (Scheme_version_assignment)')
Allow the Scheme_version_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Scheme_version_assignment entity can be referenced in a template path by:
%^target = $assigning_scheme_version.scm_vn_asg%
where target is the parameter to which the Scheme_version_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.
Scheme_version_assignment
%^scm_vn_asg = Scheme_version_assignment%
Scheme_version_assignment.role = '/IGNORE'
Scheme_version_assignment.items -> @item
Scheme_version_assignment.assigned_activity_method -> @assigned_scheme_version

-- Assign the role of the assignment
/assigning_reference_data(
    items=^scm_vn_asg,
    class_name=@assignment_role,
    ecl_id=@role_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Scheme_version_assignment.role '/IGNORE' Applied_activity_method_assignment.role
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_scheme_version(assignment_role='Scheme_target', role_ecl_id='urn:plcs:rdl:sample', item='#1', assigned_scheme_version='#2')/
(an illustration of the consolidated assigning_scheme_version template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by assigning_scheme_version template

Figure 3 —  Entities instantiated by assigning_scheme_version 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_scheme_version(assignment_role='Scheme_target', role_ecl_id='urn:plcs:rdl:sample', item='#1', assigned_scheme_version='#2')/


Figure 4 —  Instantiation of assigning_scheme_version template

Figure 4 —  Instantiation of assigning_scheme_version template

Characterizations
No common characterizations of the template assigning_scheme_version have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_scheme (Short name: rep_scheme)

This section specifies the template representing_scheme.

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 Scheme by its scheme and version identification.

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


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

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

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

Figure 2 —  The graphical representation of the representing_scheme template

Input parameters
The following input parameters are defined for this template:
scheme_id (Type='STRING')
The identification of the Scheme.
scheme_id_class_name (Default=Scheme_identification_code,Type='CLASS')
The name of the External_class that determines the type of identifier given by the input parameter @scheme_id.
The following classes and their sub-classes can be used:
classifications: "Scheme_identification_code" (urn:plcs:rdl:std:Scheme_identification_code)
scheme_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @scheme_id_class_name.
scheme_org_id (Type='STRING')
The identification of the Organization that "owns" the Scheme identifier (@scheme_id).
scheme_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the External_class that determines the type of organization identification (@scheme_org_id) being used. 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)
scheme_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @scheme_org_id_class_name
scheme_vn_id (Type='STRING')
The identification of the Scheme_version.
scheme_vn_id_class_name (Default=Version_identification_code,Type='CLASS')
The name of the External_class that determines the type of identifier given by the input parameter @scheme_vn_id.
The following classes and their sub-classes can be used:
classifications: "Progression_identification_code" (urn:plcs:rdl:std:Progression_identification_code)
scheme_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @scheme_vn_id_class_name.
scheme_vn_org_id (Type='STRING')
The identification of the Organization that "owns" the Scheme_version identifier (@scheme_vn_id).
scheme_vn_org_id_class_name (Default=Organization_name,Type='CLASS')
The name of the External_class that determines the type of organization identification (@scheme_vn_org_id) being used. 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)
scheme_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identification of the External_class_library storing the External_class given by the input parameter @scheme_vn_org_id_class_name
Reference parameters
The following reference parameters are defined for this template:
scheme(Type='ENTITY (Scheme)')
Allow the Scheme entity instantiated in this path to be referenced when this template is used.
Note: The Scheme entity can be referenced in a template path by:
%^target = $representing_scheme.scheme%
where target is the parameter to which the Scheme is bound.
scheme_vn(Type='ENTITY (Scheme_version)')
Allow the Scheme_version entity instantiated in this path to be referenced when this template is used.
Note: The Scheme_version entity can be referenced in a template path by:
%^target = $representing_scheme.scheme_vn%
where target is the parameter to which the Scheme_version is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique scheme
Each instance of the entity (Scheme) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_scheme) namely: scheme_id, scheme_id_class_name, scheme_id_ecl_id, scheme_org_id, scheme_org_id_class_name, scheme_org_id_ecl_id.
The instance is referenced by the following template parameter: scheme.
This rule means that there can be only one scheme (Scheme) with any given identifier.
Unique constraint: Unique scheme version
Each instance of the entity (Scheme_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_scheme) namely: scheme_id, scheme_id_class_name, scheme_id_ecl_id, scheme_org_id, scheme_org_id_class_name, scheme_org_id_ecl_id, scheme_vn_id, scheme_vn_id_class_name, scheme_vn_id_ecl_id, scheme_vn_org_id, scheme_vn_org_id_class_name, scheme_vn_org_id_ecl_id.
The instance is referenced by the following template parameter: scheme_vn.
This rule means that there can be only one version (Scheme_version) of a scheme (Scheme) with any given identifier.
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.
Scheme
%^scheme = Scheme%
Scheme.name = '/IGNORE'
Scheme.description = '/IGNORE'
Scheme.consequence = '/IGNORE'
Scheme.purpose = '/IGNORE'

-- Identify the Scheme
/assigning_identification(
    items=^scheme,
    id=@scheme_id,
    id_class_name=@scheme_id_class_name,
    id_ecl_id=@scheme_id_ecl_id,
    org_id=@scheme_org_id,
    org_id_class_name=@scheme_org_id_class_name,
    org_id_ecl_id=@scheme_org_id_ecl_id )/

-- Scheme version
Scheme_version
%^scheme_vn = Scheme_version%
Scheme_version.name = '/IGNORE'
Scheme_version.description = '/IGNORE'
Scheme_version.consequence = '/IGNORE'
Scheme_version.purpose = '/IGNORE'

-- Identify the Scheme_version
/assigning_identification(
    items=^scheme_vn,
    id=@scheme_vn_id,
    id_class_name=@scheme_vn_id_class_name,
    id_ecl_id=@scheme_vn_id_ecl_id,
    org_id=@scheme_vn_org_id,
    org_id_class_name=@scheme_vn_org_id_class_name,
    org_id_ecl_id=@scheme_vn_org_id_ecl_id )/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Scheme.name '/IGNORE' Activity_method.name
Scheme.description '/IGNORE' Activity_method.description
Scheme.consequence '/IGNORE' Activity_method.consequence
Scheme.purpose '/IGNORE' Activity_method.purpose
Scheme_version.name '/IGNORE' Activity_method.name
Scheme_version.description '/IGNORE' Activity_method.description
Scheme_version.consequence '/IGNORE' Activity_method.consequence
Scheme_version.purpose '/IGNORE' Activity_method.purpose
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_scheme(scheme_id='Bike_12345', scheme_id_class_name='Scheme_identification_code', scheme_id_ecl_id='urn:plcs:rdl:std', scheme_org_id='Bike Ltd', scheme_org_id_class_name='Organization_name', scheme_org_id_ecl_id='urn:plcs:rdl:std', scheme_vn_id='5', scheme_vn_id_class_name='Version_identification_code', scheme_vn_id_ecl_id='urn:plcs:rdl:std', scheme_vn_org_id='Bike Ltd', scheme_vn_org_id_class_name='Organization_name', scheme_vn_org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_scheme template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_scheme template

Figure 3 —  Entities instantiated by representing_scheme 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_scheme(scheme_id='Bike_12345', scheme_id_class_name='Scheme_identification_code', scheme_id_ecl_id='urn:plcs:rdl:std', scheme_org_id='Bike Ltd', scheme_org_id_class_name='Organization_name', scheme_org_id_ecl_id='urn:plcs:rdl:std', scheme_vn_id='5', scheme_vn_id_class_name='Version_identification_code', scheme_vn_id_ecl_id='urn:plcs:rdl:std', scheme_vn_org_id='Bike Ltd', scheme_vn_org_id_class_name='Organization_name', scheme_vn_org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of representing_scheme template

Figure 4 —  Instantiation of representing_scheme template

Characterizations
No common characterizations of the template representing_scheme have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_scheme_entry (Short name: rep_schm_entry)

This section specifies the template representing_scheme_entry.

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 scheme entry, and any assignments of activities, events, or task_metthods, etc. to it.

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


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

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

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

Figure 2 —  The graphical representation of the representing_scheme_entry template

Input parameters
The following input parameters are defined for this template:
scheme_vn (Type= 'ENTITY (Scheme_version)' )
The Scheme_version that the Scheme_entry belongs to.
items (Type= 'SELECT (scheme_entry_item_select)' )
The items being assigned to the Scheme_entry, e.g. an activity.
Reference parameters
The following reference parameters are defined for this template:
entry(Type='ENTITY (Scheme_entry)')
Allow the Scheme_entry entity instantiated in this path to be referenced when this template is used.
Note: The Scheme_entry entity can be referenced in a template path by:
%^target = $representing_scheme_entry.entry%
where target is the parameter to which the Scheme_entry is bound.
entry_asg(Type='ENTITY (Scheme_entry_assignment)')
Allow the Scheme_entry_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Scheme_entry_assignment entity can be referenced in a template path by:
%^target = $representing_scheme_entry.entry_asg%
where target is the parameter to which the Scheme_entry_assignment is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Scheme entry
Each instance of the entities (Scheme_entryScheme_entry_assignment) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_scheme_entry) namely: scheme_vn, items.
The instances are referenced by the following template parameters: entryentry_asg.
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.
Scheme_entry
%^entry = Scheme_entry%
Scheme_entry.name = '/IGNORE'
Scheme_entry.description = '/IGNORE'
Scheme_entry.consequence = '/IGNORE'
Scheme_entry.purpose = '/IGNORE'
Scheme_entry.scheme -> @scheme_vn

-- Sheme_entry_assignment
Scheme_entry_assignment
%^entry_asg = Scheme_entry_assignment%
Scheme_entry_assignment.role = '/IGNORE'
Scheme_entry_assignment.assigned_activity_method -> ^entry
Scheme_entry_assignment.items -> @items
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Scheme_entry.name '/IGNORE' Activity_method.name
Scheme_entry.description '/IGNORE' Activity_method.description
Scheme_entry.consequence '/IGNORE' Activity_method.consequence
Scheme_entry.purpose '/IGNORE' Activity_method.purpose
Scheme_entry_assignment.role '/IGNORE' Applied_activity_method_assignment.role
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_scheme_entry(scheme_vn='#26', items='#48')/
(an illustration of the consolidated representing_scheme_entry template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_scheme_entry template

Figure 3 —  Entities instantiated by representing_scheme_entry template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#2 = SCHEME_ENTRY('/IGNORE','/IGNORE','/IGNORE','/IGNORE',#26); #3 = SCHEME_ENTRY_ASSIGNMENT(#2,(#48),'/IGNORE');
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_scheme_entry(scheme_vn='#26', items='#48')/


Figure 4 —  Instantiation of representing_scheme_entry template

Figure 4 —  Instantiation of representing_scheme_entry template

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


Figure 5 —  Characterizations for representing_scheme_entry

Figure 5 —  Characterizations for representing_scheme_entry

The following characterizations may apply:
Characterization Assigning identification

NOTE   this characterization is optional.

The Scheme_entry may be identified through the assignment of template assigning_identification.

Characterization Assigning reference data

NOTE   this characterization is optional.

The Scheme_entry_assignment may be classified using reference data through the assignment of template assigning_reference_data.

© OASIS 2010 — All rights reserved