Capability (C083):— representing_contract |
Date: 2007/06/22 12:22:10 Revision: 1.19
|
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
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
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.
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.
The contract may be approved. The approval is represented by assigning_approval.
The date that the contract was awarded may be recorded. The date is represented by assigning_time. (template #4 in Figure 1).
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 representing_contract.
NOTE
An explanation of a template and the associated instantiation path is
provided in the
Template overview
section.
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.
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
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
The following input parameters are defined for this template:
The name or identifier of the contract.
The following classes and their sub-classes can be used:
The identifier of the
External_class_library storing the
definition of the class referenced by the parameter @rep_ctr_id_class_name class.
The name or identifier of the organization responsible for identifying the
contract.
The following classes and their sub-classes can be used:
The identifier of the
External_class_library storing the
definition of the class referenced by the parameter @rep_ctr_org_id_class_name class.
The name or identifier of the contractee.
The following classes and their sub-classes can be used:
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.
The name or identifier of the contractor.
The following classes and their sub-classes can be used:
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.
The name or identifier of the document containing the contract definition.
The name or identifier of the organization responsible for the contract document representation
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:
The identifier of the
External_class_library storing the
definition of the class used to classify the organization identifier.
The version identifier of the contract document version
The following classes and their sub-classes can be used:
The location of the
External_class_library
that stores the classifications used to classify the contract document, contract document_version and contract
document_definition
The name or identifier of the organization responsible for the contract document representation
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:
The identifier of the
External_class_library storing the
definition of the class used to classify the organization identifier.
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:
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:
The identifier of the
External_class_library storing the
definition of the class used to classify the organization identifier.
The following reference parameters are defined for this template:
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.
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.
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.
%^target = $representing_contract.view_definition_context%
Allow the
Document_definition
entity instantiated in this path to be referenced when this template is used.
%^target = $representing_contract.document_definition%
Allow the
Document_version
entity instantiated in this path to be referenced when this template is used.
%^target = $representing_contract.document_version%
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.
Allow the
Document_assignment
entity instantiated in this path to be referenced when this template is used.
%^target = $representing_contract.document_assignment%
The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique Contract
The instantiation path shown below specifies the entities that are to be
instantiated by the template.
-- 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:
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
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
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
The following characterizations may apply:
Characterization Assigning time
NOTE this characterization is optional.
Characterization Assigning approval
NOTE this characterization is optional.
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.
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.
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
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
The following input parameters are defined for this template:
The name or identifier of the contract.
The following classes and their sub-classes can be used:
The identifier of the
External_class_library storing the
definition of the class referenced by the parameter @cnt_id_class_name class.
The name or identifier of the organization owning or holding the contract.
The following classes and their sub-classes can be used:
The identifier of the
External_class_library storing the
definition of the class referenced by the parameter @org_id_class_name class.
The items to which the contract is assigned
The following reference parameters are defined for this template:
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.
Allow the
Contract_assignment
entity instantiated in this path to be referenced when this template is used.
%^target = $assigning_contract.contract_assgn%
The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique Contract
The instantiation path shown below specifies the entities that are to be
instantiated by the template.
-- 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:
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
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
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
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.
The following classes of reference data are required for this capability:
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.
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.
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.
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.
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.