Capability (C094):— assigning_organization Date: 2009/02/11 09:52:20
Revision: 1.40

Business overview

This section provides a business level overview of this capability.

An organization can be assigned to an object in a given role. For example, a company can be assigned to a product as the operator of the product.

Information model overview

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

The EXPRESS-G for representing the assignment of an organization is shown in Figure 1 below and explained in the following sections.



Figure 1 —  Information model overview

Figure 1 —  Information model overview

Identifying an organization

An organization is represented by the Organization entity and identified by using Identification_assignment to assign an identifier to it. The identifier, such as the name of a company, is stored in the Identification_assignment.identifier attribute.

The type of the identifier, such as a company name or CAGE code, is provided by classifying the Identification_assignment. Where the identifier is a name of an organization, the class, or sub class of, "Organization name" (urn:plcs:rdl:std:Organization name) should be used. Where the identifier is a code for organization, such as a CAGE code, the class, or sub class of, "Organization identification code" (urn:plcs:rdl:std:Organization identification code) should be used.

This approach to identification is described in the capability C001: assigning_identifiers and detailed in the template assigning_identification_with_no_organization.

An example is given in Figure 2 which shows the identification of the 'BikeHire Limited' organization. The identifier is 'BikeHire Limited' which is a name of an organization, hence the Identification_assignment is classified as "Organization name" (urn:plcs:rdl:std:Organization name).



Figure 2 —  Identifying an organization

Figure 2 —  Identifying an organization

NOTE    In any exchange file, an organization should only be represented by a single instance of Organization.

NOTE    An organization can have multiple identifiers. For example, a CAGE code, a DUNS code and a company name. This will be represented by a a single instance of Organization with an instance of Identification_assignment assigned for each identifier.

Assigning an organization

Once the Organization is identified, it can be assigned to an object by an instance of Organization_or_person_in_organization_assignment in a given role. For example, in order to represent an organization having the design authority for a part design, an Organization would be assigned to a Product_as_realized with the role of the assignment being "Design authority". The role of the assignment is provided by using reference data to classify the Organization_or_person_in_organization_assignment. (The assignment of reference data is described in the capability C010: assigning_reference_data).

An example is given in Figure 3 which shows the representation of an organization owning a bicycle. The 'BikeHire Limited' organization is assigned to a bicycle (represented as a Product_as_realized) in the role of "Owner of" (urn:plcs:rdl:std:Owner of).

NOTE    See the capability C045: representing_product_as_individual for information on how to represent a realized product.



Figure 3 —  Assigning an organization to a realized product

Figure 3 —  Assigning an organization to a realized product

The following templates are instantiated in the diagram:

Template Parameters
@3 assigning_identification_with_no_organization items=
#17
org_id=
BikeHire Limited
org_class_name=
Organization_name
org_ecl_id=
urn:plcs:rdl:std
@16 assigning_reference_data items=
#18
class_name=
Owner_of
ecl_id=
urn:plcs:rdl:std
 

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: Identification of an Organization (Optional)

Multiple identifications can be assigned to an organization. For example, a CAGE code, a DUNS code and a registered company name.

Characterization: Classification of an Organization (Optional)

An organization can be classified by assigning reference data to the Organization entity representing it.

For example, the 'BikeHire Limited' organization can be classified as a 'Bike operator'.

The assignment of reference data is described in the capability C010: assigning_reference_data.

Characterization: Assigning a date to an organization assignment (Optional)

Dates can be associated with the assignment of an organization by using the template assigning_calendar_date. For example, the date on which an organization took ownership of a realized product, and the date on which the organization relinquished ownership is represented by assigning a date to the Organization_or_person_in_organization_assignment.

An example is given in Figure 4 which shows the organization 'BikeHire Limited' owning a bicycle (represented as a Product_as_realized) from 2005-05-12 to 2005-06-12.



Figure 4 —  Assigning a date to an organization assignment

Figure 4 —  Assigning a date to an organization assignment

The following templates are instantiated in the diagram:

