Template:— representing_contract (rep_ctr) Date: 2008/03/03 07:36:04
Revision: 1.21

This section specifies the template representing_contract.

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

Description
This template describes the representation and identification of a contract and the relationship between a contract and the parties and documents involved, and the products created and/or actions undertaken as a result of the contract.
Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "representing_contract". The text highlighted in blue shows the template parameters.


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

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

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

Figure 2 —   The graphical representation of the representing_contract template

Input parameters
The following input parameters are defined for this template:
rep_ctr_id (Type='STRING')
The name or identifier of the contract.
rep_ctr_id_class_name (Type='CLASS')
The name of the class used to classify the identification (Identification_assignment) of the contract.
The following classes and their sub-classes can be used:
classifications: "Contract_identification_code" (urn:plcs:rdl:std:Contract_identification_code)
rep_ctr_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @rep_ctr_id_class_name class.
rep_ctr_id_org_id (Type='STRING')
The name or identifier of the organization responsible for identifying the contract.
rep_ctr_id_org_id_class_name (Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the organization.
The following classes and their sub-classes can be used:
classifications: "Organization_identification_code" (urn:plcs:rdl:std:Organization_identification_code)
rep_ctr_id_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @rep_ctr_org_id_class_name class.
rep_ctr_ass_contractee_org_id (Type='STRING')
The name or identifier of the contractee.
rep_ctr_ass_contractee_org_id_class_name (Type='CLASS')
The name of the class used to classify the identification (Identification_assignment) of the contractee.
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)
rep_ctr_ass_contractee_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @rep_ctr_ass_org_id_class_name class.
rep_ctr_ass_contractor_org_id (Type='STRING')
The name or identifier of the contractor.
rep_ctr_ass_contractor_org_id_class_name (Type='CLASS')
The name of the class used to classify the identification (Identification_assignment) of the contractor or contractor.
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)
rep_ctr_ass_contractor_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The identifier of the External_class_library storing the definition of the class referenced by the parameter @rep_ctr_ass_org_id_class_name class.
rep_ctr_doc_id (Type='STRING')
The name or identifier of the document containing the contract definition.
rep_ctr_doc_org_id (Type='STRING')
The name or identifier of the organization responsible for the contract document representation
rep_ctr_doc_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for creating the contract document representation
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)
rep_ctr_doc_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
rep_ctr_doc_vn_id (Type='STRING')
The version identifier of the contract document version
rep_ctr_doc_vn_id_class_name (Default=Version_identification_code,Type='CLASS', Optional)
The id of the External_class_library that stores the class used to classify the type of identifier
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
rep_ctr_doc_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The location of the External_class_library that stores the classifications used to classify the contract document, contract document_version and contract document_definition
rep_ctr_doc_vn_org_id (Type='STRING')
The name or identifier of the organization responsible for the contract document representation
rep_ctr_doc_vn_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification (Identification_assignment) of the organization responsible for the contract document representation
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)
rep_ctr_doc_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
rep_ctr_life_cycle_stage (Default=Support_stage,Type='CLASS', Optional)
The id of the External_class_library used to describe the type of life cycle stage of the view_definition_context instance.
The following classes and their sub-classes can be used:
classifications: "Life_cycle_stage" (urn:plcs:rdl:std:Life_cycle_stage)
rep_ctr_life_cycle_stage_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
rep_ctr_domain (Default=Product_life_cycle_support,Type='CLASS', Optional)
The id of the External_class_library used to describe the type of application domain of the view_definition_context instance.
The following classes and their sub-classes can be used:
classifications: "Discipline_domain" (urn:plcs:rdl:std:Discipline_domain)
rep_ctr_domain_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class used to classify the organization identifier.
Reference parameters
The following reference parameters are defined for this template:
contract(Type='ENTITY (Contract)')
Allow the Contract entity instantiated in this path to be referenced when this template is used.
Note: The Contract entity can be referenced in a template path by:
%^target = $representing_contract.contract%
where target is the parameter to which the Contract is bound.
contractor(Type='ENTITY (Organization)')
Allow the Organization entity instantiated in this path to be referenced when this template is used.
Note: The Organization entity can be referenced in a template path by:
%^target = $representing_contract.contractor%
where target is the parameter to which the Organization is bound.
contractee(Type='ENTITY (Organization)')
Allow the Organization entity instantiated in this path to be referenced when this template is used.
Note: The Organization entity can be referenced in a template path by:
%^target = $representing_contract.contractee%
where target is the parameter to which the Organization is bound.
view_definition_context(Type='ENTITY (View_definition_context)')
Allow the View_definition_context entity instantiated in this path to be referenced when this template is used.
Note: The View_definition_context entity can be referenced in a template path by:
%^target = $representing_contract.view_definition_context%
where target is the parameter to which the View_definition_context is bound.
document_definition(Type='ENTITY (Document_definition)')
Allow the Document_definition entity instantiated in this path to be referenced when this template is used.
Note: The Document_definition entity can be referenced in a template path by:
%^target = $representing_contract.document_definition%
where target is the parameter to which the Document_definition is bound.
document_version(Type='ENTITY (Document_version)')
Allow the Document_version entity instantiated in this path to be referenced when this template is used.
Note: The Document_version entity can be referenced in a template path by:
%^target = $representing_contract.document_version%
where target is the parameter to which the Document_version is bound.
document(Type='ENTITY (Document)')
Allow the Document entity instantiated in this path to be referenced when this template is used.
Note: The Document entity can be referenced in a template path by:
%^target = $representing_contract.document%
where target is the parameter to which the Document is bound.
document_assignment(Type='ENTITY (Document_assignment)')
Allow the Document_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Document_assignment entity can be referenced in a template path by:
%^target = $representing_contract.document_assignment%
where target is the parameter to which the Document_assignment is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique Contract
Each instance of the entity (Contract) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_contract) namely: rep_ctr_id, rep_ctr_id_class_name, rep_ctr_id_ecl_id, rep_ctr_id_org_id, rep_ctr_id_org_id_class_name, rep_ctr_id_org_id_ecl_id.
The instance is referenced by the following template parameter: contract.
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.
-- Instantiate a Contract
Contract

