Template:— representing_message (rep_msg) Date: 2008/03/06 22:05:04
Revision: 1.30

This section specifies the template representing_message.

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 message and the relationships between a message and its contents.

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


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

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

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

Figure 2 —  The graphical representation of the representing_message template

Input parameters
The following input parameters are defined for this template:
rep_msg_id (Type='STRING')
The identifier of the message.
rep_msg_id_class_name (Default=Message_identification_code,Type='CLASS')
The name of the class being used to classify the identification (Identification_assignment) of the message. This provides the role or reason for the identification.
The following classes and their sub-classes can be used:
classifications: "Message_identification_code" (urn:plcs:rdl:std:Message_identification_code)
rep_msg_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 @id_class_name class.
rep_msg_id_owner (Type='STRING')
The name or identifier of the organization owning the id or name.
rep_msg_id_owner_class_name (Default=Organization_name,Type='CLASS')
The name of the class being used to classify the identification of the organization. For example CAGE code, or organization name.
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_msg_id_owner_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @id_owner_class_name class
date_class_name (Default=Date_actual_extraction,Type='CLASS')
The name of the class being used to classify the role date assignment, e.g. the message sending date.
The following classes and their sub-classes can be used:
classifications: "Date_actual_extraction" (urn:plcs:rdl:std:Date_actual_extraction)
date_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the date_class_name class items.
year (Type= 'TYPE (year_number)' )
The 'year' component of: the date the data was extracted from the system and the message created..
month (Type= 'TYPE (month_in_year_number)' )
The 'month' component of: the date the data was extracted from the system and the message created. .
day (Type= 'TYPE (day_in_month_number)' )
The 'day' component of: the date the data was extracted from the system and the message created.. This can be in local time or UTC
hour (Type= 'TYPE (hour_in_day)' )
The 'hour' component of: the date the data was extracted from the system and the message created.. This can be in local time or UTC.
minute (Type= 'TYPE (minute_in_hour)' , Optional)
The 'minute' component of: the date the data was extracted from the system and the message created.. This can be in local time or UTC.
second (Type= 'TYPE (second_in_minute)' , Optional)
The 'second' component of: the date the data was extracted from the system and the message created.. This can be in local time or UTC
sense (Default=exact,Type= 'ENUMERATION (offset_orientation)' )
The direction of the offset. Enumeration values: 'ahead', 'exact' or 'behind'.
hour_offset (Default=0,Type='INTEGER')
The number of hours by which a time is offset from Coordinated Universal Time.
minute_offset (Default=0,Type='INTEGER', Optional)
The number of minutes by which a time is offset from Coordinated Universal Time. The value of this attribute need not be specified. This parameter is optional. If not given, it will remain unset.
ap239_id_class_name (Default=AP239_version,Type='CLASS')
The name of the class being used to classify the Message as a container of ISO 10303-239 data of a given version. The class identifies the version of ISO 10303-239 to which the data in the message conforms.
The following classes and their sub-classes can be used:
classifications: "AP239_version" (urn:plcs:rdl:std:AP239_version)
ap239_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @ap239_id_class_name
dex_id_class_name (Default=DEX_used,Type='CLASS')
The name of the class being used to classify the Message as a container of an identified DEX. The class defines the DEX to which the data in the message conforms.
The following classes and their sub-classes can be used:
classifications: "DEX_used" (urn:plcs:rdl:std:DEX_used)
dex_id_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library storing the @dex_id_class_name
content (Type= 'SELECT (message_content_item)' )
Reference parameters
The following reference parameters are defined for this template:
message(Type='ENTITY (Message)')
Allow the Message entity instantiated in this path to be referenced when this template is used.
Note: The Message entity can be referenced in a template path by:
%^target = $representing_message.message%
where target is the parameter to which the Message is bound.
content_item(Type='ENTITY (Content_item_selected)')
Allow the Content_item_selected entity instantiated in this path to be referenced when this template is used.
Note: The Content_item_selected entity can be referenced in a template path by:
%^target = $representing_message.content_item%
where target is the parameter to which the Content_item_selected is bound.
AP239 Issue (RBN-4)
The ISO-10303-239 1st edition does not support the Content_item_selected entity.

This has been raised as issue, RBN-4, against ISO 10303-239. The EXPRESS schema has been modified in DEXlib (Long form: dexlib/data/schemas/ap239_arm_lf.exp, short form: dexlib/data/schemas/ap239_arm_sf.exp). These changes will be made to ISO 10303-239 as a Technical Corrigendum at some stage.

Restrictions
Content_item should never be instantiated; only Content_item_selected should be instantiated. In other words, Content_item should be used (in effect) as though it were an abstract supertype.
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.
Message

