Capability (C083):— representing_contract Date: 2007/06/22 12:22:10
Revision: 1.19

Business overview

This section provides a business level overview of this capability.

A contract represents a binding agreement between two or more parties to do something, such as carry out an activity. This capability describes how such a binding agreement is identified and how to represent the fact that given activities have been undertaken in accordance with the contract. This is summarised in Figure 1



Figure 1 —  Representing a contract

Figure 1 —  Representing a contract

Information model overview

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

The EXPRESS-G for representing a contract is shown in Figure 1 below and explained in the following sections.



Figure 1 —  Information model overview

Figure 1 —  Information model overview

The contract is represented by the EXPRESS entity Contract. This has an identifier assigned using the assigning_identification (template #1 in . Figure 1). The identifier is owned by the organization that has awarded the contract.

A contract involves several parties. These are represented by Organization that are assigned to the Contract. This assignment is represented by assigning_organization.

The organization awarding the contract is identified by classifying the Organization_or_person_in_organization_assignment instantiated in the assigning_organization as "Contractee" (urn:plcs:rdl:std:Contractee) (template #2 in Figure 1). The parameter, org_assgn_class_name of assigning_organization should therefore be set to "Contractee".

Organizations under contract are identified in the same way, except that the Organization_or_person_in_organization_assignment is classified as "Contractor" (urn:plcs:rdl:std:Contractor). (template #3 in Figure 1). The parameter, org_assgn_class_name of assigning_organization should therefore be set to "Contractor".

The contract is normally defined by a set of documents. These are assigned to the Contract by the template assigning_document (template #5 in Figure 1).

The products and activities that are undertaken under the terms of the contract are identified by using Contract_assignment to assign the contract to the activity. The assignment is represented by a Contract_assignment as shown in Figure 1 and represented by the template assigning_contract.

Model Characterization

This section specifies how the information model can be further characterized by the assignment of additional information such as dates, approvals and people or organizations.

The following characterizations may apply.

Characterization: Assigning approval (Optional)

The contract may be approved. The approval is represented by assigning_approval.

Characterization: Assigning date (Optional)

The date that the contract was awarded may be recorded. The date is represented by assigning_time. (template #4 in Figure 1).

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: representing_contract (Short name: rep_ctr)

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 Reading Capability Templates help 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.

Template: assigning_contract (Short name: asg_ctr)

This section specifies the template assigning_contract.

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

Description

This template describes how to assign a contract to something. The contract shall be identified and the type of identifier provided by classification. If the purpose of the contract is required this is identified by using a classified identification. If the kind of the contract is required this is provided by classification. The date and time and the person as well as the person's role can be assigned to the contract.

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

NOTE    In any exchange file, a contract should only be represented by a single instance of Contract



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

Figure 1 —  An EXPRESS-G representation of the Information model for assigning_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 assigning_contract template

Figure 2 —   The graphical representation of the assigning_contract template

Input parameters
The following input parameters are defined for this template:
cnt_id (Type='STRING')
The name or identifier of the contract.
cnt_id_class_name (Type='CLASS')
The name of the class being 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)
cnt_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 @cnt_id_class_name class.
cnt_org_id (Type='STRING')
The name or identifier of the organization owning or holding the contract.
cnt_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), "Organization_name" (urn:plcs:rdl:std:Organization_name)
cnt_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 @org_id_class_name class.
items (Type= 'SELECT (contract_item)' )
The items to which the contract is assigned
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 = $assigning_contract.contract%
where target is the parameter to which the Contract is bound.
contract_assgn(Type='ENTITY (Contract_assignment)')
Allow the Contract_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Contract_assignment entity can be referenced in a template path by:
%^target = $assigning_contract.contract_assgn%
where target is the parameter to which the Contract_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 (assigning_contract) namely: cnt_id, cnt_id_class_name, cnt_id_ecl_id, cnt_org_id, cnt_org_id_class_name, cnt_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 Reading Capability Templates help section.
-- Instantiate a Contract_assignment
Contract_assignment

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

-- to the instances passed into the template through the @items
-- input parameter
Contract_assignment.items -> @items

-- Instantiate and assign a Contract to the Contract_assignment
-- NOTE - an contract entity should only be instantiated once for
-- any contract
Contract_assignment.assigned_contract -> Contract

-- Bind the Contract to the parameter ^contract.
-- The parameter is a reference parameter so the Contract
-- 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=@cnt_id,
    id_class_name=@cnt_id_class_name,
    id_ecl_id=@cnt_id_ecl_id,
    org_id=@cnt_org_id,
    org_id_class_name=@cnt_org_id_class_name,
    org_id_ecl_id=@cnt_org_id_ecl_id )/
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:
/assigning_contract(cnt_id='123456', cnt_id_class_name='Purchase_contract_identifier', cnt_id_ecl_id='urn:plcs:rdl:sample', cnt_org_id='BikeHire Limited', cnt_org_id_class_name='Organization_name', cnt_org_id_ecl_id='urn:plcs:rdl:std', items='#3')/
(an illustration of the consolidated assigning_contract template is shown in Figure 4 below.)
Note that the templates assigning_reference_data and assigning_time and assigning_person_in_organization are used in the diagram. Namely:
@4 /assigning_time(date_class_name='Owner_of', date_ecl_id='urn:plcs:rdl:std', year='2005', month='10', day='3', hour='10', minute='50', second='0', sense='.EXACT.', hour_offset='0', minute_offset='0', items='#2')/
and
@4 /assigning_person_in_organization(person_id='LA3412', person_id_class_name='Person_identification_code', person_id_ecl_id='urn:plcs:rdl:std', last_name='Smith', first_name='Jack', middle_names='', prefix_titles='', suffix_titles='', person_role_class_name='Contract_signer', person_role_ecl_id='urn:plcs:rdl:sample', org_id='BikeHire Limited', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', items='#2')/


Figure 3 —  Entities instantiated by assigning_contract template

Figure 3 —  Entities instantiated by assigning_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:
/assigning_contract(cnt_id='123456', cnt_id_class_name='Purchase_contract_identifier', cnt_id_ecl_id='urn:plcs:rdl:sample', cnt_org_id='BikeHire Limited', cnt_org_id_class_name='Organization_name', cnt_org_id_ecl_id='urn:plcs:rdl:std', items='#3')/


Figure 4 —  Instantiation of assigning_contract template

Figure 4 —  Instantiation of assigning_contract template

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


Figure 5 —  Characterizations for assigning contract template

Figure 5 —  Characterizations for assigning contract template

The following characterizations may apply:
Characterization Assigning classifications

NOTE   this characterization is optional.

A contract can be classified to provide further information regarding the type of contract by using the template assigning_reference_data.

Characterization Assigning dates

NOTE   this characterization is optional.

Dates can be associated with the assignment of a contract. The date is classified to provide the purpose of the assignment date.

The date is represented by using the template assigning_time to assign a date to a Contract_assignment. The date assignment is classified as: "Date actual" (urn:plcs:rdl:std:Date actual) to indicate that it is the date when the contract was actually assigned to the items. This is illustrated in Figure 3, template @4.

Characterization Assigning persons

NOTE   this characterization is optional.

Persons can be associated with the assignment of a contract in a specific role, and in an identified organization.

The person is represented using the template assigning_person_in_organization to assign an person to a Contract_assignment. The assignment of the person (Organization_or_person_in_organization_assignment) is classified to indicate in what role this person assigned the contract to this item. This is illustrated in Figure 3, template @5.

Model reference data

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

Contractor(urn:plcs:rdl:std:Contractor)
A Contractor is an Organization_or_person_in_organization_assignment that classifies the associated assigned_entity(organization_or_person_in_organization_select) as being the contractor with respect to the associated items(contract). NOTE: The assigned_entity(organization_or_person_in_organization_select) that is classified as the Contractor, is awarded a contract by a contractee.
Contractee(urn:plcs:rdl:std:Contractee)
A Contractee is an Organization_or_person_in_organization_assignment that classifies the associated assigned_entity(organization_or_person_in_organization_select) as being the contractee with respect to the associated items(contract). NOTE: The assigned_entity(organization_or_person_in_organization_select) that is classified as the Contractee, awards a contract to a contractor.
Definition_assignment(urn:plcs:rdl:std:Definition_assignment)
A Definition_assignment is a Document_assignment that assigns a document in the role of providing a definition. For example, the documents defining the activities performed by a typical activity.
Organization_identification_code(urn:plcs:rdl:std:Organization_identification_code)
An Organization_identification_code is an identification_code that identifies an organization. CONSTRAINT: An Identification_assignment classified as an Organization_identification_code can only be assigned to an Organization or its subclasses.
Contract_identification_code(urn:plcs:rdl:std:Contract_identification_code)
A Contract_identification_code is an Identification_code that identifies a Contract. CONSTRAINT: An Identification_assignment classified as a Contract_identification_code can only be assigned to a Contract or its subclasses.

© OASIS 2010 — All rights reserved