Application module: Date time | ISO/TS 10303-1010:2014-02(E) © ISO |
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;
(*
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
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.
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.
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.
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.
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.
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.
EXPRESS specification:
*)
TYPE
year_number =
INTEGER;
END_TYPE;
(*
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.
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.
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.
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:
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