AIXM 5 Temporality Model

Post on 22-Feb-2016

82 views 0 download

Tags:

description

AIXM 5 Temporality Model. xNOTAM Workshop #2 Brussels, 20-21 November 2007 Item 5. European Organisation for the Safety of Air Navigation. Contents. The Temporality Model Applying the Temporality Model Usage Examples. Summary - Time Slice types. - PowerPoint PPT Presentation

Transcript of AIXM 5 Temporality Model

1

AIXM 5 Temporality Model

xNOTAM Workshop #2Brussels, 20-21 November 2007Item 5

European Organisation for the Safety of Air Navigation

2

Contents

The Temporality ModelApplying the Temporality ModelUsage Examples

3

Summary - Time Slice types

BASELINE = A kind of Time Slice that describes the feature state (the set of all feature’s properties) as result of a permanent change;

PERMDELTA = A kind of Time Slice that describes the difference in a feature state as result of a permanent change;

TEMPDELTA = A kind of Time Slice that describes the transitory changes of a feature state during a temporary event;

SNAPSHOT = A kind of Time Slice that describes the state of a feature at a time instant, as result of combining the actual BASELINE Time Slice valid at that time instant with all TEMPDELTA Time Slices applicable at that time instant.

4

An Example: Navaid frequency change

Imagine that AML Navaid undergoes an upgrade that changes its frequency from 112.0 MHz to 113.2 MHz…

5

Building the Temporality Model

Time is essential for AIFor operational reasons, distinction

between:Permanent changesTemporary status

Two levels:Life of the featureChanges in properties

6

Time varying properties

Time

P1

FeatureProperties

value 1 value 2 value 3 value 4

P2 value a value b

P3 value x

P4 value z

P5 value $ value #

7

The basic Time Slice model

Time

P1

FeatureProperties

value 1 value 2 value 3 value 4

P2 value a value b

P3 value x

P4 value z

P5 value $ value #

8

The basic Time Slice model

P1

FeatureProperties

P2

P3

P4

P5

TimeSlices: TS 1 TS 2 TS 3 TS 4 TS 5 TS 6 TS 7 TS 8

9

The basic Time Slice model

P1

FeatureProperties

P2

P3

P4

P5

TimeSlices: TS 1 TS 2 TS 3 TS 4 TS 5 TS 6 TS 7 TS 8

states

10

The basic Time Slice modelUML

11

P1

FeatureProperties

P2

P3

P4

P5

TimeSlices: TS 1 TS 2 TS 3 TS 4 TS 5 TS 6 TS 7 TS 8

temporaryvalue w

TS "temp”

event

Temporary events – digital NOTAM

12

Temporary events

Two kinds of Time SlicesBaseline = describes the

feature state (the set of all feature’s properties) as result of a permanent change;

Temporary Delta = describes the transitory overlay of a feature state during a temporary event.

AIXMFeatureidentifier : CodeUUIDType

<<feature>>

AIXMFeatureTimeSlicevalidTimeinterpretationfeatureLifetimeproperty1property2property3...

1..* +time varying properties1..*

13

The model up to this pointBASELINE & TEMPDELTA

Compliant with the requirements for Completeness - all temporal states must be

representable; Minimalism - use of minimal number of elements; Consistency - no reuse of elements with different

meaning; Context-free - meaning of (atomic) elements

independent of context; no functional dependency of (atomic) elements at the data encoding level;

But, a bit inconvenient for real applications…

14

P1

FeatureProperties

P2

P3

P4

P5

TimeSlices: TS 1 TS 2 TS 3 TS 4 TS 5 TS 6 TS 7 TS 8

temporaryvalue w

Current status of a feature

SNAPSHOT

SNAPSHOT = describes the state of a feature at a time instant, as result of combining the actual BASELINE Time Slice valid at that time instant with all TEMPDELTA Time Slices applicable at that time instant.

15

Permanent changes

Two types of applications:“Pull” Systems - provide an interface by

which a client can query the aeronautical information;

“Push” Systems - generate and transmit to the client notifications about aeronautical information changes.Need to notify a permanent changeNeed to notify “end of life”