-- Bind the Contract to the parameter ^contract
-- The parameter is a reference parameter so the Contract_assignment
-- entity can be referred to when this template is used.
%^contract = Contract%

-- Set the Contract attributes id, purpose and kind to be ignored
Contract.id = '/IGNORE'
Contract.kind = '/IGNORE'
Contract.purpose = '/IGNORE'

-- Identify the Contract
/assigning_identification(
    items=^contract,
    id=@rep_ctr_id,
    id_class_name=@rep_ctr_id_class_name,
    id_ecl_id=@rep_ctr_id_ecl_id,
    org_id=@rep_ctr_id_org_id,
    org_id_class_name=@rep_ctr_id_org_id_class_name,
    org_id_ecl_id=@rep_ctr_id_org_id_ecl_id )/

-- documents defining the Contract
/representing_document(
    doc_id=@rep_ctr_doc_id,
    doc_id_class_name='Contract',
    doc_id_ecl_id='urn:plcs:rdl:std',
    doc_org_id=@rep_ctr_doc_org_id,
    doc_org_id_class_name=@rep_ctr_doc_org_id_class_name,
    doc_org_id_ecl_id=@rep_ctr_doc_org_id_ecl_id,
    doc_vn_id=@rep_ctr_doc_vn_id,
    doc_vn_id_class_name=@rep_ctr_doc_vn_id_class_name,
    doc_vn_id_ecl_id=@rep_ctr_doc_vn_id_ecl_id,
    doc_vn_org_id=@rep_ctr_doc_vn_org_id,
    doc_vn_org_id_class_name=@rep_ctr_doc_vn_org_id_class_name,
    doc_vn_org_id_ecl_id=@rep_ctr_doc_vn_org_id_ecl_id,
    domain=@rep_ctr_domain,
    domain_ecl_id=@rep_ctr_domain_ecl_id,
    life_cycle_stage=@rep_ctr_life_cycle_stage,
    life_cycle_stage_ecl_id=@rep_ctr_life_cycle_stage_ecl_id)/
%^view_definition_context = $representing_document.view_definition_context%
%^document_definition = $representing_document.document_definition%
%^document_version = $representing_document.document_version%
%^document = $representing_document.document%

-- Assign a document to the Contract
/assigning_document(
    doc_ass_role='Document_assignment',
    doc_ar_ecl_id='urn:plcs:rdl:std',
    is_assigned_to=^contract),
    assigned_document=^document_version)/
%^document_assignment = $assigning_document.doc_asg%

