Capability (C036):— assigning_date_time Date: 2007/06/22 12:22:09
Revision: 1.30

Business overview

This section provides a business level overview of this capability.

In most business processes when information is created or modified it is necessary to be able to associate a date and time stamp on the information being used.

For example to identify or capture when the information, such as a document, was created or modified.

This capability describes how date and time is associated to information elements.



Figure 1 —  Business overview of capability assigning_date_time

Figure 1 —  Business overview of capability assigning_date_time

Information model overview

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

Either date or date and time stamps may be associated to entity instances.

The following entities are applied when representing date and time stamps:

This capability represents the two concepts 'assigning_date' and 'assigning_time'.

The main entities used by 'assigning_date'are shown in Figure 2 below.



Figure 2 —  EXPRESS-G diagram Assigning date

Figure 2 —  EXPRESS-G diagram Assigning date

The main entities used by 'assigning_time' are shown in Figure 3 below.



Figure 3 —  EXPRESS-G diagram - Assigning time

Figure 3 —  EXPRESS-G diagram - Assigning time

In the example below the Bike has its yearly maintenance date 14 October 2005 10 o'clock local time.

The calendar date is classified as 'yearly maintenance date' using the capability 'assigning_reference_data'.

The time is classified as 'start time' using the capability 'assigning_reference_data'.



Figure 4 —  Assigning date or date and time

Figure 4 —  Assigning date or date and time

Assigning calendar date

A date is associated to an entity through the Date_or_date_time_assignment entity.

A Calendar_date is a date that is defined as a day in a month of a year.

It is a requirement to be able to classify the date stamp with a particular role. At its simplest, this may just take a form such as "yearly maintenance date" but provision in the capability is made for the list of classification options to be made available from an external class library.

Assigning time

A time stamp may be assigned to entity instances using the entities Date_time, Local_time and Time_offset.

A time stamp shall always be assigned together with a Calendar_date.

It is a requirement to be able to classify the time stamp with a particular role. At its simplest, this may just take a form such as "start time", "stop time", but provision in the capability is made for the list of classification options to be made available from an external class library.

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: Organization assignment (Optional)

An optional requirement is the assignment of who (organization_assignment) assigned the date / time (date_time_assignment).

Reference should be made to capability assigning_organization" for more details.

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_calendar_date (Short name: asg_cdate)

This section specifies the template assigning_calendar_date.

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 dates to something. The purpose of the assignment is provided by classification. For example, the date is assigned as the start date.

NOTE    While this template continues to be maintained, its use is deprecated. The template assigning_time should be used with any unused time parameters set to "/NULL".

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


Figure 1 —  Information model overview - Assigning calendar date

Figure 1 —  Information model overview - Assigning calendar date

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

Figure 2 —  The graphical representation of the assigning_calendar_date template

Input parameters
The following input parameters are defined for this template:
date_class_name (Type='CLASS')
The name of the class being used to classify the role date assignment, e.g. the start date.
The following classes and their sub-classes can be used:
classifications: "Date_or_date_time_assignment" (urn:plcs:rdl:std:Date_or_date_time_assignment)
date_ecl_id (Type='URN')
The id of the External_class_library in which the @date_class_name is defined.
year (Type= 'TYPE (year_number)' )
Calendar_date year_component
month (Type= 'TYPE (month_in_year_number)' )
Calendar_date month_component
day (Type= 'TYPE (day_in_month_number)' )
Calendar_date day_component
items (Type= 'SELECT (date_or_date_time_item)' )
The items to which the date is assigned.
Reference parameters
The following reference parameters are defined for this template:
date_assgn(Type='ENTITY (Date_or_date_time_assignment)')
Allow the Date_or_date_time_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Date_or_date_time_assignment entity can be referenced in a template path by:
%^target = $assigning_calendar_date.date_assgn%
where target is the parameter to which the Date_or_date_time_assignment is bound.
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.
Date_or_date_time_assignment
%^date_assgn = Date_or_date_time_assignment%

-- the template assigning_reference_data is being called with parameters set.
-- The reference data is being assigned to the subject of the template,
-- in this case Date_or_date_time_assignment.
/assigning_reference_data(
    items=^date_assgn,
    class_name=@date_class_name,
    ecl_id=@date_ecl_id)/
Date_or_date_time_assignment.role = '/IGNORE'
Date_or_date_time_assignment.items -> @items
Date_or_date_time_assignment.assigned_date -> Calendar_date
Calendar_date.year_component = @year
Calendar_date.month_component = @month
Calendar_date.day_component = @day
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Date_or_date_time_assignment.role '/IGNORE'
Calendar_date.year_component @year
Calendar_date.month_component @month
Calendar_date.day_component @day
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
@9 /assigning_calendar_date(items='#3', date_class_name='Date_actual_start', date_ecl_id='urn:plcs:rdl:std', year='2005', month='05', day='12')/
(an illustration of the consolidated assigning_calendar_date template is shown in Figure 4 below.)
Note that the assigning_reference_data template is used in the diagram. Namely:
@4 /assigning_reference_data(items='#2', class_name='Date_actual_start', ecl_id='urn:plcs:rdl:std')/