16

P1

FeatureProperties

P2

P3

P4

P5

TimeSlices: TS 1 TS 2 TS 3 TS 4 TS 5 TS 6 TS 7 TS 8

temporaryvalue w

TS "temp”

Permanent changes

event

PERMDELTA = A kind of Time Slice that describes the difference in a feature state as result of a permanent change.

17

P1

FeatureProperties

P2

P3

P4

P5

Time

Time Slice Types

PERMDELTA 1(start of life)

PERMDELTA 2 PERMDELTA 3PERMDELTA 4

PERMDELTA 5 PERMDELTA 6PERMDELTA 7

PERMDELTA 8PERMDELTA 9

(end of life)

TEMPDELTA

temporaryvalue w

SNAPSHOT

18

Temporality – something different

999NEW ! - 2

5 %999 999

How much is the TV?

899

Let’s lower prices!

19

Corrections

Information about events that are planned to take place in futureupdate the already communicated informationmay affect “event” Time Slices - of type

PERMDELTA and TEMPDELTA.Solution

Identify Time Slice concerned by a “sequence number”

Also needed: “correctionNumber”

20

Final UML representation

AIXMFeatureidentifier : CodeUUIDType

<<feature>>

AIXMFeatureTimeSlicevalidTimeinterpretationsequenceNumbercorrectionNumberfeatureLifetimeproperty1property2property3...

1..* +time varying properties1..*

AIXMFeaturePropertyGroup<<object>>

1 +propertyGroup1

21

AIXM UML – including

temporality

22

Summary - Time Slice types

BASELINE = A kind of Time Slice that describes the feature state (the set of all feature’s properties) as result of a permanent change;

PERMDELTA = A kind of Time Slice that describes the difference in a feature state as result of a permanent change;

TEMPDELTA = A kind of Time Slice that describes the transitory changes of a feature state during a temporary event;

SNAPSHOT = A kind of Time Slice that describes the state of a feature at a time instant, as result of combining the actual BASELINE Time Slice valid at that time instant with all TEMPDELTA Time Slices applicable at that time instant.

23

Applying the model

Undetermined end of validityMultiple occurring propertiesComplex propertiesIdentifying the feature affectedCancelling a time slice

24

Baseline – undetermined end of validity

BASELINE 8

BASELINE 5

BASELINE 2

BASELINE 4

BASELINE 1

FeatureProperties

BASELINE 3

BASELINE 6

BASELINE 9

PERMDELTA 1(start of life) PERMDELTA 2 PERMDELTA 3

PERMDELTA 4PERMDELTA 5 PERMDELTA 6

PERMDELTA 7PERMDELTA 8

Time

Corrected BASELINES validity B1 Validity B2 B3 B 5 B6 B7 B8

temporary a

SNAPSHOT

TEMPDELTA

25

“Delta” for multiple occurring properties

<AirportHeliportTimeSlice> …. <serves> <City>

<name>…</name> </City> </serves> <serves> <City>

<name>…</name> </City> </serves>…

AirportHeliport

designator : CodeAirportHeliportDesignatorTypename : TextNameTypelocationIndicatorICAO : CodeICAOTypedesignatorIATA : CodeIATATypetype : CodeAirportHeliportTypeprivate : CodeYesNoTypecontrolType : CodeMilitaryOperationsTypereferencePointDescription : TextDescriptionTypefieldElevation : ValDistanceVerticalTypefieldElevationAccuracy : ValDistanceVerticalTypeverticalDatum : CodeVerticalDatumTypelocationDescription : TextDescriptionTypemagneticVariation : ValMagneticVariationTypedateMagneticVariation : DateYearTypemagneticVariationChange : ValMagneticVariationChangeTypereferenceTemperature : ValTemperatureTypealtimeterCheckLocation : TextDescriptionTypesecondaryPowerSupply : TextDescriptionTypewindDirectionIndicator : TextDescriptionTypelandingDirectionIndicator : TextDescriptionTypetransitionAltitude : ValDistanceVerticalTypetransitionLevel : ValFLTypelowestTemperature : ValTemperatureTypeabandoned : CodeYesNoType