-- Mark the Message entity as
-- referable when this template is used by binding it to the reference
-- parameter message
%^message = Message%
Message.id = '/IGNORE'
Message.message_type = '/IGNORE'
Message.purpose = '/IGNORE'
Message.contains -> Content_item_selected

-- Mark the Content_item_selected entity as
-- referable when this template is used by binding it to the reference
-- parameter content_item
%^content_item = Content_item_selected%
Content_item_selected.contents -> @content
Content_item_selected.item_identifier = '/IGNORE'
Content_item_selected.item_type = '/IGNORE'
Content_item_selected.access_comment = '/IGNORE'

-- assign ID to message
/assigning_identification(
    id=@rep_msg_id,
    id_class_name=@rep_msg_id_class_name,
    id_ecl_id=@rep_msg_id_ecl_id,
    org_id=@rep_msg_id_owner,
    org_id_class_name=@rep_msg_id_owner_class_name,
    org_id_ecl_id=@rep_msg_id_owner_ecl_id,
    items=^message)/

-- provide the version of the AP
/assigning_reference_data(
    items=^message,
    class_name=@dex_id_class_name,
    ecl_id=@dex_id_ecl_id)/

-- provide the version of the AP
/assigning_reference_data(
    items=^message,
    class_name=@ap239_id_class_name,
    ecl_id=@ap239_id_ecl_id)/