Figure 3 —  Entities instantiated by assigning_calendar_date template

Figure 3 —  Entities instantiated by assigning_calendar_date 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 /assigning_calendar_date(items='#3', date_class_name='Date_actual_start', date_ecl_id='urn:plcs:rdl:std', year='2005', month='05', day='12')/


Figure 4 —  Instantiation of assigning_calendar_date template

Figure 4 —  Instantiation of assigning_calendar_date template

Characterizations
No common characterizations of the template assigning_calendar_date have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: assigning_time (Short name: asg_time)

This section specifies the template assigning_time.

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 time to something. The purpose of the assignment is provided by classification. For example, the time is assigned as the start time.
Model diagrams
The EXPRESS-G diagram in Figure 1 shows the templates and EXPRESS entities that are required to represent the template "assigning_time". The text highlighted in blue shows the template parameters.


Figure 1 —  Information model overview - Assigning time

Figure 1 —  Information model overview - Assigning time

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

Figure 2 —  The graphical representation of the assigning_time template

Input parameters
The following input parameters are defined for this template:
date_class_name (Type='CLASS')
The name of the class being used to classify the role date assignment, e.g. the start date.
The following classes and their sub-classes can be used:
classifications: "Date_or_date_time_assignment" (urn:plcs:rdl:std:Date_or_date_time_assignment), "Date_time" (urn:plcs:rdl:std:Date_time), "Local_time" (urn:plcs:rdl:std:Local_time)
date_ecl_id (Default=urn:plcs:rdl:std,Type='URN')
The id of the External_class_library in which the date class is defined.
year (Type= 'TYPE (year_number)' )
Calendar_date year_component
month (Type= 'TYPE (month_in_year_number)' )
Calendar_date month_component
day (Type= 'TYPE (day_in_month_number)' )
Calendar_date day_component
hour (Type= 'TYPE (hour_in_day)' )
Local_time year_component of the date and time.
minute (Type= 'TYPE (minute_in_hour)' , Optional)
Local_time month_component of the date and time. This parameter is optional. If not given, it will remain unset.
second (Type= 'TYPE (second_in_minute)' , Optional)
Local_time day_component of the date and time. This parameter is optional. If not given, it will remain unset.
sense (Type= 'ENUMERATION (offset_orientation)' )
The direction of the offset. Enumeration values: 'ahead', 'exact' or 'behind'.
hour_offset (Type='INTEGER')
The number of hours by which a time is offset from Coordinated Universal Time.
minute_offset (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.
items (Type= 'SELECT (date_or_date_time_item)' )
The items to which the date is assigned.
Reference parameters
The following reference parameters are defined for this template:
time_assgn(Type='ENTITY (Date_or_date_time_assignment)')
Allow the Date_or_date_time_assignment entity instantiated in this path to be referenced when this template is used.
Note: The Date_or_date_time_assignment entity can be referenced in a template path by:
%^target = $assigning_time.time_assgn%
where target is the parameter to which the Date_or_date_time_assignment is bound.
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.
Date_or_date_time_assignment
%^time_assgn = Date_or_date_time_assignment%

-- the template assigning_reference_data is being called with parameters set.
-- The reference data is being assigned to the subject of the template,
-- in this case Date_or_date_time_assignment.
/assigning_reference_data(
    items=^time_assgn,
    class_name=@date_class_name,
    ecl_id=@date_ecl_id)/
Date_or_date_time_assignment.role = '/IGNORE'
Date_or_date_time_assignment.items -> @items

-- the template representing_date_time is being instantiated with parameters set.
/representing_date_time(
    year=@year,
    month=@month,
    day=@day,
    hour=@hour,
    minute=@minute,
    second=@second,
    sense=@sense,
    hour_offset=@hour_offset,
    minute_offset=@minute_offset)/

-- the attribute Date_or_date_time_assignment.assigned_date is assigned to entity bound to
-- reference parameter date_time in the template representing_date_time
%^ldate_time = $representing_date_time.date_time%
Date_or_date_time_assignment.assigned_date -> ^ldate_time
The following entities are instantiated with attributes as specified:
Entity in path Value Inherited from
Date_or_date_time_assignment.role '/IGNORE'
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/assigning_time(items='#12', date_class_name='Date_actual_start', date_ecl_id='urn:plcs:rdl:std', year='2005', month='5', day='12', hour='14', minute='15', second='0', sense='.EXACT.', hour_offset='0', minute_offset='0')/
(an illustration of the consolidated assigning_time template is shown in Figure 4 below.)
Note that the assigning_reference_data and representing_date_time templates are used in the diagram. Namely:
/assigning_reference_data(items='#1', class_name='Date_actual_start', ecl_id='urn:plcs:rdl:std')/
and
/representing_date_time(year='2005', month='5', day='12', hour='14', minute='15', second='0', sense='.EXACT.', hour_offset='0', minute_offset='0')/


Figure 3 —  Entities instantiated by assigning_time template

Figure 3 —  Entities instantiated by assigning_time 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_time(items='#12', date_class_name='Date_actual_start', date_ecl_id='urn:plcs:rdl:std', year='2005', month='5', day='12', hour='14', minute='15', second='0', sense='.EXACT.', hour_offset='0', minute_offset='0')/


Figure 4 —  Instantiation of assigning_time template

Figure 4 —  Instantiation of assigning_time template

Characterizations
No common characterizations of the template assigning_time have been identified. However, the ISO 10303-239 EXPRESS model may enable other assignments to the entities instantiated by the template.
Template: representing_date_time (Short name: rep_date_time)

This section specifies the template representing_date_time.

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 Date_time.

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


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

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

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

Figure 2 —   The graphical representation of representing_date_time template

Input parameters
The following input parameters are defined for this template:
year (Type= 'TYPE (year_number)' )
Calendar_date year_component of the date and time.
month (Type= 'TYPE (month_in_year_number)' )
Calendar_date month_component of the date and time.
day (Type= 'TYPE (day_in_month_number)' )
Calendar_date day_component of the date and time.
hour (Type= 'TYPE (hour_in_day)' )
Local_time hour_component of the date and time.
minute (Type= 'TYPE (minute_in_hour)' , Optional)
Local_time minute_component of the date and time. This parameter is optional. If not given, it will remain unset.
second (Type= 'TYPE (second_in_minute)' , Optional)
Local_time second_component of the date and time. This parameter is optional. If not given, it will remain unset.
sense (Type= 'TYPE (offset_orientation)' )
The direction of the offset. Type (Enumeration) values are: 'ahead', 'exact' or 'behind'.
hour_offset (Type='INTEGER')
The number of hours by which a time is offset from Coordinated Universal Time.
minute_offset (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.
Reference parameters
The following reference parameters are defined for this template:
date_time(Type='ENTITY (Date_time)')
Allow the Date_time entity instantiated in this path to be referenced when this template is used.
Note: The Date_time entity can be referenced in a template path by:
%^target = $representing_date_time.date_time%
where target is the parameter to which the Date_time is bound.
time_offset(Type='ENTITY (Time_offset)')
Allow the Time_offset entity instantiated in this path to be referenced when this template is used.
Note: The Time_offset entity can be referenced in a template path by:
%^target = $representing_date_time.time_offset%
where target is the parameter to which the Time_offset is bound.
calendar_date(Type='ENTITY (Calendar_date)')
Allow the Calendar_date entity instantiated in this path to be referenced when this template is used.
Note: The Calendar_date entity can be referenced in a template path by:
%^target = $representing_date_time.calendar_date%
where target is the parameter to which the Calendar_date is bound.
Uniqueness constraints

The following parameter combinations specify a uniqueness constraint:
Unique constraint: Unique calendar date
Each instance of the entity (Calendar_date) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_date_time) namely: year, month, day.
The instance is referenced by the following template parameter: calendar_date.
Unique constraint: Unique time offset
Each instance of the entity (Time_offset) within the data set shall be uniquely identified by a combination of the following parameters on this template (representing_date_time) namely: hour_offset, minute_offset, sense.
The instance is referenced by the following template parameter: time_offset.
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 Date_time entity
Date_time

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

-- Instantiate Calendar_date and point at it
Date_time.date_component -> Calendar_date

-- Instantiate Local_time and point at it
Date_time.time_component -> Local_time

-- Instantiate Time_offset and point at it
Local_time.zone -> Time_offset

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

-- Set the Calendar_date attributes
Calendar_date.year_component -> @year
Calendar_date.month_component -> @month
Calendar_date.day_component -> @day

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

-- Set the Local_time attributes
Local_time.hour_component -> @hour
Local_time.minute_component -> @minute
Local_time.second_component -> @second

-- Set the Time_offset attributes
Time_offset.sense -> @sense
Time_offset.hour_offset -> @hour_offset
Time_offset.minute_offset -> @minute_offset
Instance diagrams
The instance diagram in Figure  3 shows an example of the EXPRESS entities and templates that are instantiated by the template:
/representing_date_time(year='2005', month='11', day='22', hour='15', minute='12', second='00', sense='exact', hour_offset='0', minute_offset='0')/
(an illustration of the consolidated representing_date_time template is shown in Figure 4 below.)


Figure 3 —  Entities instantiated by representing_date_time template

Figure 3 —  Entities instantiated by representing_date_time 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_date_time(year='2005', month='11', day='22', hour='15', minute='12', second='00', sense='exact', hour_offset='0', minute_offset='0')/


Figure 4 —  Instantiation of representing_date_time template

Figure 4 —  Instantiation of representing_date_time template

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