Template:— representing_interface_definition (rep_interf_def)
Capability:representing_parts
Date: 2011/10/07 08:40:47
Revision: 1.1

[warning:]Error T1: There is no template_proxy in the capability representing_parts for the template representing_interface_definition

This section specifies the template representing_interface_definition.

NOTE  The template has been defined in the context of the capability representing_parts which provides an overall description of the relevant parts of the ISO 10303-239 information model and a description 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 an inteface definition.

EXAMPLE    The specification of an interface between pipes where those pipes connect.

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


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

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

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

Figure 2 —  The graphical representation of the representing_interface_definition template

Input parameters
The following input parameters are defined for this template:
intrf_con_id (Type='STRING')
The identifier of the interface connector.
intrf_con_id_class_name (Default=Interface_connector_identification_code,Type='CLASS', Optional)
The name of the class used to classify the identifier assigned (using Identification_assignment ) to the interface connector.
The following classes and their sub-classes can be used:
classifications: "Interface_connector_identification_code" (urn:plcs:rdl:std:Interface_connector_identification_code)
intrf_con_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library that holds the definition of the External_class used to classify the identifier of the interface connector.
intrf_con_org_id (Type='STRING')
The name or identifier of the organization that is responsible for the identifier of the interface connector.
intrf_con_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class used to classify the identifier of the organization that is responsible for the identifier of the interface connector.
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)
intrf_con_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library that holds the definition of the External_class used to classify the identifier of the organization that is responsible for the identifier of the interface connector.
intrf_con_vn_id (Type='STRING')
The identifier of the interface connector version.
intrf_con_vn_id_class_name (Default=Version_identification_code,Type='CLASS', Optional)
The name of the class used to classify the identifier assigned ( Identification_assignment ) to the interface connector version.
The following classes and their sub-classes can be used:
classifications: "Version_identification_code" (urn:plcs:rdl:std:Version_identification_code)
intrf_con_vn_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library that holds the definition of the External_class class used to classify the identifier assigned to the interface connector version.
intrf_con_vn_org_id (Type='STRING')
The name or identifier of the organization responsible for the identifier assigned to the interface connector version.
intrf_con_vn_org_id_class_name (Default=Organization_name,Type='CLASS', Optional)
The name of the class used to classify the identifier (Identification_assignment) of the organization responsible for the identifier assigned to the interface connector version.
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)
intrf_con_vn_org_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library that holds the definition of the External_class used to classify the identifier of the organization responsible for the identifier assigned to the interface connector version.
domain (Default=Product_life_cycle_support,Type='CLASS', Optional)
The name of the class used to describe the application domain of the View_definition_context for the interface connector definition.
The following classes and their sub-classes can be used:
classifications: "Discipline_domain" (urn:plcs:rdl:std:Discipline_domain)
domain_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library that holds the definition of class used to describe the application domain of the View_definition_context for the interface connector definition.
life_cycle_stage (Default=Support_stage,Type='CLASS', Optional)
The name of the class used to describe the life cycle stage of the View_definition_context for the interface connector definition.
The following classes and their sub-classes can be used:
classifications: "Life_cycle_stage" (urn:plcs:rdl:std:Life_cycle_stage)
life_cycle_stage_ecl_id (Default=urn:plcs:rdl:std,Type='URN', Optional)
The identifier of the External_class_library that holds the definition of class used to describe the life cycle stage of the View_definition_context for the interface connector definition.
connector_on (Type= 'ENTITY (Part_view_definition)' )
The part that has an interface connection.
Reference parameters
The following reference parameters are defined for this template:
intrf_con(Type='ENTITY (Interface_connector)')
Allow the Interface_connector entity instantiated in this path to be referenced when this template is used.
Note: The Interface_connector entity can be referenced in a template path by:
%^target = $representing_interface_definition.intrf_con%
where target is the parameter to which the Interface_connector is bound.
intrf_con_id_assgn(Type='ENTITY (Identification_assignment)')
Allow the Identification_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Identification_assignment entity can be referenced in a template path by:
%^target = $representing_interface_definition.intrf_con_id_assgn%
where target is the parameter to which the Identification_assignment is bound.
intrf_con_version(Type='ENTITY (Interface_connector_version)')
Allow the Interface_connector_version entity instantiated in this path to be referenced when this template is used.
Note: The Interface_connector_version entity can be referenced in a template path by:
%^target = $representing_interface_definition.intrf_con_version%
where target is the parameter to which the Interface_connector_version is bound.
intrf_con_ver_id_assgn(Type='ENTITY (Identification_assignment)')
Allow the Identification_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Identification_assignment entity can be referenced in a template path by:
%^target = $representing_interface_definition.intrf_con_ver_id_assgn%
where target is the parameter to which the Identification_assignment is bound.
intrf_con_def(Type='ENTITY (Interface_connector_definition)')
Allow the Interface_connector_definition entity instantiated in this path to be referenced when this template is used.
Note: The Interface_connector_definition entity can be referenced in a template path by:
%^target = $representing_interface_definition.intrf_con_def%
where target is the parameter to which the Interface_connector_definition is bound.
contxt(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_interface_definition.contxt%
where target is the parameter to which the View_definition_context is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique interface_connector
Each instance of the entity (Interface_connector) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_interface_definition) namely: intrf_con_id, intrf_con_id_class_name, intrf_con_id_ecl_id, intrf_con_org_id, intrf_con_org_id_class_name, intrf_con_org_id_ecl_id.
The instance is referenced by the following template parameter: intrf_con.
Unique constraint: Unique interface_connector_definition
Each instance of the entity (Interface_connector_definition) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_interface_definition) namely: intrf_con_id, intrf_con_id_class_name, intrf_con_id_ecl_id, intrf_con_org_id, intrf_con_org_id_class_name, intrf_con_org_id_ecl_id, intrf_con_vn_id, intrf_con_vn_id_class_name, intrf_con_vn_id_ecl_id, intrf_con_vn_org_id, intrf_con_vn_org_id_class_name, intrf_con_vn_org_id_ecl_id, domain, domain_ecl_id, life_cycle_stage, life_cycle_stage_ecl_id.
The instance is referenced by the following template parameter: intrf_con_def.
This rule means that there can be only one view definition (Interface_connector_definition) of an interface connector version (Interface_connector_version) with any given identifier, in the same View_definition_context).
Unique constraint: Unique interface_connector_version
Each instance of the entity (Interface_connector_version) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_interface_definition) namely: intrf_con_id, intrf_con_id_class_name, intrf_con_id_ecl_id, intrf_con_org_id, intrf_con_org_id_class_name, intrf_con_org_id_ecl_id, intrf_con_vn_id, intrf_con_vn_id_class_name, intrf_con_vn_id_ecl_id, intrf_con_vn_org_id, intrf_con_vn_org_id_class_name, intrf_con_vn_org_id_ecl_id.
The instance is referenced by the following template parameter: intrf_con_version.
This rule ensures that there can be only one version (Interface_connector_version) of an interface connector (Part) with any given identifier.
Unique constraint: Unique view_definition_context
Each instance of the entity (View_definition_context) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_interface_definition) namely: domain, domain_ecl_id, life_cycle_stage, life_cycle_stage_ecl_id.
The instance is referenced by the following template parameter: contxt.
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.
-- Interface_connector
Interface_connector
%^intrf_con = Interface_connector%
Interface_connector.id = '/IGNORE'
Interface_connector.name = '/IGNORE'
Interface_connector.description = '/IGNORE'