-- assigning an actual date of the message - the date the message was created
/assigning_time(
    date_class_name=@date_class_name,
    date_ecl_id=@date_ecl_id,
    year=@year,
    month=@month,
    day=@day,
    hour=@hour,
    minute=@minute,
    second=@second,
    sense=@sense,
    hour_offset=@hour_offset,
    minute_offset=@minute_offset,
    items= ^message)/
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Message.id '/IGNORE'
Message.message_type '/IGNORE'
Message.purpose '/IGNORE'
Content_item_selected.item_identifier '/IGNORE' Content_item.item_identifier
Content_item_selected.item_type '/IGNORE' Content_item.item_type
Content_item_selected.access_comment '/IGNORE' Content_item.access_comment
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_message(rep_msg_id='CM1234', rep_msg_id_class_name='Message_identification_code', rep_msg_id_ecl_id='urn:plcs:rdl:std', rep_msg_id_owner='Express Delivery Inc', rep_msg_id_owner_class_name='Organization_name', rep_msg_id_owner_ecl_id='urn:plcs:rdl:std', date_class_name='Date_actual_extraction', date_ecl_id='urn:plcs:rdl:std', year='2007', month='6', day='13', hour='11', minute='23', second='54', sense='.EXACT.', hour_offset='0', minute_offset='0', ap239_id_class_name='AP239_version', ap239_id_ecl_id='urn:plcs:rdl:std', dex_id_class_name='DEX_used', dex_id_ecl_id='urn:plcs:rdl:std')/
(an illustration of the consolidated representing_message template is shown in Figure 4 below.)
Note that the assigning_organization or assigning_person_in_organization template must be used with the representing_message template to indicate both the sender and the receiver of the message as indicated below:
/assigning_organization(org_id='Parts R Us Ltd', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', org_assign_class_name='Sender_of', org_assign_ecl_id='http://www.plcs.org', items='#124')/
/assigning_person_in_organization(items='#124', last_name='Berry', first_name='Janet', middle_names='', prefix_titles='', suffix_titles='', person_role_class_name='Receiver_of', person_role_ecl_id='urn:plcs:rdl:std', org_id='Express Delivery Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/
Note that the assigning_reference_data, assigning_time and assigning_identification templates are used in the diagram. Namely:
/assigning_reference_data(items='#124', class_name='Aviation_maintenance', ecl_id='urn:plcs:rdl:std')/
/assigning_reference_data(items='#124', class_name='ISO10303-239-Ed1-TC1', ecl_id='urn:plcs:rdl:std')/
/assigning_identification(items='#124', id='CM1234', id_class_name='Message_identiification_code', id_ecl_id='urn:plcs:rdl:std', org_id='Express Delivery Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/
/assigning_time(items='#124', date_class_name='Date_message_sent', date_ecl_id='urn:plcs:rdl:std', year='2007', month='6', day='13', hour='11', minute='23', second='54', sense='.EXACT.', hour_offset='0', minute_offset='0')/


Figure 3 —  Entities instantiated by representing_message template

Figure 3 —  Entities instantiated by representing_message 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_message(rep_msg_id='CM1234', rep_msg_id_class_name='Message_identification_code', rep_msg_id_ecl_id='urn:plcs:rdl:std', rep_msg_id_owner='Express Delivery Inc', rep_msg_id_owner_class_name='Organization_name', rep_msg_id_owner_ecl_id='urn:plcs:rdl:std', date_class_name='Date_actual_extraction', date_ecl_id='urn:plcs:rdl:std', year='2007', month='6', day='13', hour='11', minute='23', second='54', sense='.EXACT.', hour_offset='0', minute_offset='0', ap239_id_class_name='AP239_version', ap239_id_ecl_id='urn:plcs:rdl:std', dex_id_class_name='DEX_used', dex_id_ecl_id='urn:plcs:rdl:std')/
Note that the assigning_organization or assigning_person_in_organization template must be used with the representing_message template to indicate both the sender and the receiver of the message as indicated below:
/assigning_organization(org_id='Parts R Us Ltd', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std', org_assign_class_name='Sender_of', org_assign_ecl_id='http://www.plcs.org', items='#124')/
/assigning_person_in_organization(items='#124', last_name='Berry', first_name='Janet', middle_names='', prefix_titles='', suffix_titles='', person_role_class_name='Receiver_of', person_role_ecl_id='urn:plcs:rdl:std', org_id='Express Delivery Inc', org_id_class_name='Organization_name', org_id_ecl_id='urn:plcs:rdl:std')/


Figure 4 —  Entities instantiated by representing_message template

Figure 4 —  Entities instantiated by representing_message template

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


Figure 5 —  Characterizations for representing_message template

Figure 5 —  Characterizations for representing_message template

The following characterizations may apply:
Characterization Assigning descriptor

NOTE   this characterization is optional.

Access comments of the message, the message purpose and the transmission purpose and can be provided using instances of the template assigning_descriptor. These are applied to the ^message reference parameter for the message purpose and the transmission purpose and to ^content_item reference parameter for the access comments . See Figure 5 for the an abstract view of this. The following template call shows how this might be instantiated with respect to Figure 5.

/assigning_descriptor(descr='This describes the purpose of the message', class_name='Description', ecl_id='urn:plcs:rdl:std', is_assigned_to='@124')/
Characterization Assigning date/time

NOTE   this characterization is optional.

Date/times can be assigned to the message using instances of the template assigning_time. This is applied to the ^message reference parameter. See Figure 5 for an abstract view of this. The following template call shows how this might be instantiated with respect to Figure 5. This illustrates assigning the time that a message was sent.

/assigning_time(date_class_name='Date_message_sent', date_ecl_id='urn:plcs:rdl:std', year='2008', month='01', day_in_month_number='30', hour='17', minute='0', second='0', sense='.EXACT.', hour_offset='0', minute_offset='0', items='@97')/
Characterization Assigning reference data

NOTE   this characterization is optional.

Security classification and content item type can be applied to the message using instances of the template assigning_reference_data. This is applied to the ^message reference parameter for the security classification and ^content_item reference parameter for the content item type. See Figure 5 for an abstract view of this. The following template call shows how this might be instantiated with respect to Figure 5.

/assigning_reference_data(class_name='Security_classification_assignment', ecl_id='urn:plcs:rdl:std', items='@124')/
Characterization Assignments of approvals

NOTE   this characterization is optional.

A message may have approvals assigned to it, through the use of the assigning_approval template. This is applied to the ^message reference parameter. See Figure 5 for an abstract view of this. The following template call shows how this might be instantiated with respect to Figure 5.

/assigning_approval(status='Approved', status_ecl_id='urn:plcs:rdl:std', items='#124')/
Characterization Assignments of asserted state

NOTE   this characterization is optional.

A message may have a state, which has been observed and confirmed by evidence, assigned to it, through the use of the assigning_asserted_state template. This is applied to the ^message reference parameter. See Figure 5 for an abstract view of this. The following template call shows how this might be instantiated with respect to Figure 5.

/assigning_asserted_state(state_class_name='Final', state_ecl_id='urn:plcs:rdl:std', assigned_to='#124')/
Characterization Assignments of contract

NOTE   this characterization is optional.

A message may have a contract assigned to it, through the use of the assigning_contract template. This is applied to the ^message reference parameter. See Figure 5 for an abstract view of this. The following template call shows how this might be instantiated with respect to Figure 5.

/assigning_contract(cnt_id='123456', cnt_id_class_name='Contract_identification_code', cnt_id_ecl_id='urn:plcs:rdl:std', cnt_org_id='Express Delivery Inc', cnt_org_id_class_name='Organization_name', cnt_org_id_ecl_id='urn:plcs:rdl:std', items='#124')/
Characterization Assignments of security classification

NOTE   this characterization is optional.

A message may have a a security classification assigned to it, through the use of the assigning_security_classification template. This is applied to the ^message reference parameter. See Figure 5 for an abstract view of this. The following template call shows how this might be instantiated with respect to Figure 5.

/assigning_security_classification(items='#124', class_name='Secret', ecl_id='urn:plcs:rdl:sample')/

© OASIS 2008 — All rights reserved