Template:— ad_representing_contract (ad_rep_contract)
Context:— Aerospace_and_Defense
Date: 2011/04/20 13:01:42
Revision: 1.2

This section specifies the template ad_representing_contract.

NOTE  The template has been defined in the context of Aerospace_and_Defense. Refer to the business context for details 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 contract.

NOTE    This template uses Document instead of Contract to represent contract, because there is a need to relate different contracts to each other, and there is no such construct in AP239 ed1 ARM for Contract .

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


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

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

Figure 2 —  The graphical representation of the ad_representing_contract template

Input parameters
The following input parameters are defined for this template:
contract_id (Type='STRING')
The identifier of the contract.
contract_id_class_name (Default=Contract_identification_code,Type='CLASS', Optional)
The name of the class being used to classify the contract identifier (@contract_id). This provides the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Contract_identification_code" (urn:plcs:rdl:std:Contract_identification_code)
contract_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library storing the definition of the class referenced by the parameter @contract_id_class_name.
contract_org_id (Type='STRING')
The name or identifier of the Organization that owns the contract identifier (@contract_id).
contract_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class being used to classify the identification of the organization (@contract_org_id).
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)
contract_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 (@contract_org_id).
Reference parameters
The following reference parameters are defined for this template:
contract(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 = $ad_representing_contract.contract%
where target is the parameter to which the Document is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique contract
Each instance of the entity (Document) within the data set shall be uniquely identified by a combination of the following parameters on this template (ad_representing_contract) namely: contract_id, contract_id_class_name, contract_id_ecl_id, contract_org_id, contract_org_id_class_name, contract_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.
Document

-- Mark the Document (representing Contract) entity as
-- referable when this template is used by binding it to the reference
-- parameter contract
%^contract = Document%
Document.id = '/IGNORE'
Document.name = '/IGNORE'
Document.description = '/IGNORE'

-- assign the identification to the Contract
/assigning_identification(
    items=^contract,
    id=@contract_id,
    id_class_name=@contract_id_class_name,
    id_ecl_id=@contract_id_ecl_id,
    org_id=@contract_org_id,
    org_id_class_name=@contract_org_id_class_name,
    org_id_ecl_id=@contract_org_id_ecl_id)/

-- Classifiy the Document as being a Contract
/assigning_reference_data(
    items=^contract,
    class_name='Contract',
    ecl_id='urn:plcs:rdl:std')/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Document.id '/IGNORE' Product.id
Document.name '/IGNORE' Product.name
Document.description '/IGNORE' Product.description
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/ad_representing_contract(contract_id='12345', contract_id_class_name='Contract_identification_code', contract_id_ecl_id='urn:plcs:rdl:std', contract_org_id='The Bike Company', contract_org_id_class_name='Organization_name', contract_org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated ad_representing_contract template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by ad_representing_contract template

Figure 3 —  Entities instantiated by ad_representing_contract template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = DOCUMENT('/IGNORE','/IGNORE','/IGNORE'); #3 = IDENTIFICATION_ASSIGNMENT('12345','/IGNORE','/IGNORE',(#1)); #5 = CLASSIFICATION_ASSIGNMENT(#6,(#3),'/IGNORE'); #6 = EXTERNAL_CLASS('/NULL','Contract_identification_code','/IGNORE',#7); #7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:std','/IGNORE'); #10 = ORGANIZATION('/IGNORE','/IGNORE'); #12 = IDENTIFICATION_ASSIGNMENT('The Bike Company','/IGNORE','/IGNORE',(#10)); #14 = CLASSIFICATION_ASSIGNMENT(#15,(#12),'/IGNORE'); #15 = EXTERNAL_CLASS('/NULL','Organization_name','/IGNORE',#7); #17 = ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#10,'/IGNORE',(#3)); #19 = CLASSIFICATION_ASSIGNMENT(#20,(#17),'/IGNORE'); #20 = EXTERNAL_CLASS('/NULL','Owner_of','/IGNORE',#7); #23 = CLASSIFICATION_ASSIGNMENT(#24,(#1),'/IGNORE'); #24 = EXTERNAL_CLASS('/NULL','Contract','/IGNORE',#7);
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:
/ad_representing_contract(contract_id='12345', contract_id_class_name='Contract_identification_code', contract_id_ecl_id='urn:plcs:rdl:std', contract_org_id='The Bike Company', contract_org_id_class_name='Organization_name', contract_org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of ad_representing_contract template

Figure 4 —  Instantiation of ad_representing_contract template

Characterizations
No common characterizations of the template ad_representing_contract 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