-- Identify the Interface_connector
/assigning_identification(
    items=^intrf_con,
    id=@intrf_con_id,
    id_class_name=@intrf_con_id_class_name,
    id_ecl_id=@intrf_con_id_ecl_id,
    org_id=@intrf_con_org_id,
    org_id_class_name=@intrf_con_org_id_class_name,
    org_id_ecl_id=@intrf_con_org_id_ecl_id )/

-- Ref parameter for the Interface_connector indentification
%^intrf_con_id_assgn = $assigning_identification.id_assgn%

-- Interface_connector_version
Interface_connector_version
%^intrf_con_version = Interface_connector_version%
Interface_connector_version.id = '/IGNORE'
Interface_connector_version.description = '/IGNORE'
Interface_connector_version.of_product -> Interface_connector

-- Identify the Interface_connector_version
/assigning_identification(
    items=^intrf_con_version,
    id=@intrf_con_vn_id,
    id_class_name=@intrf_con_vn_id_class_name,
    id_ecl_id=@intrf_con_vn_id_ecl_id,
    org_id=@intrf_con_vn_org_id,
    org_id_class_name=@intrf_con_vn_org_id_class_name,
    org_id_ecl_id=@intrf_con_vn_org_id_ecl_id )/

-- Ref parameter for the Interface_connector_version indentification
%^intrf_con_ver_id_assgn = $assigning_identification.id_assgn%
View_definition_context
%^contxt = View_definition_context%
View_definition_context.application_domain = '/IGNORE'
View_definition_context.life_cycle_stage = '/IGNORE'
View_definition_context.description = '/IGNORE'

