The general approach of the model is to support two ways of associating procedures and legs:
- a SegmentLeg may be associated directly with the SID, STAR or IAP for which it was originally designed. This is a ‘design view’ of the procedure.
- a series of consecutive SegmentLeg may be associated with a ProcedureTransition, which indicates the order in which these legs are flown in that procedure. Each ProcedureTransition is part of SID, STAR or IAP. This is the ‘operational view’ of a procedure.
The use of transitions involves the classes located on the left side of the following diagram:
If ProcedureTransition is not used, then each SegmentLeg belongs strictly to one SID, STAR or IAP, with the following consequences:
- for example, if two STAR have a common portion, then the legs of the common portion will be encoded twice, once for each of the two STAR;
- it is not possible to indicate the flying order of the legs (there is no sequence number in the SegmentLeg itself).
ProcedureTransitionLeg is an association class. It provides an attribute (sequenceNumber) that is used on the association between ProcedureTransition and a SegmentLeg. The sequenceNumber indicates in which order the different SegmentLegs are used when assembled to compose a ProcedureTransition. In fact, its non-abstract specialisations, such as FinalLeg, IntermediateLeg, etc. are used for the actual data coding.