Template Parameters
@14 assigning_calendar_date items=
#18
date_class_name=
Date_actual_start
date_ecl_id=
urn:plcs:rdl:std
year=
2005
month=
05
day=
12
@20 assigning_calendar_date items=
#18
date_class_name=
Date_actual_end
date_ecl_id=
urn:plcs:rdl:std
year=
2005
month=
06
day=
12
@1 assigning_identification_with_no_organization items=
#17
id=
BikeHire Limited
id_class_name=
Organization_identification_name
id_ecl_id=
urn:plcs:rdl:std
   
@16 assigning_reference_data items=
#18
class_name=
Owner_of
ecl_id=
urn:plcs:rdl:std
     

Characterization: Organization location (Optional)

The location, such as a geographical location or postal address, of an organization is represented by assigning a location to the organization. The location is represented by Location and Location_representation and then assigned to the Organization by Location_assignment. This is described in the template assigning_location.

NOTE    It is also possible to directly assign an Address to an organization using Address_assignment. However, in order to represent the different location representation in a consistent manner, the use of Address_assignment is not recommended. The template assigning_location should be used instead.

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: assigning_organization (Short name: asg_org)

This section specifies the template assigning_organization.

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 the assignment of an organization to something. The purpose or meaning of the assignment is provided by classifying the assignment. The organization shall be identified and the type of identifier provided by classification.
Model diagrams
The EXPRESS-G diagram in Figure  shows the templates and EXPRESS entities that are required to represent the template "assigning_organization". The text highlighted in blue shows the template parameters.

NOTE    In any exchange file, an organization should only be represented by a single instance of Organization.



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

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

The graphic for the template to be used in other EXPRESS-G diagrams is shown in Figure  below.


Figure 2 —  
            The graphical representation of the assigning_organization template

Figure 2 —   The graphical representation of the assigning_organization template