-- Application domain of the view definition
/assigning_reference_data(
    items=^contxt,
    class_name=@domain,
    ecl_id=@domain_ecl_id )/

-- Life cycle stage of the view definition
/assigning_reference_data(
    items=^contxt,
    class_name=@life_cycle_stage,
    ecl_id=@life_cycle_stage_ecl_id )/

-- Interface_connector_definition
Interface_connector_definition
%^intrf_con_def = Interface_connector_definition%
Interface_connector_definition.id = '/IGNORE'
Interface_connector_definition.name = '/IGNORE'
Interface_connector_definition.additional_characterization = '/IGNORE'
Interface_connector_definition.defined_version -> Interface_connector_version
Interface_connector_definition.initial_context -> View_definition_context
Interface_connector_definition.connector_on -> @connector_on
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Interface_connector.id '/IGNORE' Product.id
Interface_connector.name '/IGNORE' Product.name
Interface_connector.description '/IGNORE' Product.description
Interface_connector_version.id '/IGNORE' Product_version.id
Interface_connector_version.description '/IGNORE' Product_version.description
View_definition_context.application_domain '/IGNORE'
View_definition_context.life_cycle_stage '/IGNORE'
View_definition_context.description '/IGNORE'
Interface_connector_definition.id '/IGNORE' Product_view_definition.id
Interface_connector_definition.name '/IGNORE' Product_view_definition.name
Interface_connector_definition.additional_characterization '/IGNORE' Product_view_definition.additional_characterization
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_interface_definition(intrf_con_id='IC001', intrf_con_id_class_name='Interface_connector_identification_code', intrf_con_id_ecl_id='urn:plcs:rdl:std', intrf_con_org_id='Interfaces Ltd', intrf_con_org_id_class_name='Organization_name', intrf_con_org_id_ecl_id='urn:plcs:rdl:std', intrf_con_vn_id='ICV001', intrf_con_vn_id_class_name='Version_identification_code', intrf_con_vn_id_ecl_id='urn:plcs:rdl:std', intrf_con_vn_org_id='Interfaces Ltd', intrf_con_vn_org_id_class_name='Organization_name', intrf_con_vn_org_id_ecl_id='urn:plcs:rdl:std', domain='Product_life_cycle_support', domain_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std', connector_on='@162')/
(an illustration of the consolidated representing_interface_definition template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_interface_definition template

Figure 3 —  Entities instantiated by representing_interface_definition 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_interface_definition(intrf_con_id='IC001', intrf_con_id_class_name='Interface_connector_identification_code', intrf_con_id_ecl_id='urn:plcs:rdl:std', intrf_con_org_id='Interfaces Ltd', intrf_con_org_id_class_name='Organization_name', intrf_con_org_id_ecl_id='urn:plcs:rdl:std', intrf_con_vn_id='ICV001', intrf_con_vn_id_class_name='Version_identification_code', intrf_con_vn_id_ecl_id='urn:plcs:rdl:std', intrf_con_vn_org_id='Interfaces Ltd', intrf_con_vn_org_id_class_name='Organization_name', intrf_con_vn_org_id_ecl_id='urn:plcs:rdl:std', domain='Product_life_cycle_support', domain_ecl_id='urn:plcs:rdl:std', life_cycle_stage='Support_stage', life_cycle_stage_ecl_id='urn:plcs:rdl:std', connector_on='@162')/


Figure 4 —  Instantiation of representing_interface_definition template

Figure 4 —  Instantiation of representing_interface_definition template

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