Application module: Date time ISO/TS 10303-1010:2014-02(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 ARM type definitions
   4.2 ARM entity definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Application module implementation and usage guide
G Change history
Bibliography
Index

4 Information requirements

This clause specifies the information requirements for the Date time application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.

NOTE 1  A graphical representation of the information requirements is given in Annex C.

NOTE 2  The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Date time schema.

EXPRESS specification:

*)
SCHEMA Date_time_arm;
(*

4.1 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.1.1 day_in_month_number   EXPRESS-G

A day_in_month_number is the position of a specified day in a month.

EXPRESS specification:

*)
TYPE day_in_month_number = INTEGER;
WHERE
  WR1: {1 <= SELF <= 31};
END_TYPE;
(*

Formal propositions:

WR1: The value of the integer number shall be between 1 to 31.

4.1.2 hour_in_day   EXPRESS-G

The hour_in_day is the hour element of a specified time on a 24 hour clock. Midnight shall be represented by the value zero.

EXPRESS specification:

*)
TYPE hour_in_day = INTEGER;
WHERE
  WR1: { 0 <= SELF < 24 };
END_TYPE;
(*

Formal propositions:

WR1: The value of the integer number shall be between 0 to 24.

4.1.3 minute_in_hour   EXPRESS-G

A minute_in_hour is the minute element of a specified time.

EXPRESS specification:

*)
TYPE minute_in_hour = INTEGER;
WHERE
  WR1: { 0 <= SELF <= 59 };
END_TYPE;
(*

Formal propositions:

WR1: The value of the integer number shall be between 0 to 59.

4.1.4 month_in_year_number   EXPRESS-G

A month_in_year_number is the position of a specified month in a year.

EXPRESS specification:

*)
TYPE month_in_year_number = INTEGER;
WHERE
  WR1: { 1 <= SELF <= 12 };
END_TYPE;
(*

Formal propositions:

WR1: The value of the integer number shall be between 1 to 12.

4.1.5 offset_orientation   EXPRESS-G

The offset_orientation type specifies the values that may characterize the position of a time zone with respect to the Greenwich meridian.

EXPRESS specification:

*)
TYPE offset_orientation = ENUMERATION OF
   (ahead,
    exact,
    behind);
END_TYPE;
(*

Enumerated item definitions:

ahead: the time zone is located eastward of the Greenwich meridian time zone.

exact: the time zone is the Greenwich meridian time zone;

behind: the time zone is located westward of the Greenwich meridian time zone.

4.1.6 second_in_minute   EXPRESS-G

A second_in_minute is the second element of a specified time.

EXPRESS specification:

*)
TYPE second_in_minute = REAL;
WHERE
  WR1: { 0 <= SELF <= 60.0 };
END_TYPE;
(*

Formal propositions:

WR1: The value of the real number shall be between 0 to 60.0.

4.1.7 year_number   EXPRESS-G

A year_number is the year as defined in the Gregorian calendar.

EXPRESS specification:

*)
TYPE year_number = INTEGER;
END_TYPE;
(*

4.2 ARM entity definitions

This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.

4.2.1 Calendar_date   EXPRESS-GMapping table

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

EXPRESS specification:

*)
ENTITY Calendar_date;
  year_component : year_number;
  month_component : month_in_year_number;
  day_component : day_in_month_number;
END_ENTITY;
(*

Attribute definitions:

year_component: the year element of the Calendar_date.

month_component: the month element of the Calendar_date.

day_component: the day element of the Calendar_date.

4.2.2 Date_time   EXPRESS-GMapping table

A Date_time is a time on a particular day.

EXPRESS specification:

*)
ENTITY Date_time;
  date_component : Calendar_date;
  time_component : Local_time;
END_ENTITY;
(*

Attribute definitions:

date_component: the date element of the date time combination.

time_component: the time element of the date time combination.

4.2.3 Local_time   EXPRESS-GMapping table

A Local_time is a point in time in a day, represented on a 24-hour clock by hour, minute and second. It is expressed in the local time zone and the offset from the Coordinate Universal Time shall be specified.

EXPRESS specification:

*)
ENTITY Local_time;
  hour_component : hour_in_day;
  minute_component : OPTIONAL minute_in_hour;
  second_component : OPTIONAL second_in_minute;
  zone : Time_offset;
END_ENTITY;
(*

Attribute definitions:

hour_component: the number of hours.

minute_component: the number of minutes. The value of this attribute need not be specified.

second_component: the number of seconds. The value of this attribute need not be specified.

zone: the offset applied from the Coordinated Universal Time.

The following formulas apply for the determination of the local time:

4.2.4 Time_offset   EXPRESS-GMapping table

A Time_offset is an oriented offset from Coordinated Universal Time.

EXPRESS specification:

*)
ENTITY Time_offset;
  hour_offset : INTEGER;
  minute_offset : OPTIONAL INTEGER;
  sense : offset_orientation;
DERIVE
  actual_minute_offset : INTEGER := NVL(minute_offset,0);
WHERE
  WR1: { 0 <= hour_offset < 24 };
  WR2: { 0 <= actual_minute_offset <= 59 };
  WR3: NOT (((hour_offset <> 0) OR (actual_minute_offset <>0)) AND (sense = exact));
END_ENTITY;
(*

Attribute definitions:

hour_offset: the number of hours by which a time is offset from Coordinated Universal Time.

minute_offset: the number of minutes by which a time is offset from Coordinated Universal Time. The value of this attribute need not be specified.

sense: the direction of the offset.

actual_minute_offset: the actual value of the minute offset used to compute the Time_offset. The actual value is zero if minute_offset is not specified or is equal to minute_offset.

Formal propositions:

WR1: the hour_offset shall be a positive number, less than 24.

WR2: the actual_minute_offset shall be a non-negative number, less than or equal to 59.

WR3: if the value of sense specifies that there is no offset from the Coordinate Universal Time, hour_offset and actual_minute_offset shall be both equal to zero. If either hour_offset or actual_minute_offset are different from zero, the value of sense shall be specified that there is an offset, either ahead or behind, from the Coordinate Universal Time.



*)
END_SCHEMA;  -- Date_time_arm
(*


© ISO 2014 — All rights reserved