Capability (C062):— representing_scheme | Date: 2012/05/23 17:35:48 Revision: 1.22 |
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.
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.
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.
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.
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?
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
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]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 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]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.
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]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.
This version of this capability does not define any use of Document or its associated types as Scheme subject.
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]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
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.
[[ 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]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
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]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
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.
In these cases, the Scheme_subject_assignment should be classified using [Scheme_subjects]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
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.
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.
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.
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.
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.
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.
target
is the parameter to which the
Scheme_subject_assignment
is bound.
-- 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)/
Entity in path | Value | Inherited from |
Scheme_subject_assignment.role | '/IGNORE' | Applied_activity_method_assignment.role |
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.
target
is the parameter to which the
Scheme_subject_assignment
is bound.
-- 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)/
Entity in path | Value | Inherited from |
Scheme_entry_assignment.role | '/IGNORE' | Applied_activity_method_assignment.role |
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.
This template describes how to represent an assignment relationship between a Scheme_version and the assignment target.
target
is the parameter to which the
Scheme_version_assignment
is bound.
Entity in path | Value | Inherited from |
Scheme_version_assignment.role | '/IGNORE' | Applied_activity_method_assignment.role |
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.
This template describes how to represent a Scheme by its scheme and version identification.
target
is the parameter to which the
Scheme
is bound.
target
is the parameter to which the
Scheme_version
is bound.
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 |
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.
This template describes how to represent a scheme entry, and any assignments of activities, events, or task_metthods, etc. to it.
target
is the parameter to which the
Scheme_entry
is bound.
target
is the parameter to which the
Scheme_entry_assignment
is bound.
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 |
#2 = SCHEME_ENTRY('/IGNORE','/IGNORE','/IGNORE','/IGNORE',#26); #3 = SCHEME_ENTRY_ASSIGNMENT(#2,(#48),'/IGNORE');
NOTE this characterization is optional.
The Scheme_entry may be identified through the assignment of template assigning_identification.
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