Académique Documents
Professionnel Documents
Culture Documents
Aerospace Engineering
Examination Committee
Chairperson: Prof. Doutor João Manuel Lage de Miranda Lemos
Supervisor: Prof. Doutor Rodrigo Martins de Matos Ventura
Members of the Commitee: Eng. José dos Santos Vermelhudo
October 2014
Acknowledgments
A thesis is never a one-man show. Mine is no exception and thus I want to express my gratitude
to various people for varied reasons.
For starters, I want to thank my supervisor Prof. Rodrigo Ventura for always being there and
always guiding me in the right direction. Also, for putting me in contact with air traffic controller
Nelson Pimentel, whom I also want to thank for the time dispensed and for all the valuable insight
and material about Santa Maria FIR’s procedures.
Then, I want to thank both the virtual controllers that agreed to take some of their own free time
to help this thesis by accepting to participate in the trials. Thank you José Pereira and Miguel
Frias for helping me make the results of this thesis more reliable.
I also want to leave a note of gratitude to Gergely Csernak, the creator of the air traffic simulator
Euroscope, for helping me throughout the plug-in making. There was not much information about
the subject on the internet and some of the problems could not have been solved without his help.
At least, but not at last, I want to leave a special thanks to my family, friends and girlfriend
that were with me throughout this 6 years of university while I followed a path that led me into
becoming a Master in Aerospace Engineering. Without them, even with the remote possibility of
achievable, that path would have been a lot more boring and lonesome.
iii
Abstract
Because of the significative air traffic increase that has been occurring in the past decades,
automation of Air Traffic Control (ATC) operations can be considered in a long-term as a method to
cope with this problem. The development of Decision Support Tools (DST) to help ATC Operators
(ATCO) diminish their workload is an intermediate step between a possible future of having a
predominantly automated system and a mostly manual, human-controlled one, as in the present.
In the sequel of a previous MSc thesis at IST, a DST for controllers of enroute positions was
made. The DST receives a flight scenario and finds an optimal solution that prevents conflicts
until the end of the aircraft trajectories within a given Flight Information Region (FIR). Simulations
were conducted with various scenario files with different traffic density and complexity and the
DST proved its robustness.
In order to transform a concept into a DST that is fully integrated with the ATCO system, there
are numerous stages. This thesis aims at looking into two of those stages: transform the previ-
ously created DST into a real-time, integrated with an air traffic simulation environment DST; test
it with ATCOs to evaluate its usability. A plug-in was made in order to make the bridge between
the DST and the air traffic simulator and the specific problem of oceanic airspace was taken into
account as a case study.
v
Resumo
Devido ao aumento significativo de tráfego aéreo que se tem verificado nas últimas décadas,
a automação de operações do Controlo de Tráfego Aéreo (Air Traffic Control, ATC) pode ser
considerada uma metodologia de longo prazo para resolver este problema. O desenvolvimento
de Ferramentas de Ajuda à Decisão (Decision Support Tools, DST) para ajudar os Controladores
de Tráfego Aéreo (ATC Operators, ATCOs) a diminuir a sua carga de trabalho é um meio-termo
entre um possível futuro de ter um sistema predominantemente automatizado e um manual,
controlado por humanos, como o que se verifica atualmente.
Na sequência de uma tese MSc realizada no IST, uma DST para controladores que supervi-
sionam a fase de cruzeiro foi efetuada. Esta DST recebe um cenário com voos e encontra uma
solução ótima até ao fim das trajetórias dos aviões numa dada Região de Informação de Voo
(Flight Information Rules, FIR). Várias simulações foram conduzidas com um leque variado de
densidades e complexidades de tráfego, tendo a DST provado a sua robustez.
Há muitas etapas a seguir de forma a transformar um conceito numa DST integrada com o
sistema de ATC. Esta tese olha para duas delas: transformar a DST previamente criada numa
em tempo real e integrada com um sistema de simulação de tráfego aéreo; testá-la com ATCOs
de forma a atestar a sua funcionalidade. De modo a fazer a ponte entre a DST e o simulador de
tráfego aéreo, criou-se e testou-se um plug-in para o caso específico do controlo oceânico.
vii
Contents
Abstract v
Resumo vii
List of Figures xi
Nomenclature xv
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Limitation of the DST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 State of the art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Thesis contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 System Architecture 5
2.1 DST description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Trajectory prediction routine . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Conflict detection and resolution routine . . . . . . . . . . . . . . . . . . . . 6
2.1.3 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Plug-in communication with the DST . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Input/Output analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Simulated time to real-time . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 Limitations and solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.5 Impossibility of using the interactive solution . . . . . . . . . . . . . . . . . . 17
ix
3.2.3 Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.4 Designed interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.5 Plug-in - DST connection periodicity . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Additional window for Euroscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5 Conclusions 47
5.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Bibliography 51
x
List of Figures
xi
List of Tables
2.1 Example of flight plan for aircraft that is already inside the LPPO . . . . . . . . . . 13
2.2 Differences between the call to the DST, before and after the solution was applied 17
xiii
Nomenclature
Acronyms
FL Flight Level
xv
Chapter 1
Introduction
1.1 Motivation
Air traffic demand is anticipated to grow substantially in the next decades. European Organi-
zation for the Safety of Air Navigation (EUROCONTROL) projects in its air traffic flow forecast for
2012-2035 [1] that, in the most-likely scenario, 14.4 million flights will be handled by the states
of EUROCONTROL en route traffic control centers in 2035, as compared to 9.5 million aircraft
handled in 2012 – an increase of 50% by 2035 is expected. This predicted increase can only be
verified if the capacity for managing considerable higher traffic than today can be provided.
At this moment, the main factor restricting en route capacity is the high Air Traffic Control Offi-
cer’s (ATCO) workload, due to the constant need of providing proper separation between aircraft.
So, in order to keep the ATCO’s workload at a bearable level, automation in the form of Decision
Support Tools (DSTs) need to take a more active role in Air Traffic Management (ATM).
The current strategies for automation differ on the level of involvement that they require from
controllers. The best ones in near-term are still human-in-the-loop approaches, where the DST
includes the ATCO in the decision loop and thus makes the whole process more trustworthy in
the ATCO’s eyes. A study on ATCOs behavior performed by the National Aerospace Laboratory
of Netherlands in 2003 [2] shows that by completely removing the human from the control loop,
entrusting him with the role of passive monitor only, automation can hinder the operator’s ability to
maintain an adequate mental representation of the system, as well as inhibit his ability to quickly
reassure manual system in case of emergency – this phenomenon has been referred to as out-
of-the-loop unfamiliarity problem (Wickens [3] in 1992).
An interactive DST inserted in the human-in-the-loop automation strategy, supervising the
cruise phase of flights was done as part of a thesis at Instituto Superior Técnico [4] in 2013.
Given a flight scenario with multiple aircraft, the DST detects all potential conflicts inside a given
Flight Information Rules (FIR) throughout a finite time horizon and proposes a solution consisting
of Air Traffic Control (ATC) instructions to the operator that prevent the referred conflicts.
DST’s solutions are guaranteed to be optimal and the instructions given within them are only
in the form of Flight Level (FL) changes and delivered at reported fixes only, both policies imple-
mented so as to comply with the conventional oceanic ATC procedures that are currently done.
The DST was developed using the Python language and its validity was assessed through exper-
imental data.
The ATM system is a 24-hour, 7-day-a-week operation and any technological improvement
needs to be fully scrutinized before implemented. Thus, the stages and time behind the transfor-
1
mation of an idea, a concept into an actual DST validated to be used by real controllers in real
ATM are often very numerous and lengthy. Matos and Marsh [5] describe the stages for valida-
tion of a new decision support system and conclude that the validation of the early stages is of
extreme importance since it enables the study of how a new system of people and machines will
behave, before reaching a situation when it would be very costly to go back or to make changes.
This thesis proposes to take the previously made DST into the next steps of the validation
process, necessary for every DST present in the ATM system, focusing on two of those important
stages: first evolve it from the offline and limited DST that was previously created into an online
and fully integrated – in the form of a plug-in – with a simulated ATM environment DST; then, test
it with ATCOs to attest for its functionality.
Regarding the plug-in making phase, some considerations must be taken into account. It was
shown – again in the study done by the National Aerospace Laboratory [2] – that even in human-
in-the-loop approach, where humans are involved in the control loop, special attention when de-
signing the DST is needed in order to truly benefit the ATCO’s workload. If not, the controller, for
lack of trusting and understanding about the DST, will run a simultaneous self-derived solution and
a subsequent comparison with the automation’s solution which will increase the mental workload.
Kirlik in 1993 [6] demonstrated that an automated aid can go unused if the cost of initiating the
aid, considering its advice, generating one’s own solution and comparing solutions becomes too
high.
Thus, attention was paid when building the plug-in: making it the maximum intuitive as possible
and adding some pre-simulation high level explanation about the DST’s way of finding solutions.
This way ATCOs, by working with a cognitive tool and having some insight about the DST, are
more likely to trust the DST’s provided solutions and to find them transparent, i.e. easy to deter-
mine if they are correct or not.
1.2 Objectives
The objective of this thesis is to integrate the previously constructed DST with an ATM simulation
system, in the form of a plug-in, with the goal of evaluating it when integrated with the man-
machine interface used in the ATCO training. The thesis was divided in two phases:
1. Integrate the DST with the ATM simulation system by constructing the necessary middle-
ware. The built middleware should:
a) Feed the DST with the list of active flight plans with oceanic clearance;
b) Feed the DST with the aircraft’s reports in real-time;
c) Show, in the interface, the list of suggested decisions calculated by the DST;
d) Allow the ATCO the possibility to withhold the suggested decisions while informing the
DST of that withholding. A new lot of suggested decisions may be given.
2. Evaluate qualitatively the developed system, resorting to a set of ATCOs who were to be
subjected to a number of tests. For comparison effects, they would be tested in the simulated
scenarios with and without the usage of the DST.
2
1.2.1 Limitation of the DST
At a time when most of the plug-in’s construction was already carried out, it was discovered
a bug in the thesis where the DST was developed [4] that could not be solved – more on this in
chapter 2. This bug was deterrent of having the interactive part of the plug-in implemented, i.e.
point 1d of the initial objectives.
Because of this, a redefinition in the thesis objectives had to took place and the interactive part
of it had to be withdrawn. Thus, the ATCOs had to be relegated to a role of settling for the DST’s
suggested set of instructions, instead of collaborating with it in search for better suited solutions.
Throughout this thesis is still presented the work and research made on the plug-in construc-
tion under the initial objectives – since the work was carried out and is still valid under different
conditions – and the differences between that and the one designed because of the objectives
reformulation are explained along the way.
ATM automation has been extensively researched in the past decades and many projects have
been made in order not only to simulate the ATM environment but also to test it with different
DSTs, so as to serve as ground-base for important steps in the validation of a DST.
One of these projects is the Highly Interactive Problem Solver (HIPS). It is a software for visu-
alization and solution of aircraft conflict situations, developed at EUROCONTROL Experimental
Centre as part of the Programme for Harmonised ATM Research in EUROCONTROL (PHARE)
project in 1994 [7] and has been largely used since then, e.g. to assess its applicability to oceanic
control [8].
Other DSTs have been tested with ATCOs in other simulated ATM environments for many flight
situations in [9, 10, 11] and in special for en route flights where results of interest go back to the
work of Picardi [12] in 1998.
Work on interactive, human-in-the-loop simulations has been done by Brennan et. al. [13] and
with the partnership of several important entities in the ATM world, namely EUROCONTROL [14]
in 2005 and National Aeronautics and Space Administration (NASA) [15] in 2011.
The human side of automation, the effects to performance and mental workload of ATCOs have
gained interest in the past years since many of the developed DSTs are failing their purposes:
diminish controllers’ workload. There are important studies on that subject performed by Wickens
[16] in 2000 and Major et. al.[17] in 2004. Parasuraman and Metzger [18] in 2005 examine
and compare the performance of controllers, under conditions of shared decision making, in the
presence of both perfect and imperfect automation tools while Sanchez, Krumbholz and Silva [19]
in 2010 discuss what shall be the role of the controllers in the Next Generation Air Transportation
System (NextGen).
3
1.4 Thesis contributions
This thesis contributes to the area of ATC automation, by evaluating a DST for en route con-
trollers through the integration in a simulated ATM environment.
Also, and taking into account the specific problem of oceanic airspace as a case study, a pilot
test with two virtual ATCOs was conducted during the 11th of October 2014 in IST in order to eval-
uate the developed system. The level of controllers’ workload while controlling with and without
the DST and their acceptance regarding the plug-in interface and DST functioning were inquired.
• Chapter 5: Conclusions
In this last chapter the main conclusions coupled with suggestions for future work are dis-
cussed.
4
Chapter 2
System Architecture
In this chapter we will describe the DST’s way of working in section 2.1, in a brief manner but
not so brief so as to allow readers to understand what is behind this thesis and the reasons that
led us into doing it.
It will also be pointed out which were the areas where margin for improvements was found
and the result that came from that finding, which can be one of the two following: some areas
that could and were improved and others that could not, thus standing as limitations and where
workarounds had to be found. Both those areas, as well as the communication between the
plug-in and the DST are discussed in section 2.2.
In the end of section 2.2, an encountered limitation to the thesis hindering the interactive part
of this work is discussed in detail.
The referred DST is the result of a MSc thesis made at IST in 2013 by Francisco Freitas,
supervised by Professors Rodrigo Ventura and Miguel Barão and is going to be described within
in this section.
In order to detect future possible conflicts between aircraft, a routine that simulated their fu-
ture trajectories was necessary. Thus, an algorithm that uses built-in information from the Base
of Aircraft Data (BADA) – developed and maintained by EUROCONTROL – that gives precise
information about each aircraft’s performance model was calculated.
The algorithm uses spherical coordinates with quaternion algebra (see Chapter 2 of [4] for more
information on the quaternions) to account for the curvature of the Earth and so that the aircraft
constantly adjusts its heading angle in order to follow a Great Circle path between waypoints.
When it comes to dealing with unpredictable factors, the trajectory prediction algorithm takes
into account the uncertainty that wind causes on the ground speed and therefore on the Estimated
Time of Arrival (ETA) at waypoints. Wind is modeled assuming a Gaussian distribution.
5
2.1.2 Conflict detection and resolution routine
Conflict Detection and Resolution (CD&R) algorithm’s – which constantly uses the trajectory
prediction algorithm mentioned before – function is to find the global set of plans that solve a
traffic scenario i.e. that allow the completion of the simulation of that traffic scenario within a given
time window without any conflicts happening. The detection of conflicts is done by analysing at
any given moment the horizontal and vertical separation minima for each pair of aircraft in the
traffic scenario. If both are being violated, the aircraft-pair is assumed to be conflicting.
Every conflict-free plan is further scrutinized by running a robustness check consisting of a
Monte Carlo simulation1 with random wind as the uncertainty model.
In order to evaluate and rank all the found plans, and thus allowing the best one (optimal
solution) to be presented to the user, a cost function was constructed. Taking into account both
the controller’s workload and the concept of efficiency2 , the chosen criteria to try and lower were:
• Number of instructions, N
Including N, the total amount of instructions that are issued by an ATCO within a given
time window, in the cost function serves the purpose of keeping the ATCO’s workload at an
acceptable level.
• Deviation cost, D
So as to minimize the distance flown by aircraft in other FL than the Requested Flight Level
(RFL) and thus maxime efficiency, vertical deviation from the Filed Flight Plan (FFP) was
measured and included in the cost function. Cost D depends on the distance between
waypoints where the instructions take place and on the vertical distance between the RFL
and the flown FL. E.g. figure 2.1 – taken and modified from [4] – where the blue line indicates
the trajectory requested in the FFP and the red line indicates the trajectory change that is
ordered by the CD&R algorithm and that transforms the FFP in a different, Current Flight
Plan (CFP). The grey area corresponds to the deviation integral – cost D is the sum of all
deviation integrals in a given solution – that is essentially the multiplication of the distance
between waypoints 43N020W and 43N030W by the difference between the RFL and the
flown FL (1000 ft in the example of figure 2.1).
Finally, the chosen cost function was:
f = λN N + λD D (2.1)
where λN and λD are weight coefficients. These parameters may be adjusted to benefit one of
the criteria over the other: specifying λN λD causes the CD&R algorithm to instruct aircraft to
fly as closely to their FFP as possible, no matter how many instructions it takes; setting λN λD
causes the algorithm to choose the solutions with as few instructions as possible, neglecting
vertical deviation from the RFLs.
1A computerized mathematical technique used to assess the impact risk of every possible outcome, allowing for better
decision making under uncertainty.
2 Efficiency is a measure of how closely an aircraft flies its designated flight plan, as defined by Krozel et. al in [20].
6
Figure 2.1: Deviation integral illustration
In the interest of reducing the computational time while still finding the optimal solution, branch-
and-bound algorithm with a depth-first configuration was used. This search algorithm is complete
since it always finds a solution, as long as at least one exists.
The search method receives the traffic scenario file, the upper bounds that restrict criteria N
λN
and D – Nmax and Dmax respectively – and the criteria weight ratio λD
and outputs the optimal
plan for that weight ratio. The way in which Nmax and Dmax restrictions are generated is going to
be explained further in this subsection (subsubsection 2.1.2.3).
Starting at the beginning of the simulation, the search algorithm advances in time and when-
ever a flight passes by some route waypoint a node with several branches, corresponding to the
possible FLs where the aircraft can be allocated, is generated. With the help of the cost function
introduced in equation (2.1), the branch with lower cost is expanded and the instruction result-
ing from that branch is used to predict the trajectory of the aircraft between its current and next
waypoints.
A conflict detection is then executed in the calculated trajectories between the current node
and the next node. If a conflict is detected between two aircraft, the algorithm analyzes the stack
of nodes until it finds one referring those aircraft, resuming the search at that point. Else, the
algorithm checks to see if the current node is a terminal node – a terminal node (or solution plan)
is found when the simulation time window limit is reached or when every aircraft has already
abandoned the controlled airspace – and if so, a robustness check is carried out.
If a conflict is detected by the robustness check, the algorithm back jumps to a node involving
one of the aircraft present in the conflict and if not, the terminal node is considered a solution to
the traffic scenario that was inputted. After the first solution plan, upper bounds for Nmax and
Dmax are available, and may be used to prune branches, diminishing the computational time –
e.g. see subsubsection 2.1.2.3.
7
2.1.2.3 Interactive solution
At this phase, with two criteria to try and lower, the concept of optimal solution for a given
problem vanished since a solution might minimize one criteria but not the other. Instead, Pareto
optimal solutions (also known as Pareto front) came into place and a strategy regarding how these
solutions were calculated had to be chosen. Between the following three categories of strategies,
that differ on how they calculate the Pareto front and on how much the user has to be involved: a
priori methods, a posteriori methods and interactive methods – the last one was chosen.
In the interactive approach, the algorithm alternates between phases of calculation and phases
of interaction with the user, allowing him to participate in the optimization process by answering
some algorithm’s queries. The main advantages of this approach are that, unlike the a posteriori
one, it avoids the calculation of the whole Pareto front, thus saving both time and memory, and
that it allows the user to set his preferences based on some knowledge about the Pareto front,
unlike the a priori approaches. On the other hand, the main flaw of the interactive methods is that
when the user states his preferences, his knowing about the Pareto front might not be sufficiently
broad, which can ultimately lead to settling for solutions that are local bests and far from global
bests.
To better understand how the Pareto front equipped with the interactive approach works, let us
λN
observe figure 2.2, taken from [4] ( λD
stays the same in the four sub-figures).
So at the beginning, Nmax and Dmax are initialized as infinite since no restrictions exist yet and
the vector that saves the Pareto front solutions, ParetoList is initialized as empty. The branch-
and-bound algorithm starts working and assuming that the given scenario is solvable, a particular
solution S1 with N1 instructions and D1 deviation cost is found and added to the ParetoList –
figure 2.2a.
At this point the user is confronted with the first decision: either accept the solution S1 or request
the calculation of more inside region I (where N < N1 ) or inside region II (where D < D1 ),
both depicted in figure 2.2b. Note that in this figure (as well as in figures 2.2c and 2.2d) red
areas correspond to the Pruned solutions, where solutions have more N and more D than the
previously found solutions and thus deterring them from belonging to the Pareto front. The grey
regions represent areas where no solutions to the scenario can be found because they would
have less N and less D than some solution in the Pareto front, condition that would guarantee
that they would have been returned by the algorithm instead. E.g. if there was any solution in the
grey area of figure 2.2b, it would have N < N1 and D < D1 which would cause the return of that
same solution instead of S1 .
Supposing now that the user rejects the given solution S1 and requests another with N smaller
than N1 – region I of figure 2.2b. A second Pareto front solution S2 is then found – figure 2.2c –
and presented to the user. Now, there are three possible regions to look out for more Pareto front
solutions: region I (where N < N2 ), region II (where D < D2 and N < N1 ) and region III (where
D < D1 ).
Presuming that the user is not yet happy with the solution and wants to explore region II now,
takes us to a solution S3 – figure 2.2d. At this point, the user is happy with the resulting solution
and accepts it, which causes the interactive algorithm to exit.
8
(a) First found solution -S1 (b) First decision to be taken by the ATCO
9
2.1.3 Assumptions
Some assumptions were made in order to define the simulation framework. They were:
• Airspace
The special case of oceanic airspace, where conventional ATC is still used due to the lack of
radar coverage, was used as a case study and the chosen FIR where the simulations were
to take place was Santa Maria (the International Civil Air Navigation (ICAO) code for Santa
Maria FIR is LPPO and that is how it is going to be referred from this point on).
As a simplification, LPPO’s radar was ignored and thus aircraft flying inside LPPO were
assumed to be outside radar coverage. Also, since the DST is focused on the cruise phase
of flights, Santa Maria terminal area was neglected.
• Type of instructions
Because of the lack of radar coverage in most oceanic airspace and so of the possibility
to access the aircraft’s position in real-time, horizontal and speed change maneuvers are
3 The altitude at which the aircraft is unable to produce a given rate of climb (typically of 100 ft per minute).
10
rarely used by ATCOs as they are not effective when comparing to continental radar ATC.
On the other hand, vertical maneuvers, backed with the modern aircraft autopilot’s ability to
measure and maintain a precise altitude, provide a safe way to ensure separation, even with
some horizontal position uncertainty.
Thus, most detected conflicts in oceanic airspace are solved by ATCOs resorting to vertical
instructions and hence the developed DST utilizes vertical instructions only when solving
conflicts.
• Separation minima
Since the chosen portion of the airspace was one where the RSVM rules apply, the chosen
vertical separation minima used to detect conflicts in the CD&R algorithm, in accordance to
the RSVM rules – present in [21] – was:
– Vertical separation minimum: 1000 ft
On the other hand, it was demonstrated in the implementation plan present in [22] that
the standard horizontal separation of 50 NM (nautical miles), – in accordance with PANS
ATM Doc. 444, [23] – already in use in most North Atlantic (NAT) airspace, could be safely
implemented in LPPO. The used horizontal separation minima was therefore:
– Horizontal separation minimum: 50 NM;
• Aircraft models
All simulated aircraft were Airbus 320 models. The reason being that it was the only model
for which the Flight Management System (FMS) gain parameters were devised. The FMS
gains are needed to correctly simulate the trajectory prediction of each aircraft.
2.1.4 Results
Running time trun is important when analysing the effectiveness of the DST and thus it was
studied through a test with multiple simulations with random traffic scenarios. Its evolution as a
function of the number of flights NF is depicted in figure 2.3, taken from [4], where one can see
that it verifies an exponential increase. Keeping in mind that the trun is that of searching the
optimal solution, the results seen in figure 2.3 are satisfactory. More on this subject is going to be
discussed in subsection 2.2.3.
As for the running time, memory usage was analysed by running several simulations with ran-
dom traffic scenarios for each NF, and it was shown that a linear increase was verified in memory
usage. Memory was therefore not a concern.
11
Figure 2.3: Mean values for trun as a function of NF
A high variety of simulations with different traffic density and complexity were conducted and
the DST proved its robustness. The results were considered very good and the DST seemed
ready for the next step, i.e. test it with ATCOs.
1. Scenario: it provides the DST with the information about the current time, the total number
Figure 2.4: Scheme of the communication between the plug-in and the DST
12
Callsign IBE201
Departure LEMD
Destination SPIM
Model A320
Airspeed 410
Route ELVAR,IRKID,33N20W,28N30W,23N40W,15N50W,
Flight Profile 360,360,360,360,360,360,
State Inside
Last Waypoint 33N20W
Reported Time 1353
Last FL 360
Table 2.1: Example of flight plan for aircraft that is already inside the LPPO
of aircraft present in the actual scenario as well as the flight plans for every aircraft;
λN
2. λD
: the criteria weight ratio. It remains constant during a simulation;
The flight plans that are contained in the scenario file are structures constituted by the following
fields: Callsign (a string that is unique for each flight and that identifies it), Departure and Des-
tination (ICAO codes for departure and destination airports respectively), Model (model of the
aircraft), Airspeed (the requested cruise airspeed in knots), Route (the sequence of waypoints
to be followed by the aircraft), Flight Profile (the RFL for each route segment) and the State (the
current state of the aircraft that could either be outside the oceanic FIR and Planned to enter it or
already Inside the oceanic FIR) followed by the ETE (Estimated Time of Entrance in the oceanic
FIR) if Planned or by the Last Waypoint (last waypoint where the aircraft reported), the Report
Time (time when the aircraft gave the last report) and the Last FL (the FL of the aircraft when the
last report was made) if Inside. E.g. see table 2.1 to see an example of a flight plan of an aircraft
that is already inside the LPPO.
On the other hand, the input of the plug-in (and output of the DST), referred as Solution in
figure 2.4, is the set of instructions that solve the inputted scenario with the given restrictions and
that are going to be presented to the ATCO by the plug-in’s interface.
13
In our case however, the simulation is in real-time and as the conditions of the simulation are
often changing (e.g. some aircraft arrives at its next waypoint 10 minutes past the prediction time)
new calls to the DST are needed every time some aircraft arrives at its next waypoint or each time
a new aircraft enters the simulation. Thus, the connection between plug-in and DST is necessary
dozens of times during a session.
The solution for this conversion from offline to real-time was pretty straight-forward, just change
the State and its derivatives (ETE for Planned aircraft and Last Waypoint,Reported Time and Last
FL for Inside aircraft) as simulation progresses and aircraft get to their next waypoints and add the
flight plan of newly simulated aircraft. We will discuss in subsection 2.2.4 the limitation that arose
from this new way of using the DST.
2.2.3 Improvements
In order to better interact with the plug-in and so that the experience for the ATCOs was the
most alike real ATC as possible, some improvements were made to the DST’s algorithms:
• Anytime algorithm
During the testing phase of the DST, as one can see in figure 2.3, the trun when searching
for an optimal solution was found to be quite big in some cases. E.g. for a NF of 40 the
mean value for trun is approximately 630 seconds (10 minutes and 30 seconds). Test the
DST with ATCOs and allow for that kind of wait for a solution is inconceivable since a real
controlled environment can change considerably during that waiting period.
The solution to this problem consisted on applying an anytime algorithm to the DST. Each
loop of the DST’s solution finding would be tested to check if a pre-defined trun was already
reached. If so, and if there was one or more found solutions (non-optimal ones), the algo-
rithm forced the return of the last found (and better for that matter) solution. Else, if trun
was passed but there were not solutions yet, the DST’s solution finding kept running until a
solution was found, moment where that same solution was returned.
4 Zulu time is used in the military and in navigation as a term for Coordinated Universal Time (UTC).
14
The adopted strategy allows to combine the better of two worlds: first take advantage of the
better optimal solution finding strategy while an acceptable trun is not reached; then adopt
a slightly worse non-optimal solution finding strategy while not allowing ludicrous trun to be
reached and therefore allowing the ATCO testing to take place.
• Other
Many other minor alterations were done in order to correct some things or to adapt the DST
to the plug-in. E.g. the border points connecting Piarco FIR and LPPO did not exist so they
were added in the appropriate routine; the visual part of every DST’s algorithm was removed
since it would be of no use to the C++ user, also reducing the running time in a small, but
important, amount.
15
Figure 2.5: Scenario demonstrating a conflict between two aircraft flying inside LPPO
16
Before After
BER341 -
EDDL -
SKBO -
A320 -
410 -
28N30W,35N25W,40N20W,GONAN -
360,360,360,360, 360,350,350,360,
Inside -
1141 -
28N30W -
360 350
Table 2.2: Differences between the call to the DST, before and after the solution was applied. The “-”
means that no change was made in that field
That means that, the third time a call to the DST (third time and not second because the KLM113
passes first at waypoint 40N20W, generating a new call to the DST. This new and second call has
the same solution as the first one) is made, the DST just assumes that the RFL of the BER341
aircraft is FL350 instead of FL360 and chooses not to “waste” any more instructions on that
aircraft. The DST’s way of thinking is: if the aircraft can stay in its current flight level and not
conflict with any other aircraft, why waste any other instruction on it?
In order to solve this it was noticed that, to the DST’s eyes, there are two kinds of instructions:
the ones that solve conflicts and the ones that take the aircraft to their RFL. The above described
problem only took place in the second type of instructions since while the conflict is present the
first type of instructions will keep on being given. After realizing that, it was a matter of making
the plug-in differentiate between the two kinds of instructions. So, when the plug-in notices that
one of the instructions is of that type, it makes some changes to the supposedly unchangeable
flight plan that passes to the DST in order to make the algorithm realize the second instruction is
necessary – see table 2.2 where the flight profile and the FL of the report from the last waypoint
28N30W were modified in order to produce the wanted results.
Another limitation of the DST was that before everything about the scenario was known and the
number of aircraft present in it did not change throughout the duration of the simulation. In ours
(and in real ATC), however, often there are airplanes that only enter the controlled FIR after some
amount of time. Therefore, one of those delayed airplanes can have a conflict that is impossible
to solve with one the pre-existing aircraft inside the FIR. To solve this, only traffic scenario files
where this does not happen were considered. Solve this limitation in the DST falls behind the
purpose of this thesis and it is simply left as a suggestion for future work.
17
interesting aspects to evaluate the human and DST interaction.
Thus, attempts to resolve the bug were extensively made by me and by the own creator of
the DST, all having the same result: insuccess. After some time trying to solve the problem, it
was decided that no more time should be invested in solving the bug and instead it would stand
as a limitation for this thesis while the reasons for that were: the objectives of this thesis did
not contemplate solving other thesis’ code; the continuation of the bug solving attempt would
compromise even more the appropriate time window to finish the thesis.
So, the scheme of communication between the plug-in and the DST depicted in figure 2.4 had
to be simplified to the one in figure 2.6 where one can observe that the feeding of restrictions –
for both criteria N and D – to the DST is no longer made.
Figure 2.6: New scheme of the communication between the plug-in and the DST
18
Chapter 3
3.1.1 Interface
Figure 3.1 shows a print screen of Euroscope’s environment while figure 3.2 shows a zoom in
of that previous one to show an area of interest in more detail. In red we have the limits of LPPO,
in yellow the geography of Azores islands and in grey the TAGs of the multiple aircraft present
in this specific simulation. TAGs show the controller the relevant and available information about
the flight situation and they can be Untagged and show only the squawk code and the FL of the
aircraft or Detailed and show every piece of information that we want like the callsign, the aircraft
type, the destination, the cleared FL, etc. An example for each TAG can be observed in figure
3.2, where an example for an Untagged flight is the one with squawk code 4237 and FL390 and
an example for a Detailed one is aircraft with callsign IBE6464 in the same figure.
19
Figure 3.1: Print screen of the simulation environment Euroscope
At the top of the window, there are multiple options for the simulation as well as for the Eu-
roscope graphics and at the bottom the chat box used to receive messages from the VATSIM
server – irrelevant for our purposes – as well as the command line, where ATCOs can make use
of important commands, can be seen.
3.1.2 Functionalities
EuroScope is a state-of-the-art ATC client software for virtual ATC enthusiasts that combines
features obtained from real life radar software and also from years of online controlling experience.
It features an innovative display and handling of controlled airspace and a built-in simulator for
Figure 3.2: Zoom in of figure 3.1 to show different aircraft in greater detail
20
training purposes and it is widely used by virtual ATCOs for its innumerous functionalities and
display, which allow for as real as it gets controlling over simulated aircraft.
Besides the many obvious functionalities that Euroscope has to offer, some more hidden need
to be highlighted for their relevance in the scope of this thesis:
• Command line
The command line seen previously in figure 3.1 has many functions where the three most
important for ATCOs in our case are: .find followed by a callsign to find a specific airplane
in the simulation, .distance followed by two objects – objects can be all aircraft, fixes, co-
ordinates, VHF Omnidirectional Range (VOR) stations and Non-directional Beacon (NDB)
radio towers present in the simulation – which gives the distance between those objects and
also pops the distance data in light yellow on top of the screen, constantly actualizing that
information – important to keep observing the distance of an aircraft to its next waypoint for
example – and .sep followed by two aircraft’s callsigns, which gives the closest point of their
converging paths and the estimated time to reach that point.
The two last functions can also be accessed by buttons that are present on top of Euro-
scope’s window.
• Trajectory prediction
Let us note in figure 3.2 the blue path that has origin in IBE6464 flight and intersects way-
points 37N20W and PORLI. That path is not normally presented in the radar screen, but
instead is a handy function of Euroscope which allows to see the aircraft trajectory and the
ETA to each waypoint of its future route. This function will be intensively used by ATCOs
testing the plug-in so as to keep track of the aircraft’s next waypoints as well as the estimated
times at which orders can be issued to them.
The pilot minimum and maximum delay determines how fast the pilot will respond to an
order. For every order made in the simulation, the aircraft will respond and start following
it by random seconds of time between the minimum and the maximum value. By omission,
these parameters assume values of 12 and 17 seconds respectively seconds – values that
were measured by real-life controllers as average response time.
3.2.1 Objectives
The objective of this plug-in was to integrate the DST from chapter 2 with the previously pre-
sented simulation environment Euroscope.
The plug-in would be designed so as to constantly feed the DST with flight plans and up-to-date
information about aircraft’s reports and to have an interface allowing the solutions from the DST
to be presented to the ATCOs.
21
So as to fulfill the above mentioned requirements, a child window – interface-wise – of Euro-
scope was created and a bridge between plug-in and DST was constructed to allow the connection
between the two platforms, i.e. plug-in and DST.
Euroscope 3.1d is programmed in C++ using MFC. That is why, in order to develop a Dynamic-
Link Library (DLL) plug-in that could be loaded into any computer running Euroscope, Visual C++
in Microsoft Visual Studio 2012 was chosen.
Python 2.7.4 was also extensively used to make the discussed alterations in the DST – subsec-
tion 2.2.3 in chapter 2 – and to make the bridge routine Bridge.py that called the multiple DST’s
algorithms and properly handled the responses from them.
Since the plug-in was going to be constructed in C++ and the language in which the DST’s algo-
rithms had been written was Python, some solutions to guarantee a proper connection between
the languages were considered and studied: Cython1 , protocol buffers2 , simple sockets, ØMQ3
and embedding Python in C++ using the Python/C Application Programming Interface (API)4 (not
be confused with extending Python. They are similar in some aspects but while in the first the
main program is in a different language, while extending, the main program of the application is
still the Python interpreter).
The latter was chosen. It works by embedding the Python interpreter in the plug-in and using
the Python/C API to run Python scripts inside the plug-in. This practice of using built-in scripting
languages – Python in this case – has been largely at use for example in game engines where
the graphics and low-level artificial intelligence are written in C++ while the scripts – in another
language – control high-level scripted events, map generation, etc.
Some of the reasons for choosing embedding over other plausible options were:
3. It involved an API made by Python specially for that matter, which is always good since
Python reference manuals are generally very thorough;
4. Python scripts do not need to be opened unlike for the sockets strategies;
6. Once Python interpreter is initialized and the modules are loaded for the first time (≈10
seconds of duration) the connection between the two languages is achieved really fast,
almost instantly (measured at 0.0093 milliseconds).
1 http://cython.org/
2 https://code.google.com/p/protobuf/
3 http://zeromq.org/
4 Reference manual: https://docs.python.org/2/c-api/
22
3.2.3 Routines
Before getting into discussing the plug-in’s main functions, there is need to describe in detail a
global vector of structures CFP_list used to keep all the necessary information about every active
aircraft in the simulation available to every function of the plug-in. Each structure of CFP_list has
the following fields:
• Route_list: vector with all the route waypoints that are filled in the initial flight plan;
• FL_list: list of FLs of the aircraft at each traveled waypoint of its route. Every time the
aircraft arrives at a new waypoint the vector is increased in size by one unit with the FL at
that waypoint;
• LastWP: an integer keeping the position in the Route_list of the last waypoint crossed by
the aircraft;
• NextWP: an integer with the position in Route_list of the next waypoint that the aircraft will
pass. It is basically LastW P + 1;
• State: a boolean value to check if the aircraft was inside or outside the FIR at its last way-
point;
• EntranceWP: an integer holding the position in Route_list of the entry waypoint in the FIR;
• ExitWP: an integer keeping the position in Route_list of the exit waypoint from the FIR.
As for the routines: the main function of the plug-in OnRefresh() refreshes the radar screen and
its contents every second and multiple times per second if some window object is being dragged
around. Within this function various important routines are called:
• Load_WPs() reads a text file containing the complete list of fixes of the FIR in question and
defines a global map5 for future quick finding, WP_map. It is by using this list that func-
tions Find_EntranceWP() and Find_ExitWP() which generate EntranceWP and ExitWP
respectively are called for each aircraft.
5A C++ map class. http://msdn.microsoft.com/en-us/library/s44w4h2s.aspx
23
• Check_new_airplanes() is used to loop over all the planes available in the simulation, com-
paring the results of that looping with a pre-existing list of active and already finished from
the simulation aircraft, AllAircraft_list. If any aircraft appearing in the loop is new to the
simulation i.e. if it is not in AllAircraft_list, it is added to both CFP_list and AllAircraft_list.
• AddScreenObject() defines all clickable areas on the radar screen. Areas for each button,
for the whole window, etc are all herein declared.
• DrawWindow() is responsible for checking the desired window state i.e. minimized, maxi-
mized, loading solutions, presenting the set of solutions, etc and for drawing the appropriate
contents of the plug-in’s window for each state.
Outside the scope of the main function there are other important functions such as Move-
ScreenObject() and ClickScreenObject(), used whenever the user moves or clicks, respectively,
any object previously defined in AddScreenObject() function. These two functions are constantly
on the listening for an user action. Another important routine responsible for the communication
with the DST is Python_embed().
MoveScreenObject() has the functions governing the movement of the plug-in’s window and of
the plug-in’s scrollbar. For the latter, its thumb height and current position used in DrawWindow()
are also herein calculated.
On the other hand, in ClickScreenObject() there are the functions constructed for each but-
ton. The one for “Start” button is responsible for making the first call to the DST’s algorithm via
Python_embed(). Since the algorithm does not instantly return a solution and instead has often
a running time in the order of the minute, threading is necessary to avoid plug-in freezes while
the algorithm is finding solutions. Thus, every new call made to Python_embed() is achieved by
starting a new worker thread that runs concurrently with the main thread.
Python_embed() in its turn, is the function responsible for the communication between the
C++ plug-in and the Python files. It first initializes the Python interpreter – only needed for the
first time – and holds the Global Interpreter Lock (GIL)6 .Then, it transforms the current contents
of CPF_list into a string correctly formatted so as to be read by the DST, resorting to a function
constructed for that purpose, Vectorcontents2string(). After that, the string along with the rest
of the values that need to be passed to the DST are transformed in a tuple and send to Python’s
routine Bridge.py that handles the calling of the different DST’s algorithms. After some time, the
response from the DST is received, treated properly in Bridge.py and sent to Python_embed().
After analysing the DST’s solution, Python_embed() shares the information with the other plug-
in’s functions in the form of a vector Instruction_list, making it available to be used for example
in DrawWindow().
6 Mutex that prevents multiple native threads from executing Python bytecodes at once.
24
For better visualization of the above discussed a high level flowchart depicting the most impor-
tant relations between the main routines is shown in figure 3.3.
In this figure, blue lines symbolize the path that has to be traveled to make a new call to the
DST. First, either Check_new_airplanes() or Check_distance() update vector FP_list. Then,
this vector is called by Vectorcontents2string() within Python_embed() and the string is sent to
Python routine Bridge.py that is in charge of calling the DST’s algorithms.
In red, one can see the path between having found a solution and having it drew on the screen.
First the DST returns the solution to Bridge.py which signalizes Python_embed() that the so-
lution is ready to be transferred. Next, the solution is sent to Python_embed() which in turn
updates it in vector Instruction_list. Finally, DrawWindow() understands that there is up-to-date
solutions to be displayed and utilizes the last referred vector to do so.
The black lines simply make note that data available to click or move on the screen, ClickScreenOb-
ject() and MoveScreenObject() respectively, is constantly being provided by AddScreenOb-
ject().
The above discussed routines are called multiple times during a simulation session until finally,
when the user wants to terminate the current session and thus presses the close button, declared
in ClickScreenObject(), every global vector is emptied – except for the WP_Map that can be
reused in next sessions thus avoiding a new call to Load_WPs() – leaving the plug-in ready for
an upcoming session.
25
Figure 3.4: Print screen of Euroscope with the plug-in loaded
One option to make the plug-in’s interface was to use the MFC classes that have default windows
almost completed. However since the objective was to have a child window with the same style as
the main and remaining child windows, everything needed to be done from scratch and by “hand”.
For that reason, and although it may appear easy to the eye of the non-programmer, most of the
moving functions as well as some of the buttons functions were pretty difficult to achieve.
The two created versions of the plug-in are presented below in this subsection. First, the
interactive version that was made as the primary goal for this work is presented, and then a
more simplistic version of that same interactive version is shown. This last one was forcibly made
due to the limitation found during the thesis making – discussed in subsection 2.2.5.
In figure 3.4, a part of Euroscope’s window with all the previously discussed elements and with
an extra one is presented: at the top-right corner with title “FL Changes List” there is the plug-in
window. This window is movable and in figure 3.5 we can observe one of these windows in more
detail.
Looking at that detailed image of the plug-in one can see multiple features that are hereafter
explained:
• 1: title bar with a brief description of the plug-in’s intention. It is also the only grabbing area
for when the user wants to move the window;
• 2: minimize/maximize button;
26
• 3: close button;
• 4: reject the current set of instructions and ask for another with less instructions than the
current one – the criteria N referenced in chapter 2 subsection 2.2.1;
• 5: reject the current set of instructions and ask for another with less deviation than the
current one – the criteria D referenced in subsection 2.2.1 of chapter 2;
• 6: undo button that allows the user to undo the actions and show the previous set of instruc-
tions. If undoing the previous action is not possible – more on this later – a bell sound is
played when the button is pressed;
• 7: display area of the plug-in where one of the following options is in use: the start button
(figure 3.6a), the set of instructions (figure 3.6b) or a message indicating that either the
scenario has no solution (figure3.6d), no conflicts were detected (figure 3.6c) or that any
other error was encountered. In case the message of figure 3.6d is being showed, it is
accompanied by the pair of aircraft precluding the resolution of the scenario with the current
set of conditions. This way, the ATCO can still solve a conflict via giving instructions in
non-standard positions i.e. not only after waypoints reports like the DST was intended to.
As for when the set of instructions is displayed, those instructions are ordered by time of
occurrence and the ones shown in yellow, instead of the regular white, indicate that the user
has already carried them out. In the specific case of figure 3.5 the set of instructions are in
display and each instruction is separated by the following fields:
– 7b: waypoint where the instruction shall take place and the predicted hour of arrival at
that waypoint;
• 8: scrollbar, that only appears when the number of instructions is superior to a pre-defined
value and that has variable size depending on the total number of instructions.
27
Figure 3.5: Interactive plug-in’s interface
Before making two extra considerations about the interface, it becomes important to define
cycle of instructions. A cycle of instructions is the amount of time when the current FP_list is
up-to-date and remains valid i.e. the interval between the last time any update was made –
if Check_new_airplanes() or Check_distances() changed something in the FP_list – and the
next time an update is going to take place. All set of instructions given and/or asked for during
this time belong in the same cycle of instructions.
With that said, the reason for undo button only allowing to go back to a certain point is unveiled.
Within a cycle of instructions, if the ATCO asked for 3 extra solutions, the undo button allows him
to go back to any of them but he cannot undo his actions until an older cycle of instructions (e.g.
by undoing 5 times) because every solution that might have been available there was going to be
outdated and would not be valid in the current air traffic situation.
Also, note in figure 3.5 that there are two instructions for aircraft AVA345: first descend to FL380
at waypoint 35N20W and then climb back to FL390 at waypoint 32N30W. However, the controller
will not have the opportunity to deliver those two instructions to the aircraft in the duration of a
cycle of instructions since, as mentioned before, in the aircraft’s next waypoint another call to the
DST is made and another set of instructions is presented – if the conditions of the simulation
change only accordingly to the predicted instructions changes, the second instruction (climb to
FL390 at 32N30W ) is then going to be given as the first instruction to aircraft AVA345.
Rather, future instructions are also showed in order to give controllers a correct idea about the
size of the current set of instructions. Also, it allows ATCOs to conceive a better mental image
about the future work that they will have if they adopt this or that DST’s advice.
28
(a) Start button (b) Set of instructions
(c) Other messages: no conflicts detected (d) Other messages: impossible to solve a
given conflict
29
3.2.4.2 Non-interactive version
This second version of the plug-in is a simplistic version of the interactive version, obtained
through reverse engineering.
The resulting window from this practice is depicted in figure 3.7, where one can notice that in
comparison to the window in figure 3.6b differs on the absence of the three top buttons – as for
figures 3.6a, 3.6c and 3.6d the same occurs so there is no need for them to be hereby showed.
Thus, the only interaction with ATCOs – besides the obvious minimize/maximize and close
buttons – that is still achieved is the start button that allows users to define when to start the DST
help. From that point on no more interactions are made, and the ATCOs have to settle for the
suggested set of instructions.
and the information coming from those calls was to be displayed for a reasonable amount of time.
However, and even with the implementation of the anytime algorithm – subsection 2.2.3 of
chapter 2 – the DST running time was often impracticable. E.g. in a scenario with 30 aircraft
where the average time window having any aircraft crossing a waypoint was 2 minutes and the
DST’s average running time was 3 minutes, it was impracticable to call Python_embed() in every
situation of the two mentioned above because it would seldom present the solutions in the plug-
in’s window and rather the message “Finding solution”. In other words, it would spend more time
in discovering the solutions than in presenting them which is not of course the intention for a tool
that aids decision.
Three strategies to this problem were thought of:
30
• Run Python_embed() in both the above stated conditions (1 and 2) but while the solutions
were being sought, the last solution found by the plug-in would be presented.
On the upside, this strategy would always present some solution to the controller but on the
downside, the presented solution could be outdated and worthless, causing the ATCO to
give instructions that should not(or could not) be given. Also, if the scenario file has many
aircraft, the frequent (if not permanent) DST calling would cause the plug-in to very heavy
memory-wise in everyday computers.
• Run Python_embed() only from time to time. No calls to the DST were to be made except
if a time tclock had already passed since the last call and if there were any new information
i.e. if Check_new_airplanes() or Check_distances() changed anything in the FP_list.
On the upper side, this strategy is less chaotic since it is not always calling the DST, allowing
for a decent time of exposure for the solutions while the drawback is the same as in the
previous strategy, aggravated by the fact that the more the time where no calls to the DST
are made, the higher the probability that the exposed solution is no longer valid.
• Let the ATCO decide when to call the DST, using a button created for that effect. While a
new solution is being sought the last valid solution is showed in the plug-in’s display area
and the created button is not available for the controller to press.
The advantages of this approach are: less chaotic than the first strategy since the DST does
not need to be constantly called in crowded scenarios; it allows for a better approximation of
the real conventional ATC, since in it controllers have to receive the aircraft positions, input it
in the system and only after shall they give the instruction to the airplane. With this strategy,
the controller has to manually call the DST after issuing an instruction to an aircraft, better
approaching the amount of workload needed at each waypoint in real oceanic ATC.
On the other side, the disadvantage is the same as the one in the strategies before: the last
solution showed while a new call to the DST is being made can be outdated.
Looking at the three strategies, the latter seemed more clean and appealing. Nevertheless, all
were implemented and tested and ultimately came the confirmation that the third solution was the
best suited for our purposes.
Some alterations were made to the plug-in’s interface in order to accommodate the new require-
ments. Those alterations and the resulting interface are then discussed.
First, a button on top of the display area titled “Call DST” was created. It allows for new calls to
the DST and whenever there is new information – i.e. when conditions 1 or 2 are met – the button
turns red and the text is modified to “Call DST (REQUIRED)”, so as to notify the responsible
controller that a new call to the DST is advised – situation depicted in figure 3.8a.
The other modification is that while finding a new solution the last valid one is showed in different
color and background so as to allow the ATCO to recognize it as being old. Also, the “Call DST”
button becomes grayed out i.e. not available to use until the current finding returns a solution –
31
(a) Detail of button “Call DST (REQUIRED)“ (b) Detail of showing the last valid solution
while making a new call to the DST
figure 3.8b. While the button is grayed out it is still updated and thus it can be grayed out and
indicating that a new call to the DST is necessary after the conclusion of the current search.
The previously showed figures constitute the final version of the plug-in and thus the one pre-
sented to the ATCOs.
32
of 70 was devised to allow controllers enough time to notice the report and act on it if necessary.
33
Chapter 4
The present chapter is concerned with the simulations conducted to test the developed plug-in
and the results that came from those tests.
First, in section 4.1 the defined parameters to establish the simulation environment are dis-
cussed and then in section 4.2 the trials’ proceedings are analysed.
Finally in section 4.3, the relevant test results from the surveys that were taken by the ATCOs
as well as some of the oral interviews’ responses are presented and discussed.
To completely define the simulation framework used to test the DST integrated in Euroscope
via plug-in, the same assumptions made for the DST in subsection 2.1.3 are used, with two
exceptions:
• Aircraft models
As mentioned before, an effort to have a wider variety of functional aircraft models, instead
of just the A320 used in the DST’s simulations, was made. Thus, the available models were:
A319, A320, A321, A332, A333, A343, A346, B77W, B744, B752, B763.1
• Simulation duration
A time window of one and a half hours for the DST was used. This value is related to the
fact that the trials with the ATCOs, as discussed further, were defined to be of one hour in
each simulation. The fact that the simulation duration is 30 minutes longer than each trial
duration is a way of giving some leeway in case the trial is delayed for some minutes.
λN
Also, the value of 10 was used for the criteria weight ratio λD as: it is in the order of magnitude
recommended by the DST maker; it have been a value that responded well during the hours
testing the plug-in. Therefore, more emphasis on having fewer instructions was given at the
expense of having a somewhat bigger vertical deviation from the RFLs.
1 Models with first letter A like the A319 are Airbus while the ones with first letter B like B77W are Boeing.
35
4.1.2 Traffic generation
In order to generate the traffic scenarios that are loaded by Euroscope, two approaches were
followed: one that generates a random scenario based on a nominal flight plan pool and is to
be referred as Random Traffic Situation and another that replicates a real traffic situation that oc-
curred in a certain oceanic airspace at a given time, further referred to as Real Traffic Situation.
As to generate traffic scenarios as real as possible, both use real flight plans. The first by down-
loading the flight plan pool from the Data Repository Demand 2 (DDR2) of EUROCONTROL’s
extranet and the latter by using EUROCONTROL’s modeling tool Network Strategic Tool (NEST)
to download and export to readable content the numerous Aeronautical Information Regulation
and Control (AIRAC) available cycles2 .
In this traffic generation routine, a numerous number of traffic samples was downloaded from
DDR2. Those samples represent all the flights that took place between various airports-pairs
– e.g from Madrid-Barajas airport (ICAO code: LEMD) to John F. Kennedy airport (ICAO code:
KJFK), during the month of January 2014, where the choosing of airport-pairs was made so as to
pick the ones where most of the routes between them would intercept the oceanic airspace that
was being used. A total of 11 airport-pairs were considered and a nominal flight plan pool with 46
flights was constructed for the special case of the LPPO. Each nominal flight plan contains:
• Aircraft model
• Flight’s frequency
The last parameter needs some explaining. So as to generate more authentic traffic scenario
files, it makes sense that a flight that happens regularly is present in more generated scenario
files that one that is less frequent. The flight’s frequency takes care of that and has then three
possible values depending on the number of flights in the downloaded sample:
• High (H): the number of flights in the sample is greater than or equal to 40;
• Medium (M): the number of flights in the sample is greater than or equal to 20 and smaller
than 40;
• Low (L): the number of flights in the sample is less than 20.
2 AIRAC cycles have duration of 28 days and are used to disseminate information concerning significant changes.
36
The occurrence probability for flights with H, M and L flight frequencies are expressed respectively
as pH ,pM and pL and the relation between these probabilities was set to be pH = 2pM = 3pL .
As input, the traffic generation routine receives the desired Number of Current Flights (NCF ) as
well as the desired Number of Future Flights (NFF). The NCF represents the number of aircraft
that are present when the simulation begins and these aircraft can either be flying inside the
oceanic FIR or outside it and planning to enter it at a given time during the simulation. On the
other hand, the NFF represent the aircraft that are going to appear later along the simulation.
So, while the NCF flights are placed at a random waypoint of their route by the traffic generation
routine depending solely on whether it is inside or outside the oceanic FIR, the NFF ones, as
in real life ATC, can only be placed in one of the waypoints of its route that is prior to entering
the FIR The reason for this is simple: aircraft cannot magically appear inside a FIR that is being
controlled, they need to come from somewhere.
After picking some flights from the nominal flight plan pool, the routine calculates the random-
ized components for each flight:
• Callsign: a valid callsign is given to each aircraft having in mind that there cannot be two
aircraft with the same callsign at a certain moment during the simulation. E.g. IBE352.
• Squawk code3 : a valid squawk code between 3000 and 4000 is attributed to each flight.
The squawk code, like the callsign, is unique for each aircraft.
• Cruise FL: the requested cruise altitude CFL is calculated by applying a certain offset F Lof f
to the nominal cruise altitude, CF Lnom . That offset is calculated with a normal (or Gaussian)
distribution (F Lof f ∼ N (0, σf2 l )) and is rounded to the nearest multiple of ten, being later
added or subtracted to the CF Lnom to obtain a new altitude CF L.
• True airspeed: true airspeed is also generated with the help of a Gaussian distribution,
with T ASnom as the expected value and given in the nominal flight plan, and σT AS as the
standard deviation.
T AS ∼ N (T AS nom, σT2 AS ) (4.2)
• Current waypoint: there are differences whether the flight is part of the NCF or the NFF
– NCF: for each flight it is randomly chosen one of two states. It can be inside the oceanic
FIR or outside the FIR and planned to enter it at a given time during the simulation. If
the flight is inside the oceanic FIR, the current waypoint (currentW P ) is calculated by
assuming a uniform probability distribution between the waypoint of the route where
the aircraft enters the FIR (route[entryW P ]) and the waypoint where the aircraft exits
the FIR (route[exitW P ]).
37
If the flight is planned, the currentW P falls in the interval of the first waypoint of the
route (route[0]) and the last waypoint of the route before the entry waypoint that does
not belong to the oceanic FIR (route[entryW P − 1]).
– NFF: for these flights, there is only one possible state because of what was previously
stated about the impossibility of the aircraft to appear in the middle of a FIR during
the simulation. Then, that state is planned and so the currentW P is calculated as
before between route[0] and route[entryW P − 1] having the same uniform probability
distribution as in equation (4.4).
• Delay minutes: this is just applicable to the NFF flights and it is also calculated assum-
ing a uniform probability distribution between 1 minute and the duration of the simulation
(duration) minus 70 minutes. The delay in minutes (delaymin ) falls then inside the interval
[1, duration − 70]. The reason for choosing 70 minutes as the quantity to subtract to the du-
ration is explained hereafter. As NFF aircraft are always placed one or two waypoints away
from the FIR border and assuming, based on an educated guess that the average aircraft
takes between 25 and 35 minutes to cross a segment between two waypoints, the value of
70 minutes was used to guarantee that the last aircraft to be placed in the simulation would
still be an active aircraft inside the oceanic FIR, enabling all the aircraft to be relevant for the
simulation.
• Other: although not important to the objectives of this thesis, there are other components
that are mandatory in any Euroscope scenario file and so they were calculated with the same
rigor as the ones above. They are: departure time from origin airport, predicted arrival time
to destination airport, time en route and time of available fuel.
As a result of this traffic generation routine, it was noticed that often multiple aircraft were placed
at the same waypoint. While that did not constitute a problem, as it often happens too in real life
ATC, there was a problem if they were simulated at the same waypoint and with the same FL.
So, in the NCF flights, one good and pretty straight-forward solution was to modify the routine to
always put the newly created aircraft in a new, random and different FL from the ones that are
already in that waypoint.
For the NFF flights however, is was more a question of what should be the ideal time separation
– in the form of delay minutes in the scenario file to insert the following aircraft – so that two
aircraft that start the simulation at the same waypoint and with the same FL can safely travel their
corresponding routes without conflicting with each other. With that in mind, some research on this
topic was made and the results are described below.
According to [23] , the longitudinal separation minima based on time in oceanic airspace for
turbojet aircraft flying along same/intersecting tracks at the same FL is 15 minutes, or 10 minutes if
navigation aids, such as radar coverage, permit frequent determination of position and speed. So,
like said before, as most of oceanic airspace is outside radar coverage, our nominal longitudinal
separation minima should be 15 minutes. However if the commonly required procedure know as
38
Mach Number Technique – described in detail in [24] – is to be applied, that nominal value is set
to be 10 minutes and can change according to two criteria:
1. If the preceding aircraft is flying at a true Mach number smaller than the following aircraft, the
nominal time should be increased by one minute for every increase of 0.01 in the differences
between the aircraft Mach numbers.
2. If the preceding aircraft maintains a true Mach number greater than the following aircraft,
the nominal value is to be decreased to a maximum of 5 minutes
where tadd is either 0 if condition 2 is verified or the difference between the following and the
preceding aircraft’s Mach numbers divided by 0.01.
The proper modifications in the traffic generation routine were then made in order to accommo-
date the respective solutions for both the N CF and the N F F flights.
The purpose of this routine is to replicate the real air traffic that occurred during a certain period
of time during a given day. It uses information coming from EUROCONTROL’s airspace modeling
tool NEST, which allows specific AIRACs to be downloaded and later transformed into readable
data such as Excel format in order to be properly treated. The information from the AIRACs is
very rich in both quantity and quality of material and has all the needed information to make a
scenario file suited to our purposes such as: complete set of waypoints of the aircraft route, FL
during the route, entry and exit time from the oceanic FIR, length and duration of the cross over
the FIR and thus, by a simple math operation, the aircraft velocity, etc.
Although having all the needed information, some calculations needed to be done concerning
the entry point of the aircraft in the simulation. Having just the entry and exit time of each aircraft,
the point where the aircraft are simulated had to be calculated with precision in order to avoid
aircraft to be simulated too close to each other and in order to successfully replicate the real air
traffic scenario.
First, with the Haversine formula, as referred in [25] and replicated in equations (4.5), that is
used to calculate the great-circle distance between two points, the length of each segment from
the aircraft’s route was calculated.
39
∆ϕ = ϕ2 − ϕ1
∆λ = λ2 − λ1
a= sin2 ( ∆ϕ
2 )+ cos ϕ1 · cos ϕ2 · sin2 ( ∆λ
2 )
(4.5)
√ p
c = 2 · atan2( a, (1 − a))
d=R·c
where ϕ is latitude, λ is longitude and R is earth’s radius. The intermediate result a is the square
of half of the straight-line distance between the two points and c is the great circle distance in
radians. The final value d is given in the same units as R.
Next, calculating the difference between the starting time of the simulation and the entry time
of each aircraft, the distance traveled inside the FIR (or distance left to travel until entering the
FIR if the aircraft is outside the FIR and planning to enter it) was determined using the previously
calculated velocities. With this, and using the results found with equations (4.5), the segment
where the aircraft should be simulated as well as the distance to the first waypoint of that segment,
dstart , were found.
After that, the initial bearing4 between the two waypoints of the present segment is calculated
using equation (4.6), that can be found in multiple websites, e.g. the one in footnote5 .
At last, using the start waypoint coordinates ϕ1 and λ1 , the initial bearing θ and the distance to
the start waypoint dstart , the destination point coordinates ϕ2 and λ2 were calculated using the
formulas below:
δ = dstart /R
ϕ2 = arcsin(sin ϕ1 · cos δ + cos ϕ1 · sin δ · cos θ) (4.7)
λ2 = λ1 + atan2(sin θ · sin δ · cos ϕ1 , cos δ − sin ϕ1 · sin ϕ2 )
The objective of the trials with ATCOs was to ascertain which would be the potential benefits
and drawbacks of using the constructed plug-in in a simulated ATC environment – Euroscope in
4 In aerial terms, it means the actual compass direction of the forward course of the aircraft. Also referred to as the
forward azimuth.
5 http://www.movable-type.co.uk/scripts/latlong.html, last consulted in September 2014.
40
Figure 4.1: Entry counts in the LPPO during 9th January 2014
ATCO
A B C D
I II I II
1st
DST_ON DST_ON DST_OFF DST_OFF
Trial
II I II I
2nd
DST_OFF DST_OFF DST_ON DST_ON
Table 4.1: Scheme plan of the experiments with four controllers
our case. It would serve as an intermediate step while evolving the DST into one integrated in the
real ATC world and used on the day-to-day of controllers.
Ideally the trials would be taken by several sets of four ATCOs, each set having the configuration
depicted on table 4.1. The conditions to take into account when attributing each experience
framework were:
• Conditions while controlling: with the help of DST (DST_ON), without the help of DST
(DST_OFF ).
The duration of each trial would be of four hours, which is half of the typical duration of a
controllers’ shift.
In order to have interesting and reliable data to analyze corresponding to two scenario files, 12
or 16 controllers (three or four sets of trials respectively) would be enough. The reliable factor
is related to the elimination as well as possible of the ambiguity aspect that is inherent to all
experiments. In this case, the ambiguities’ elimination can be pinpointed by understanding that
the scheme’s distribution of table 4.1 is not random. Instead, three conditions rule the distribution:
41
• Each scenario file is attributed only once to each controller, assuring that ATCOs do not su-
pervise the same scenario file more than once, precluding a preconditioning in the results –
coming from previous insight – on the second time the scenario would have been controlled.
• The order in which the DST is used is inverse for the first and latter two ATCOs. This guar-
antees that a better result in the second trial cannot be attributed solely to the experience
that the controllers have gained from the first trial. I.e. if the first trials were all made with
DST_OFF/DST_ON, a possible better result in the second round of trials could prone one
to attribute that success to the bigger ATCO’s experience on handling Euroscope, thus ne-
glecting the fact that the DST had worked well or not – for having initial DST_OFF and
DST_ON respectively.
• Each scenario file is going to be controlled in every possible situation, i.e. in both the first
and second trials with both DST_ON and DST _OFF. That is why the defined number of
ATCOs for a set was four and not five, three or two. Thus, final results’ conclusions cannot
be attributed to scenario I being much easier or much harder than scenario II.
In the other hand, to turn the experiment into one with enough dimension to withdraw statistical
significance, the more human resources the better of course, but something along the lines of
testing 4 pairs of scenario files and hence 48 to 64 ATCOs would be sufficient.
Since the necessary human resources to make this experiment into one with valid statistical
results were fairly big, and therefore outside the range of our capabilities to get, a pilot trial serving
as a proof of concept was conducted.
The trials were planned for two real ATCOs who made themselves available in their free time
for participating in the experiences but incompatibility in schedules coupled with the approach of
the thesis delivery time lead us to consider other options.
As an alternative to real ATCOs, virtual uncertified ATCOs were chosen. It is important to clar-
ify at this point that even though the virtual ATC world tries to replicate the real one as much as
possible, they are still two completely separate contexts and so there are still differences between
them. With that said, virtual ATCOs despite doing this as an hobby, can still be considered excel-
lent elements for the experiences and they have one advantage since they work on a daily basis
with Euroscope and hence are best fitted to assess the plug-in’s interface integration with the air
traffic simulation environment in question.
The two chosen virtual ATCOs are very active members in the Portuguese VATSIM community,
where ATCO A, between many functions, is supervisor and instructor to new members in various
Portuguese FIRs, being also certified to operate in LPPO and having 5 and a half years of expe-
rience in the virtual ATC world whereas ATCO B is the director of LPPO, has 7 years of virtual
controlling experience.
Thus, this trial was arranged with two virtual ATCOs during the 11th of October 2014. Both
trials occurred in the same day but separated by the time of day i.e. one in the morning and one
in the afternoon because it was a good idea to maintain myself (the plug-in developer) available
42
ATCO
A B
I I
1st
DST_ON DST_OFF
Trial
II II
2nd
DST_OFF DST_ON
Table 4.2: Scheme plan of the experiments with two controllers
for any possible doubt or error during the simulations and that was achievable only by having the
tests happening at different times.
The duration of each trial was modified from four hours to one hour so as to accommodate the
fact that the ATCOs, doing the trials without being paid and on their free time, could not spend too
much time in the trials. That did not constitute a problem because a one hour trial is a very good
sample of what a four hour trial would be like and is enough to study the ATCOs response to the
developed plug-in.
Hence, the trials consisted of two tests, each with duration of one hour, with the help of two
ATCOs. They took place accordingly to the scheme depicted in table 4.2 in order to reduce the
ambiguity of the tests. Within this table, one can notice that two of the principles for ambiguity’s
reduction discussed before for the trials with sets of four ATCOs are still verified:
• The order in which the DST is used is inverse for the first and second ATCOs.
However, and even though the ambiguity is almost eliminated by having used table 4.2, there is
still a third condition that cannot be taken into account with two ATCOs only: if the difficulty of one
scenario is much different than the other, the validity of the results is compromised.
For that reason, the chosen scenario files were similar in both the number of aircraft and in the
number of initial conflicts. Both were chosen from real traffic situations from the 17th of January
2014, during different periods of time. The first, I, taken from 12:00 to 13:00 had 50 aircraft present
in the simulation at the moment of the start and other nine planning to enter the simulated FIR at
some point during the simulation and the initial number of instructions to solve potential conflicts
was of seven. In the other hand, scenario II, taken within 14:00 and 15:00, had 56 aircraft at the
beginning and the same nine planning to enter the FIR. The number of initial instructions of this
second scenario file was nine.
Before the trials started, a 10 minute explanation about the DST objectives was made. Also,
the simulation framework previously discussed was presented to the controllers in order for them
to act according to the role intended for them. After that, and before the first trial, the ATCOs were
asked to use the presented tools for a couple of minutes to become accustomed to them.
The results from this pilot trial are discussed in the next section of this chapter.
43
4.3 Results
During the trials it was observed that each ATCO had a very different style of controlling.
Whereas ATCO A used all available tools in Euroscope while controlling the FIR, ATCO B had
a very conventional style, measuring for example the separation distances by eye. The result
of those different practices together with the fact that the number of airplanes to control was
significantly large, lead to imperfect controlling in the scenarios where the DST was not used.
I.e. the first ATCO failed to notice one of the conflicts and was late on noticing another, what
resulted in giving an instruction out of the standard period for instruction issuing – after waypoint
reports – while the second, managing the separation mentally only, discovered every conflict –
even though violating for a couple of times the horizontal separation minima – but gave relatively
more instructions in comparison.
In the session with the DST’s assistance, it was noticed that the ACTOs did not have much work
on their hands, taking advantage of their free time to check which aircraft conflict generated each
DST solution’s instruction. That was one of the improvement points an ATCO brought up saying
that “the plug-in could have a functionality that shows which was the conflict each instruction was
solving, by moving the mouse over each instruction. That way, the controller would be left with
an even easier task.”. This suggestion, although good and feasible has to be carefully considered
because of one aspect earlier discussed: the DST has to provide the exact right level of automa-
tion, not too much so as to hinder the controller’s ability to quickly reassure manual operation in
case of emergency. The suggestion is then left as a medium term work, when (and if) the level of
ATC automation becomes much higher.
All in all, objective results for the trials were ascertained by having the ATCOs present in the
trial answer the inquiry of annex A and by asking them, and recording with their consensus, other
development questions directly.
4.3.1 Inquiries
The filled inquiries are depicted in annex B. They show a very positive feedback from the
ATCOs, where they both strongly agree that the DST reduced their workload by allowing the
conficts’ prevention to occur more easily.
In the end, both wished to see the developed tool used in the virtual ATC system which consti-
tutes a very positive reaction and is aligned with this thesis’ objectives.
The most relevant answers and the respective questions asked to obtain them are presented
below:
ATCO A said “Yes, because the DST was able not only to predict a near-term conflict but also
one that was only going to take place many minutes from then, something that a controller
would not be capable of observing in that immediate” while controller B replied: “Yes, and
44
the trust in the DST’s solutions came from finding that the conflicts were being solved with
the DST’s advisory instructions”.
• Did you think that the DST reduced the workload in comparison to the session without
the DST? Why?
ATCO A response was: “Absolutely! I think that it reduces approximately 70% of controller’s
workload and hence, airspace divided for two controllers could easily be supervised by one
ATCO only if being helped by this DST “.
ATCO B in its turn, said: “My workload was significantly diminished since I stayed completely
rested, when in the session without the DST I needed to constantly find possible conflicts
and solutions and then, the solutions that I have found turned out not to be the best ones”.
• Would you change anything about the DST to make it better ATC-wise?
Both ATCOs gave the same answer and said that it would be better if the information present
on “Waypoint Reports” window stayed there indefinitely instead of just for a certain amount
of time. That, coupled with the functionality of left-clicking over a report that is not needed
anymore and erasing it from the list by doing so, would in their opinion establish a better way
to inform the controllers about the aircraft’s whereabouts.
ATCO B also suggested that by right-clicking each report, instead of having to use the .find
Euroscope’s functionality to find each aircraft, a line showing the aircraft location should
prompt.
In summary, the overall reaction to the constructed plug-in was excellent. Saying that the
workload was diminished by 70% and that you were left doing nothing in a scenario with 56
aircraft was even better than the projected ideal responses.
As for the suggestions from the question about possible DST improvements, they both seem
like a good step towards evolving the plug-in and are therefore left as future work.
45
Chapter 5
Conclusions
5.1 Conclusions
This thesis is included in the ATC automation research field and its importance came from the
increase in the air traffic that has been occurring in the past decades and the consequential ATCO
workload’s overload. It is the continuation of a thesis done in IST that resulted in a DST for the
specific case of the CD&R area from ATC automation. The DST had an interactive approach
allowing for solution searching with the help of the user input, fact that was very appealing to test
with ATCOs.
Thus, the objective of this work was to integrate the previously developed DST with an ATC
simulation environment via a plug-in in order to test it with ATCOs and ascertain the usefulness
of the tool. The chosen air traffic simulation environment was Euroscope because of its function-
alities, grand use in the virtual ATC control and of its similarities with the real ATC system and the
plug-in created was a DLL, capable of running in any computer with Euroscope installed.
The plug-in for Euroscope was constructed and some aspects of the DST were improved but
unfortunately, the interactive part of the DST was not working as expected and so this thesis
objectives had to be redefined and the plug-in had to be changed in accordance to those redefi-
nitions.
As for the testing phase, a proof of concept trial with two ATCOs and two air traffic scenario
files was conducted. Both qualities and flaws of the plug-in were found out during the inquiry
phase and the obtained results illustrate the benefits of controlling with the help of the DST, at
least in conventional oceanic control – which is the case where the simulations took place. The
controllers’ feedback was extremely positive and both said that the workload was diminished,
since they found possible conflicts more easily with the aid of the DST via plug-in. They were also
in favor of using the tool again in the ATC they practice nowadays.
The plug-in’s interface proved its robustness throughout the several hours of testing and during
the tests with the ATCOs. By robustness one is to understand not giving any critical error and
behaving as expected. The plug-in and DST connection however, was not always stable. Seldom,
some run time DST errors were given and as their resolution – even though tried – falls behind
the scope of this thesis, they are simply left as a reference for future work.
All in all, even with the DST working differently than expected, the ATCOs response level was
excellent and thus it was ascertained that the tool was an excellent help to ATC.
47
5.2 Future work
After the solving of the DST run time bugs is achieved, other suggestions for future work on how
to improve the developed plug-in were thought of and are herein presented:
• Test the interactive version of the DST. The interactive version is somewhat more interesting
to analyze than the one that this thesis had to focus on because it puts the controller more
in the loop of decision.
• Address a smaller longitudinal separation than 50 NM. The ultimate DST objective is not
only to diminish controllers’ workload but also to raise the air sectors capacity. By reducing
that minimum separation, the capacity increase is achieved because there is more “empty”
space for new airplanes to be placed at. This was tried in a non-official manner at the time
of the plug-in testing phase and the results were satisfactory. However, trying it with ATCOs
would be even more interesting: during the test with the help of the DST nothing would be
altered but they would need to get accustomed to the fact that the horizontal separation was
smaller when they were controlling without the help of the DST for comparison effects.
• Adapt this DST, from one used in oceanic control only into one that can be used even
where radar coverage is a reality. Doing this would involve changing the separation minima
and allowing for vertical instructions to stop being restricted to waypoint reports only. Also,
during the adaptation, the instructions could (and should) stop being vertical only and start
encompassing horizontal and speed changing maneuvers also, as it is done in conventional
radar ATC.
• Measure the level of workload in a quantitatively manner instead of how if was done here
i.e. qualitatively by asking the ATCOs to assess it. For example running a simple challenge
exercise simultaneously with the simulation that would pop-up from time to time and ask
the ATCO to introduce something in a time window of some seconds. The number of times
they fail to respond is directly related to their current workload. This exercise could be for
example one where the ATCO was asked to input the callsign of the last aircraft that crossed
a waypoint. This way, not only the workload but also their attention level to the traffic scenario
in question could be measured.
The lack of a bigger human resource pool prevented the putting into practice of some ideas, that
are therefore further presented for future work:
• So as to get statistical relevant data from the experiments with the ATCOs, the developed
plug-in can be tested with more controllers with different pairs of scenario files. A general
idea for the necessary numbers for both traffic scenario files and ATCO testers was given in
the previous chapter.
As a last suggestion for future work, the most difficult one is left. After everything from the
previous list is done, the final goal is to integrate the DST with the ATC system instead of with
48
Euroscope. The repetition of all the suggested tests as well as the perform of all the needed
procedures to validate the tool in the ATC world would be of course necessary.
49
Bibliography
[2] B. G. Hillburn, “Evaluating human interaction with advanced air traffic management automa-
tion,” RTO-MP-088 - The Role of Humans in Intelligent and Automated Systems, October
2003.
[4] F. Freitas, “Optimal air traffic control automation: Application to oceanic control,” Master’s
thesis, Instituto Superior Técnico, 2013.
[5] P. L. de Matos and D. Marsh, “Dss on trial,” OR Insight, vol. 13, no. 1, pp. 2–8, 2000.
[6] A. Kirlik, “Modeling strategic behavior in human-automation interaction: Why an aid can and
should go unused,” Human Factors, vol. 35, pp. 221–242, 1993.
[7] C. Meckiff and P. Gibbs, “Phare highly interactive problem solver,” EUROCONTROL, Novem-
ber 1994.
[8] A. Price and C. Meckiff, “Hips and its application to oceanic control,” Decision Support Tools
– Oceanic HIPS, 1997.
[9] J. Shepley, “Near-term terminal area automation for arrival coordination,” in Eighth
USA/Europe Air Traffic Management Research & Development Seminar, Napa, CA, 2009.
[10] D. McNally, H. Erzberger, R. Bach, and W. Chan, “A controller tool for transition airspace,” in
AIAA Guidance, Navigation and Control Conf, 1999.
[11] T. Prevot et al., “Trajectory-oriented time-based arrival operations: Results and recommen-
dations,” in ATM2003, FAA/Eurocontrol R&D Seminar, Budapest, Hungary, Citeseer, 2003.
[12] M. C. Picardi, “En route atm decision support tool computer-human interface requirements
development,” 2nd USA/EUROPE AIR TRAFFIC MANAGEMENT R&D SEMINAR, 1998.
[13] M. Brennan et al., “Evaluating en route congestion management through interactive simula-
tion,”
[14] R. Gingell, K. Corker, and E. Weber, “The feasability of measuring capacity in a real-time atm
simulation independent of subjective contcontrol worlkload measurement,” 2005.
51
[15] T. Prevot et al., “Automated air traffic control operations with weather and time-constraints,”
in Proceedings of the 9th FAA/Eurocontrol R&D Seminar, 2011.
[16] C. D. Wickens, “Imperfect and unreliable automation and its implications for attention alloca-
tion, information access and situation awareness,” 2000.
[18] U. Metzger and R. Parasuraman, “Automation in future air traffic management: Effects of
decision aid reliability on controller performance and mental workload,” Human Factors: The
Journal of the Human Factors and Ergonomics Society, vol. 47, no. 1, pp. 35–49, 2005.
[20] J. Krozel et al., “System performance characteristics of centralized and decentralized air
traffic separation strategies,” 4th USA/Europe ATM R&D Seminar, 2001.
[21] ICAO, “Doc. 9574 an/934,” Manual on Implementation of a 300 m (1000 ft) Vertical Separation
Minimum Between FL 290 and FL410 Inclusive, Edition 2002.
[22] NAV, Implementation Plan for the Apllication of 50 NM Lateral Separation in Santa Maria
CTA, July 2013.
[23] ICAO, “Doc. 4444 atm/501,” Procedures for Air Navigation Services–Air Traffic Management
(PANS-ATM), pp. 69–101, Edition 2007.
[24] ICAO, “Nat doc. 007,” North Atlantic Operations and Airspace Manual, pp. 65–66, Edition
2013.
[25] R. W. Sinnott, Virtues of the Haversine, vol. 68. Sky and Telescope, 1984.
52
Appendix A
53
Inquérito acerca da ferramenta de apoio
à decisão (DST)
Nome:
Questões:
Discordo Discordo Sou Concordo Concordo
totalmente indiferente totalmente
Após a explicação
introdutória, a adaptação
ao sistema usado foi fácil.
A interface da DST é
intuitiva.
O tempo de espera por
soluções que foi verificado
é aceitável.
Confio nas soluções dadas
pela DST.
A DST possibilitou-me
prevenir possíveis conflitos
mais facilmente.
Senti que a minha carga de
trabalho foi reduzida com o
uso da DST.
Gostaria de ver esta DST
ser usada no controlo de
tráfego aéreo virtual.
54
Appendix B
• ATCO A
55
• ATCO B
56