Template:— representing_scheme (rep_scheme)
Capability:representing_scheme
Date: 2008/04/21 06:28:34
Revision: 1.1

This section specifies the template representing_scheme.

NOTE  The template has been defined in the context of the capability representing_scheme which provides an overall description of the relevant parts of the ISO 10303-239 information model and a description of related templates.

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 Templates Help/Information 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.

© OASIS 2010 — All rights reserved