-- Assign a contractee to the Contract
/assigning_organization(
    items=^contract,
    org_id=@rep_ctr_ass_contractee_org_id,
    org_id_class_name=@rep_ctr_ass_contractee_org_id_class_name,
    org_id_ecl_id=@rep_ctr_ass_contractee_org_id_ecl_id,
    org_assgn_class_name='Contractee',
    org_assgn_ecl_id='urn:plcs:rdl:std' )/
%^contractee = $assigning_organization.organization%

-- Assign a contractor to the Contract
/assigning_organization(
    items=^contract,
    org_id=@rep_ctr_ass_contractor_org_id,
    org_id_class_name=@rep_ctr_ass_contractor_org_id_class_name,
    org_id_ecl_id=@rep_ctr_ass_contractor_org_id_ecl_id,
    org_assgn_class_name='Contractor',
    org_assgn_ecl_id='urn:plcs:rdl:std' )/
%^contractor = $assigning_organization.organization%
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Contract.id '/IGNORE'
Contract.kind '/IGNORE'
Contract.purpose '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_contract(rep_ctr_id='123456', rep_ctr_id_class_name='Contract_identification_code', rep_ctr_id_ecl_id='urn:plcs:rdl:std', rep_ctr_id_org_id='BikeHire Limited', rep_ctr_id_org_id_class_name='Organization_name', rep_ctr_id_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_ass_contractee_org_id='K0123', rep_ctr_ass_contractee_org_id_class_name='CAGE_code', rep_ctr_ass_contractee_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_ass_contractor_org_id='P0999', rep_ctr_ass_contractor_org_id_class_name='CAGE_code', rep_ctr_ass_contractor_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_doc_id='Con1234', rep_ctr_doc_org_id='BikeHire Limited', rep_ctr_doc_org_id_class_name='Organization_name', rep_ctr_doc_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_doc_vn_id='V01', rep_ctr_doc_vn_id_class_name='Version_identification_code', rep_ctr_doc_vn_id_ecl_id='urn:plcs:rdl:std', rep_ctr_doc_vn_org_id='BikeHire Limited', rep_ctr_doc_vn_org_id_class_name='Organization_name', rep_ctr_doc_vn_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_life_cycle_stage='Support_stage', rep_ctr_life_cycle_stage_ecl_id='urn:plcs:rdl:std', rep_ctr_domain='Product_life_cycle_support', rep_ctr_domain_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_contract template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_contract template

Figure 3 —  Entities instantiated by representing_contract 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_contract(rep_ctr_id='123456', rep_ctr_id_class_name='Contract_identification_code', rep_ctr_id_ecl_id='urn:plcs:rdl:std', rep_ctr_id_org_id='BikeHire Limited', rep_ctr_id_org_id_class_name='Organization_name', rep_ctr_id_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_ass_contractee_org_id='K0123', rep_ctr_ass_contractee_org_id_class_name='CAGE_code', rep_ctr_ass_contractee_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_ass_contractor_org_id='P0999', rep_ctr_ass_contractor_org_id_class_name='CAGE_code', rep_ctr_ass_contractor_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_doc_id='Con1234', rep_ctr_doc_org_id='BikeHire Limited', rep_ctr_doc_org_id_class_name='Organization_name', rep_ctr_doc_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_doc_vn_id='V01', rep_ctr_doc_vn_id_class_name='Version_identification_code', rep_ctr_doc_vn_id_ecl_id='urn:plcs:rdl:std', rep_ctr_doc_vn_org_id='BikeHire Limited', rep_ctr_doc_vn_org_id_class_name='Organization_name', rep_ctr_doc_vn_org_id_ecl_id='urn:plcs:rdl:std', rep_ctr_life_cycle_stage='Support_stage', rep_ctr_life_cycle_stage_ecl_id='urn:plcs:rdl:std', rep_ctr_domain='Product_life_cycle_support', rep_ctr_domain_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of assigning_contract template

Figure 4 —  Instantiation of assigning_contract template

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


Figure 5 —  Characterization of  representing_contract template

Figure 5 —  Characterization of representing_contract template

The following characterizations may apply:
Characterization Assigning time

NOTE   this characterization is optional.

Dates and time can be associated with a contract by using one of the templates assigning_time.

A creation date is commonly assigned to the template representing_contract. 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 Contract was actually created. This is shown in Figure 5.

Characterization Assigning approval

NOTE   this characterization is optional.

An approval can be associated with a contract by using the templates assigning_approval. This is shown in Figure 5.

An approval is commonly assigned to the template representing_contract.

© OASIS 2010 — All rights reserved