Introduction
...
As explained in the data encoding coding section, this specification supports the encoding of three types of schedules:
- daily schedules, e.g. "daily from 09:00 to 17:00";
- date based schedules, e.g. "1/10 09:00-15:00 and on 3/10 10:00-12:00";
- weekday based schedules, e.g. "every Monday from 13:00 to sunset";
This section provides rules for the automated
...
generation of NOTAM schedules from the
...
equivalent of such AIXM Timesheets. For most Event Scenarios,
...
the resulting schedule
...
is provided in item D of the generated NOTAM. However, if the Event concerns the modification of a baseline schedule, then the new/temporary schedule has to be provided in item E. This is identified in the particular scenarios concerned. The ICAO DOC 8126 and the OPADD rules have been followed in the definition of the text schedule production rules.
...
Production rules
...
AIXM specific terms are used in this section, such as names of features and properties. The abbreviation TS. indicates that the corresponding data item must be taken from the Timesheet(s) of the TEMPDELTA or PERMDELTA TimeSlices created TimeSlice created for the feature associated with the Event, as indicated for each particular scenario.
...
Annotations shall be translated into free text according to the Encoding annotations rules and included in item E. No schedule annotations should be included in item D.
The first step is the identification of the schedule type.
...
Warning |
---|
...
If there are TS.Timesheet elements that have TS.day = 'ANY', TS.startDate and TS.endDate empty, select all of them and decode following the algorithm described by Production rule Daily.
...
If there are TS.Timesheet elements that have TS.day = 'ANY', TS.startDate and TS.endDate not empty, select all of them and decode following the algorithm described by Production rule Dates.
...
If there are TS.Timesheet elements that have TS.day containing a value diffrent to 'ANY' and TS.startDate and TS.endDate empty, select all of them and decode following the algorithm described by Production rule Weekdays.
Production Rule Daily
...
If TS.startTime is used to indicate when the time period included in the schedule starts, go through the direct path. Otherwise, if TS.startEvent is used, go through the alternate path.
...
Format the data contained in TS.startTime and TS.endTime according to NOTAM syntax for this item: hhmm. If the time value of TS.endTime is 24:00 or 24:00:00, then the value “2359” shall be used as hhmm group.
...
If TS.startTimeRelative and TS.endTimeRelativeEvent are used, format the data contained in these elements according to NOTAM syntax for this item by replacing '-' by 'MINUS' and '+' by 'PLUS'.
...
If TS.endTime is used to indicate when the time period included in the schedule ends, go through the direct path. Otherwise, if TS.endEvent is used, go through the alternate path.
...
If there are multiple time periods included in the schedule, sort them by TS.startTime or TS.startEvent. For sorting purpose, consider SR = 0600 LT and SS = 2000 LT.
...
An 'AND' shall be included before the last time period, only if there are no exceptions or if there are exceptions containing just one date or date period.
...
If there are any timesheets containing TS.excluded elements with the value 'YES', denoting a schedule with exceptions, select all of them and go through the direct path, otherwise go through the bypass path.
...
Format the data to show the month abbreviation followed by two digits (MMM DD), eg. AUG 23, according to item D NOTAM syntax. If the month value stored in TS.startDate is identical to the one stored in other TS.startDate elements pertaining to other Timesheets, insert only the day of the month value stored in TS.startDate.
...
If consecutive dates are stored in TS.startDate elements, add a dash between the start date and the end date.
...
An 'AND' shall be included before the last date or date period.
...
Sort the dates or date periods by month and then by day using the dates contained in TS.startDate.
...
Annotations shall be translated into free text according to the Encoding annotations rules.
Production rule Dates
...
| ||
The algorithms proposed for the production rules "Daily", "Dates" and "Weekdays" are the result of a theoretical analysis and they are relatively complex, in particular for "Dates" and "Weekdays". They remain to be validated in practice. Currently (Sep 2023) these algorithms are being used for the implementation of Digital NOTAM in the Eurocontrol iNM system. Feedback from this implementation will be used to validate or to correct/refine these production rules. Any other ongoing implementations are encouraged to share their findings with regard to the correctness/completeness of the proposed production rules for item D/E schedules. |
Reference | Rule |
---|---|
(1) | If |
Format the data to show the month abbreviation followed by two digits (MMM DD), eg. AUG 23, according to item D NOTAM syntax. If the month value stored in TS.startDate is identical to the one stored in TS.startDate pertaining to a previous iteration, insert only the day of the month value stored in TS.startDate.
If the month value stored in TS.endDate is identical to the one stored in TS.startDate, insert only the day of the month value stored in TS.endDate.
If consecutive dates are stores in TS.startDate elements or if consecutive date periods are stored in TS.startDate and TS.endDate elements, add a dash between the start date and the end date.
If TS.startTime is used to indicate when the period included in the schedule starts, go through the direct path. Otherwise, if TS.startEvent is used, go through the alternate path.
Format the data contained in TS.startTime and TS.endTime according to NOTAM syntax for this item: hhmm. If the time value of TS.endTime is 24:00 or 24:00:00, then the value “2359” shall be used as hhmm group.
If TS.startTimeRelative and TS.endTimeRelativeEvent are used, format the data contained in these elements according to NOTAM syntax for this item by replacing '-' by 'MINUS' and '+' by 'PLUS'.
If TS.endTime is used to indicate when the period included in the schedule ends, go through the direct path. Otherwise, if TS.endEvent is used, go through the alternate path.
An 'AND' shall be included before the last time period pertaining to the last date or date period in the schedule, only if there are multiple time periods associated to that date or date range and if there are no exceptions or exceptions containing just one weekday.
Sort the dates or date periods by month and then by day using the dates contained in TS.startDate. Then sort the time periods associated to each date or date period by the value contained in TS.startTime or in TS.startEvent, whichever is used. For sorting purpose, consider SR = 0600 LT and SS = 2000 LT.
A comma shall be used to separate groups of dates or date periods to which the same time periods apply.
An 'AND' shall be included before the last date or date period, only if a single time periods is associated to that date or date range and if there are no exceptions or exceptions containing just one weekday.
If there are any timesheets containing TS.excluded elements with the value 'YES', denoting a schedule with exceptions, select all of them and go through the direct path, otherwise go through the bypass path.
Production Rule Weekdays
If TS.dayTill is used to indicate when the period included in the schedule ends, go through the alternate path, otherwise go through the direct path.
If the schedule comprises identical time periods on consecutive days, add a dash between the start and the end day.
If TS.startTime is used to indicate when the period included in the schedule starts, go through the direct path. Otherwise, if TS.startEvent is used, go through the alternate path.
Format the data contained in TS.startTime and TS.endTime according to NOTAM syntax for this item: hhmm.
If TS.startTimeRelativeEvent and TS.endTimeRelativeEvent are used, format the data contained in these elements according to NOTAM syntax for this item by replacing '-' by 'MINUS' and '+' by 'PLUS'.
If TS.endTime is used to indicate when the period included in the schedule ends, go through the direct path. Otherwise, if TS.endEvent is used, go through the alternate path.
An 'AND' shall be included before the last time period pertaining to the last day or day range in the schedule, only if there are multiple time periods associated to that day or day range and if there are no exceptions or exceptions containing just one date or date range.
Sort the days or day ranges by the value contained in TS.day. Then sort the time periods associated to each day or day range by the value contained in TS.startTime or in TS.startEvent, whichever is used. For sorting purpose, consider SR = 0600 LT and SS = 2000 LT.
A comma shall be used to separate groups of days or day ranges to which the same time periods apply.
An 'AND' shall be included before the last day or day range, only if a single time period is associated to that day or day range and if there are no exceptions or exceptions containing just one date.
If there are any timesheets containing TS.excluded elements with the value 'YES', denoting a schedule with exceptions, select all of them and go through the direct path, otherwise go through the bypass path.
Format the data to show the month abbreviation followed by two digits (MMM DD), eg. AUG 23, according to item D NOTAM syntax.
If consecutive dates are stored in TS.startDate elements, add a dash between the start date and the end date.
An 'AND' shall be included before the last date or date period.
Sort the dates or date periods by month and then by day using the dates contained in TS.startDate.
there are TS.Timesheet elements that do not have excluded='YES' and that have TS.startDate empty, TS.endDate empty and TS.day='ANY', then follow the algorithm described by Production rule Daily. | |
(2) | If there are TS.Timesheet elements that do not have excluded='YES' and that have TS.startDate and TS.endDate not empty, then follow the algorithm described by Production rule Dates. |
(3) | If there are TS.Timesheet elements that do not have excluded='YES' and that have TS.day containing values different from 'ANY', then follow the algorithm described by Production rule Weekdays. |