Input parameters
The following input parameters are defined for this template:
org_id (Type='STRING')
The name or identifier of the organization.
org_id_class_name (Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the organization. This provides the role or reason for the identification. 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)
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.
org_assgn_class_name (Type='CLASS')
The name of the class being used to classify the assignment of the organization. (Organization_or_person_in_organization_assignment) This provides the role or reason for the assignment. For example 'Owner_of'.
The following classes and their sub-classes can be used:
classifications: "Organization_or_person_in_organization_assignment" (urn:plcs:rdl:std:Organization_or_person_in_organization_assignment)
org_assgn_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 @org_assgn_class_name.
items (Type= 'SELECT (organization_or_person_in_organization_item)' )
The items to which the organization is assigned
Reference parameters
The following reference parameters are defined for this template:
organization(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 = $assigning_organization.organization%
where target is the parameter to which the Organization is bound.
organization_assgn(Type='ENTITY (Organization_or_person_in_organization_assignment)')
Allow the Organization_or_person_in_organization_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Organization_or_person_in_organization_assignment entity can be referenced in a template path by:
%^target = $assigning_organization.organization_assgn%
where target is the parameter to which the Organization_or_person_in_organization_assignment is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Organization identifier
Each instance of the entity (Organization) within the data set shall be uniquely identified by a combination of the following parameters on this template (assigning_organization) namely: org_id, org_id_class_name, org_id_ecl_id.
The instance is referenced by the following template parameter: organization.
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 representing_organization
-- NOTE - representing_organization should only be instantiated once for
-- each organization
/representing_organization(
    org_id=@org_id,
    org_id_ecl_id=@org_id_ecl_id,
    org_id_class_name=@org_id_class_name)/

-- Bind Organization instantiated by the representing_organization
-- template to the ^organization parameter.
-- The parameter is a reference parameter so that the Organization
-- entity can be referred to when this template is used.
%^organization = $representing_organization.org%

-- Instantiate an Organization_or_person_in_organization_assignment
Organization_or_person_in_organization_assignment

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

-- Set the Organization_or_person_in_organization_assignment
-- role attribute to be ignored
Organization_or_person_in_organization_assignment.role = '/IGNORE'

-- Assign the organization to the
-- Organization_or_person_in_organization_assignment
Organization_or_person_in_organization_assignment.assigned_entity -> ^organization

-- classify the Organization_or_person_in_organization_assignment
/assigning_reference_data(
    items=^organization_assgn,
    class_name=@org_assgn_class_name,
    ecl_id=@org_assgn_ecl_id)/

-- Assign the Organization_or_person_in_organization_assignment.items
-- to the instances passed into the template through the @items
-- input parameter
Organization_or_person_in_organization_assignment.items -> @items
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Organization_or_person_in_organization_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  shows an example of the EXPRESS entities and templates that are instantiated by the template:
@17 /assigning_organization(items='#16', org_id='Bike Hire Limited', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', org_assgn_class_name='Owner_of', org_assgn_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated assigning_organization template is shown in Figure  below.)
Note that the templates representing_organization and assigning_reference_data are used in the diagram. Namely:
@1 /representing_organization(org_id='Bike Hire Limited', org_class_name='Organization_name', org_ecl_id='urn:plcs:rdl:std')/
and
@11 /assigning_reference_data(items='#10', class_name='Owner_of', ecl_id='urn:plcs:rdl:std')/


Figure 3 —  Assigning an organization

Figure 3 —  Assigning an organization

The instance diagram in Figure  shows the graphic symbol for the template that is to be used in other instance diagrams. The example template is:
@17 /assigning_organization(items='#16', org_id='Bike Hire Limited', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', org_assgn_class_name='Owner_of', org_assgn_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of assigning_organization template

Figure 4 —  Instantiation of assigning_organization template

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


Figure 5 —  Characterizations of assigning organizations

Figure 5 —  Characterizations of assigning organizations

The following characterizations may apply:
Characterization Identification of an Organization

NOTE   this characterization is optional.

Multiple identifications can be assigned to an organization.

Characterization Classification of an Organization

NOTE   this characterization is optional.

An organization can be classified by assigning reference data to the Organization entity representing it.

For example, the 'BikeHire Limited' organization can be classified as an 'Bike operator'.

The assignment of reference data is described in the capability C010: assigning_reference_data.

Characterization Assigning time

NOTE   this characterization is optional.

Dates and times may be associated with the assignment of an organization by using the template assigning_time. For example, the date on which an organization took ownership of a realized product, and the date at which the organization relinquished ownership is represented by assigning a time to the Organization_or_person_in_organization_assignment.

Template: representing_organization (Short name: rep_org)

This section specifies the template representing_organization.

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

Description

This template describes an organization independent of other entities in order to be referenced from other templates.

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


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

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

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

Figure 2 —  The graphical representation of the representing_organization template

Input parameters
The following input parameters are defined for this template:
org_id (Type='STRING')
The identifier or name of the organization.
org_id_class_name (Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the organization. This provides the role or reason for the identification. 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)
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.
Reference parameters
The following reference parameters are defined for this template:
org(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_organization.org%
where target is the parameter to which the Organization is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique organization
Each instance of the entity (Organization) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_organization) namely: org_id, org_id_class_name, org_id_ecl_id.
The instance is referenced by the following template parameter: org.
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.
-- Bind the Organization to the parameter ^org.
-- The parameter is a reference parameter so the Organization
-- entity can be referred to when this template is used.
%^org = Organization%

-- Identify the Organization
/assigning_identification_with_no_organization(
    items=^org,
    id=@org_id,
    id_class_name=@org_id_class_name,
    id_ecl_id=@org_id_ecl_id)/

-- Set the Organization attributes
Organization.name = '/IGNORE'
Organization.id = '/IGNORE'
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Organization.name '/IGNORE'
Organization.id '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
@9 /representing_organization(org_id='Bike Hire Limited', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_organization template is shown in Figure 4 below.)
Note that the template assigning_identification_with_no_organization is used in the diagram:
@2 /assigning_identification_with_no_organization(id='Bike Hire Limited', id_class_name='Organization_name', id_ecl_id='urn:plcs:rdl:std', items='#1')/


Figure 3 —  Entities instantiated by representing_organization template

Figure 3 —  Entities instantiated by representing_organization 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:
@9 /representing_organization(org_id='Bike Hire Limited', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Instantiation of representing_organization template

Figure 4 —  Instantiation of representing_organization template

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


Figure 5 —  Characterizations of represented organizations

Figure 5 —  Characterizations of represented organizations

The following characterizations may apply:
Characterization Assigning identification

NOTE   this characterization is optional.

Organization may have optional identifiers.

The Organization may have two identifiers (id and name) instead of either or. This may be represented by using the template assigning_identification_with_no_organization to assign a name or identifier to an Organization.

Characterization Assigning address

NOTE   this characterization is optional.

An address may be assigned to an organization, e.g. to provide contact information.

The address of an organization is represented using the template assigning_address to assign an address to an Organization. This is illustrated in Figure 5

Template: representing_organization_relationship (Short name: repr_org_rel)

This section specifies the template representing_organization_relationship.

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 relationship between two organizations.

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


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

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

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

Figure 2 —  The graphical representation of the representing_organization_relationship template

Input parameters
The following input parameters are defined for this template:
relating (Type= 'ENTITY (Organization)' )
The relating organization.
related (Type= 'ENTITY (Organization)' )
The organization that is being related.
rel_type_name (Type='CLASS')
The name of the class being used to classify the Organization_relationship . This provides the role or reason for the relationship.
The following classes and their sub-classes can be used:
classifications: "Organization_relationship" (urn:plcs:rdl:std:Organization_relationship)
rel_type_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 @rel_type_name.
Reference parameters
The following reference parameters are defined for this template:
org_rel(Type='ENTITY (Organization_relationship)')
Allow the Organization_relationship entity instantiated in this path to be referenced when this template is used.
Note: The Organization_relationship entity can be referenced in a template path by:
%^target = $representing_organization_relationship.org_rel%
where target is the parameter to which the Organization_relationship is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Organization relationship
Each instance of the entity (Organization_relationship) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_organization_relationship) namely: relating, related, rel_type_name, rel_type_ecl_id.
The instance is referenced by the following template parameter: org_rel.
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.
Organization_relationship
%^org_rel = Organization_relationship%
Organization_relationship.relation_type = '/IGNORE'
Organization_relationship.description = '/IGNORE'
Organization_relationship.relating_organization -> @relating
Organization_relationship.related_organization -> @related

-- provide the type of relationship
/assigning_reference_data(
    items=^org_rel,
    class_name=@rel_type_name,
    ecl_id=@rel_type_ecl_id)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Organization_relationship.relation_type '/IGNORE'
Organization_relationship.description '/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_organization_relationship(relating='#1', related='#2', rel_type_name='Subsidiary', rel_type_ecl_id='urn:plcs:rdl:sample')/
(an illustration of the consolidated representing_organization_relationship template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_organization_relationship template

Figure 3 —  Entities instantiated by representing_organization_relationship template

The instance model in STEP ASCII exchange file format (ISO 10303 Part 21 syntax) is:
#1 = ORGANIZATION('/IGNORE','/IGNORE'); #2 = ORGANIZATION('/IGNORE','/IGNORE'); #3 = ORGANIZATION_RELATIONSHIP('/IGNORE','/IGNORE',#1,#2); #5 = CLASSIFICATION_ASSIGNMENT(#6,(#3),'/IGNORE'); #6 = EXTERNAL_CLASS('/NULL','Subsidiary','/IGNORE',#7); #7 = EXTERNAL_CLASS_LIBRARY('urn:plcs:rdl:sample','/IGNORE');
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_organization_relationship(relating='#1', related='#2', rel_type_name='Subsidiary', rel_type_ecl_id='urn:plcs:rdl:sample')/


Figure 4 —  Instantiation of representing_organization_relationship template

Figure 4 —  Instantiation of representing_organization_relationship template

Characterizations
No common characterizations of the template representing_organization_relationship have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.

Dependent capabilities

This capability "Assigning an organization" is dependent on the following capabilities:

Model reference data

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

Organization_name(urn:plcs:rdl:std:Organization_name)
An Organization_name is a Name by which an Organization is known. EXAMPLE:: OntologiesRus Ltd
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.

© OASIS 2010 — All rights reserved