<<feature>>

City

name : TextNameType

<<object>>

0..*0..* serves

Rule: Include all occurrences of the <serves> property in a TEMPDELTA or a PERMDELTA!

26

“Delta” for complex properties

<AirportHeliportLimitation> …. <hasApplicableTimes> <Timetable> <workingHours>…</workingHours> <isComposedOf>

<Timesheet>…</Timesheet> </isComposedOf> <isComposedOf>

<Timesheet>…</Timesheet> </isComposedOf> …. </hasApplicableTimes>…Rule: Include the whole complex property!

(“delta” applies strictly to the 1st level of properties!)

AirportHeliportUsageLimitation

codeUsageLimitation : CodeUsageLimitationType

<<object>>

Timesheet

timeReference : CodeTimeReferenceTypestartDate : DateMonthDayTypeendDate : DateMonthDayTypeday : CodeDayTypedayTil : CodeDayTypestartTime : TimeTypestartEvent : CodeTimeEventTypestartTimeRelativeEvent : ValDurationTypestartEventInterpretation : CodeTimeEventCombinationTypeendTime : TimeTypeendEvent : CodeTimeEventTypeendTimeRelativeEvent : ValDurationTypeendEventInterpretation : CodeTimeEventCombinationType

(f rom Time Management)

<<object>>

Timetable(f rom Time Management)

<<object>>0..10..1

hasAppl icableTimes

1

0..*

1

0..*isComposedOf

27

Identifying the feature affected by “delta”

<Feature> <gml:identifier>35149fb2-971f-492c-94c2-5671d4580587</gml:identifier> <timeSlice> <validTime>….</validTime> <interpretation>BASELINE</interpretation> <sequenceNumber>23</sequenceNumber> <property1>….</property1> <property2>….</property2> …. </timeSlice> <timeSlice> <validTime>….</validTime> <interpretation>TEMPDELTA</interpretation> <sequenceNumber>23</sequenceNumber> <property4>….</property4> </timeSlice></Feature>

AIXMFeatureidentifier : CodeUUIDType

<<feature>>

AIXMFeatureTimeSlicevalidTimeinterpretationsequenceNumbercorrectionNumberfeatureLifetimeproperty1property2property3...

1..* +time varying properties1..*

AIXMFeaturePropertyGroup<<object>>

1 +propertyGroup1

28

Cancelling a Time Slice

Indicate a cancellation: validTime is empty Use same sequence number Use a higher correction number

<Feature> <gml:identifier>35149fb2-971f-492c-94c2-5671d4580587</gml:identifier> <timeSlice> <gml:validTime nilReason=“inapplicable” /> <interpretation>PERMDELTA</interpretation> <sequenceNumber>23</sequenceNumber> <correctionNumber>1</correctionNumber> …. </timeSlice></Feature>

29

Other implementation considerations

The temporal model is complete. No requirement on systems to support all the types

of Time Slices E.g. some systems may only store BASELINE Time Slices

and disregard temporary changes Interacting parties should negotiate specific

temporal data exchange requirements

30

Business Rules

These are to be developed. Examples: TEMPDELTA Time Slices cannot change the start

of life and the end of life PERMDELTA shall have a TimeInstant as the

validTime

31

Usage examples

Start of lifeChange of propertiesTemporary situation (digital NOTAM)End of life…

32

Start of life

Feature creation (commissioning)

Feature - gml:identifier

33

Change of properties

Permanent change (amendment) Feature - gml:identifier

34

digital NOTAM

Temporary event

Feature - gml:identifier

Optional: include the BASELINE/SNAPSHOT

35

End of Life

Feature withdrawing (decommissioning) Feature - gml:identifier

Timeslice - validTime = timeInstant… - interpretation = PERMDELTA - sequenceNumber = 3 - endOfLife = same timeInstant…

36

Feature histories

A history can be built up by transmitting the sequence of changes:

37

xNOTAM TimeLine

38

AIXM Temporality document

Now on www.aixm.aero

39

Thank you!