You are on page 1of 22

aerospace

Article
Comparative Study of Aircraft Boarding Strategies
Using Cellular Discrete Event Simulation
Shafagh Jafer * and Wei Mi *
Department of Electrical, Computer, Software and Systems Engineering, Embry-Riddle Aeronautical University,
Daytona Beach, FL 32114, USA
* Correspondence: jafers@erau.edu (S.J.); miw@my.erau.edu (W.M.);
Tel.: +1-386-226-4919 (S.J.); +1-386-226-4919 (W.M.)

Received: 6 November 2017; Accepted: 25 November 2017; Published: 28 November 2017

Abstract: Time is crucial in the airlines industry. Among all factors contributing to an aircraft
turnaround time; passenger boarding delays is the most challenging one. Airlines do not have
control over the behavior of passengers; thus, focusing their effort on reducing passenger
boarding time through implementing efficient boarding strategies. In this work, we attempt to
use cellular Discrete-Event System Specification (Cell-DEVS) modeling and simulation to provide a
comprehensive evaluation of aircraft boarding strategies. We have developed a simulation benchmark
consisting of eight boarding strategies including Back-to-Front; Window Middle Aisle; Random;
Zone Rotate; Reverse Pyramid; Optimal; Optimal Practical; and Efficient. Our simulation models are
scalable and adaptive; providing a powerful analysis apparatus for investigating any existing or yet
to be discovered boarding strategy. We explain the details of our models and present the results both
visually and numerically to evaluate the eight implemented boarding strategies. We also compare our
results with other studies that have used different modeling techniques; reporting nearly identical
performance results. The simulations revealed that Window Middle Aisle provides the least boarding
delay; with a small fraction of time difference compared to the optimal strategy. The results of this
work could highly benefit the commercial airlines industry by optimizing and reducing passenger
boarding delays.

Keywords: aircraft boarding; discrete-event; Cell-DEVS; enplane; passenger delay

1. Introduction
Airlines generate revenue by utilizing and flying airplanes. One of the factors for reducing airlines
cost is the quick turnaround of their airplanes. A turnaround time is used to measure the efficiency
of an airline’s operation in a traditional metric. Usually turnaround time is measured by the time
between an airplane’s arrival and its departure [1]. Some factors that influence the turnaround time
include passenger deplaning, baggage unloading, fueling, cargo, airplane maintenance, cargo loading,
baggage loading and passenger boarding. The most difficult factor to control is passenger boarding
time since airlines have little control over passengers. Therefore, airlines have to be cautious in making
changes to reduce boarding time [2]. Many researchers have proposed and investigated different
boarding strategies aiming at reducing the boarding time even by a couple of minutes [2–8]. Among
the existing boarding strategies, the following are the most well-known techniques: Back-to-Front,
Random Strategy, Outside-in (or Window Middle Aisle), Rotating zone, Reverse Pyramid, Optimal,
Practical Optimal and Efficient Strategy.
Aiming at evaluating the efficiency of various existing and new boarding strategies, we have
implemented a discrete-event simulation benchmark based on the Discrete-Event System Specification
(DEVS [9] and Cell-DEVS [10]) formalism. Our benchmark consists of DEVS-based models that are
perfectly suitable for executing various simulations on any type of aircraft. Our simulation results

Aerospace 2017, 4, 57; doi:10.3390/aerospace4040057 www.mdpi.com/journal/aerospace


Aerospace 2017, 4, 57 2 of 22

are visually presented as 2-D animations, making it easily understandable by non-experts. In a prior
work, we have reported simulation results for three of the above mentioned boarding strategies:
Back-to-Front, Window Middle Aisle and Reverse Pyramid [11]. Here we present our extended effort,
documenting our modeling and simulation findings for all eight boarding strategies. We compare our
simulation results to the optimal strategy to present the degree of efficiency for the given strategies.
This work attempts to present the power of DEVS and Cell-DEVS in analyzing and investigating
aviation-related challenges. We demonstrate how flexible, adaptive and precise Cell-DEVS is in
simulating passenger behavior. This paper is organized as follows: Section 2 provides a brief
background about various boarding strategies and highlights some of the related works, then
introduces Cell-DEVS formalism. Section 4 discusses the high-level and low-level design. The DEVS
and Cell-DEVS implementation details are introduced in Section 5. Section 6 provides the simulation
results and analysis. The concluding remarks are given in Section 7.

2. Background
Aiming at reducing boarding times, the airline industry has tried various enplaning methods.
Below we summarize the commonly used strategies.
Back-to-Front: This boarding plan is known as the “traditional” boarding method. Passengers are
boarded to from the back row of the aircraft and continue with the rows up to the front. Aircraft rows
are divided into zones. The zones can be any number reaching from two to the total number of actual
rows. This strategy is easy to implement, however, it is easily prone to inefficiency, as congestions
occur over the boarding rows [1].
Random Strategy: This boarding plan is when passengers are not assigned to specific seats
but line up at the gate counter and are admitted in the order they arrive. Travelers can choose any
unoccupied seat as soon as they are onboard. Passenger will start to rush into the plane to get a better
seat. This makes the boarding process faster; however, this reduces passengers’ comfort level [4].
Outside- In Method: This method is also called “Window Middle Aisle.” Passengers who
are assigned to window seats will board first. When it is finished, middle and aisle seats follow.
This method has so far revealed very efficient boarding time. It potentially reduces passenger
interference caused by loading luggage and completely reduces passengers interfering with each
other as they walk down the rows. This method is relatively easy to implement [8].
Rotating Zone: In this method, aircraft rows are divided into zones (each zone grouping a number
of rows). This method starts with the last zone in the back to be seated, then continues with the first
zone in the front. After this, the order continues again with the furthest yet unoccupied zone in the
back, then the front one and so on. The advantage of this method is that passengers who are boarding
at the back and at the front will not interfere with each other [8,12].
Reverse Pyramid: This method is to board passengers from the outer back to the inner front
of cabin. This method is in fact a combination of Back-to-Front and Window to Aisle. It calls for
simultaneously loading an aircraft from back to front and outside in. Window and middle passengers
near the back of the plane board first; those with aisle seats near the front are called last. This strategy
is proven to be an efficient method by American West Airlines [2].
Optimal Method: This method is to make passengers board in order from Back-to-Front but in
every other row. This method aims at reducing the interference among passengers from back and the
front and giving passengers enough space to load their luggage, which reduces the luggage delay in
return. However, this method is not practical based on South West Airline experience. It is a challenge
to arrange all the passengers in the proper order [7].
Practical Optimal Method: This technique defines four boarding groups. First group is all
passengers in even rows in one side of the airplane. The second group is all passengers in even rows in
another side of the airplane. The third and fourth group is the passengers in odd rows in each side of
the airplane. This method is not as efficient as the optimal method but it is practical and it proved to
be a successful boarding method [7].
Aerospace 2017, 4, 57 3 of 22

A number of studies have been conducted previously by implementing various boarding


strategies using different simulation techniques including: Linear Programming [8], Discrete-Event
simulation [2] and even Cellular Automata [6]. A comprehensive literature survey about passenger
boarding simulation techniques was reported in Reference [13] while a newer more extensive
comparative study [14] was published in 2014 taking into account past, current and future research in
this area. The study analyzes a number of research conducted on traditional (e.g., random, back-to-front
and outside-in) and newer boarding strategies (e.g., eliminating carry-on luggage, using two doors),
where authors summarized that, based on the studies found, simple strategies such as random boarding
generally outperforms the commonly used back-to-front method.
New research has been reported recently that takes into account other factors such as changing
aircraft layout at the infrastructure level and seat interference [15]. Most related effort to our work can
be found in References [16–19]. In Reference [12], a grid based simulation model was used based on
the asymmetric simple exclusion process (ASEP) where simulation is carried as a stochastic forward
directed, one dimensional and discrete time and space process. The work focused on analyzing
boarding time from three perspectives: seat load factors, passenger acceptance of chosen boarding
order and arrival rates. The simulation results also showed that the use of rear door enhances boarding
efficiency by 25%.
In this work, we have implemented precise and aircraft-independent boarding strategies and
provide a comparison of their efficiency. Our simulation is based on the Discrete-Event System
Specification DEVS and Cell-DEVS theory. Unlike Cellular Automata (CA), Cell-DEVS does not
require updating the entire cellular grid at every time step. Rather, only cells with updated neighbor
values are evaluated. This improvement overcomes the issue of the original CA by reducing the overall
execution cost, leading to faster computations. We show that precise simulations results, comparable
to those produced by complex mathematical modeling techniques (like those reported in Reference [8]
using linear programming), can be obtained from the collective behavior of discrete-event cellular
grids. A number of research work has used cell-driven simulation (self-defined cellular simulation
environment) where they implement a simplified CA-based simulation to analyze boarding methods.
The work in Reference [3] for instance, augments the simulation study conducted in Reference [5] by
implementing a simple cell-based simulation environment to mimic passenger’s interactions while
boarding. Similarly, Steffen et al. [7] combine cell-divided simulation concept with Markov Chain
Monte Carlo optimization algorithm and propose their own optimal boarding strategy for their specific
simulation setting (boarding by seat). More recently, the researcher in Reference [20] improvised their
previous cell-based simulations [12] by studying use of an additional door for the boarding process,
a change of the boarding strategy and the potential application of different seat layouts. Field trials
were also carried out to evaluate the simulation results. Even though the above studies attempt to
include cell-based simulations, they do not make use of CA computational apparatus and instead
only divide their simulated environment into cells for handling interactions and capturing simulation
progression. In our study however, we systematically make use of the robust Cell-DEVS theory to
design and computer simulation scenarios.
The Cell-DEVS cell space is composed of very simple cells that make local decisions solely based
on the information gathered from their immediate neighbors. To implement our DEVS and Cell-DEVS
models we used CD++ [21] development toolkit. CD++ is an open-source object-oriented modeling
and simulation environment that implements both DEVS and Cell-DEVS theories in C++. The tool
provides a specification language that defines the model’s coupling, the initial values, the external
events and the local transition rules for Cell-DEVS models. CD++ also includes an interpreter for
Cell-DEVS models. The language is based on the formal specifications of Cell-DEVS. The model
specification includes the definition of the size and dimension of the cell space, the shape of the
neighborhood and the border.
Aerospace 2017, 4, 57 4 of 22

Cellular Discrete Event Approach


The selected modeling and simulation methodology for this work is the Cellular Discrete-Event
System Specification (Cell-DEVS) formalism [10]. A model defined by Cell-DEVS is a cellular grid
where each cell represents an independent agent. Agents communicate and interact with each other
throughout the simulation by sending/receiving messages. The behavior of each agent is expressed
using a state-machine. Agents can be stationary or mobile meaning they can change their position
within the grid. Each cell defines a surrounding neighborhood that affects its state value. Whenever a
computation is performed and the cell’s value is modified, all its neighboring cells get an update to
re-evaluate their states accordingly. A cell’s value changes as a result of a simple local computation
based on the current state of the cell and its immediate neighbors as dictated by the Cell-DEVS
specification. Each cell can choose to have as many direct or indirect neighbors.
A Cell-DEVS model is defined by:

TDC = <X, Y, I, S, θ, N, d, δint , δext , τ, λ, D>,

where X is a set of external input events; Y is a set of external output events; I represents the model’s
modular interface; S is the set of sequential states for the cell; θ is the cell state definition; N is the set
of states for the input events; d is the delay for the cell; δint is the internal transition function; δext is
the external transition function; τ is the local computation function; λ is the output function; and D
is the state’s duration function. The modular interface (I) represents the input/output ports of the
cell and their connection to the neighbor cell. Communications among cells are performed through
these ports. The values inserted through input ports are used to compute the future state of the cell
by evaluating the local computation function τ. Once τ is computed, if the result is different from the
current cell’s state, this new state value must be sent out to all neighboring cells informing the state
change. Otherwise, the cell remains in its current state and therefore no output will be propagated to
other cells. This will happen when the time given by the delay function expires. Finally, the internal,
external transition functions and output functions (λ) define this behavior. Cell-DEVS improves
execution performance of cellular models by using a discrete-event approach. It also enhances the
cell’s timing definition by making it more expressive.
CD++ [21] is an open-source object-oriented modeling and simulation environment that
implements Cell-DEVS theories in C++. The tool provides a specification language that defines
the model’s coupling, the initial values, the external events and the local transition rules for Cell-DEVS
models. CD++ also includes an interpreter for Cell-DEVS models. The language is based on the formal
specifications of Cell-DEVS. The model specification includes the definition of the size and dimension
of the cell space, the shape of the neighborhood and the border. The cell’s local computing function is
defined using a set of rules with the form postcondition delay {precondition}. These indicate that when
the precondition is met, the state of the cell changes to the designated postcondition after the duration
specified by delay. If the precondition is not met, then the next rule is evaluated until a rule is satisfied
or there are no more rules. CD++ also provides a visualization tool, called CD++ Modeler, which
takes the result of the Cell-DEVS simulation as input and generates a 2-D representation of the cell
space evolution over the simulation time. This feature of the tool provides an interactive environment
allowing for visual tracking of the mode’s evolution.

3. Modeling Assumptions
In order to implement the eight boarding strategies introduced in the previous section, common
parameters and assumptions were considered. Based on the study in Reference [22], we define ranges
for four different parameters as given in Table 1. These parameters define:

• Walking Speed: the speed range at which passenger walks from the moment he/she enters the
aircraft till reaching the target seat (unit: meter per second).
Aerospace 2017, 4, 57 5 of 22

• Clearing Time: the time range passengers spend on storing their luggage in the overhead
compartment or underneath the seat in the front (unit: seconds).
• Getting out of Seat: the time range a passenger takes to get up from their seat, allowing other
passengers to sit within that row (unit: seconds).
• Passenger Flow Rate: the range number of passengers that enter the aircraft at a certain amount
of time (unit: passenger per second).

Table 1. Basic parameters ranges [22].

Parameter Range Unit


Walking Speed 0.27–0.44 [m/s]
Clearing Time 6–30 [s]
Getting out of seat 3–4.2 [s]
Passenger flow rate 0.2–1 [pax/s]

All of these parameters are given in the form of a range from min_value to max_value. We have
mapped these ranges to our Cell-DEVS model to precisely implement a near-reality model of passenger
boarding strategies. Details of these mappings are given in the next section when the model’s rules
are explained. Recent studies were conducted to validate some of these parameters. Compared to the
assumptions reported in Table 1, the field trails in References [23,24] reported passenger flow rate of
0.48–3.17 pax/s and average baggage storage of 13.9 s for similar aircraft used in our study. Other
strategy-specific data were also reported that require further extension of our work to allow for a
comparative study.
There are two basic elements that interfere with the boarding process: aisle interference and seat
interference [22]. Aisle interference is introduced when a passenger is blocked by another passenger
in the aisle, while seat interference is when a passenger tries to get to a seat near the window but
is blocked by another passenger already seated near the aisle. Given these two interferences, three
types of delays are recognized: walking delay, luggage delay and variable seated passenger delay.
In Table 2, based on the range values presented on Table 1, we defined fixed delay values for the
following parameters:

• Walking Delay: the average time it takes a passenger to pass a row (unit: milliseconds).
• Luggage Delay: the average time spent by individual passengers to store their luggage in the
overhead compartment (unit: milliseconds).
• Middle Seat Delay: the delay time a window passenger should wait at the row until middle/aisle
passengers who are already seated within that row get up (unit milliseconds).
• Aisle Seat Delay: the delay time a window or middle passenger should wait at the row until aisle
passenger who is already seated within that row gets up (unit milliseconds).

Table 2. Various delay values [22].

Parameter Time Unit


Walking delay 2270 ms
Luggage Delay 18,000 ms
Two passengers get out of seats 4200 ms
Middle passenger gets out of seat 3600 ms
Aisle passenger gets out of seat 3000 ms

The models we present in this article do not consider passengers who travel in groups
(e.g., families with children), as this would affect the seating strategy, since they need to be boarded at
the same time. We are anticipating that extra delays might be introduced under such situations.
Aerospace 2017, 4, 57 6 of 22
Aerospace 2017, 4, 57 6 of 22
Aerospace 2017, 4, 57 6 of 22
The models we present in this article do not consider passengers who travel in groups (e.g.,
The models we present
families2017,
with4, children), as thisinwould
this article
affect do
the not consider
seating passengers
strategy, who
since they travel
need to beinboarded
groups at
(e.g.,
Aerospace 57 6 ofthe
22
Thewith
families models we present
children), as thisinwould
this article
affect do seating
the not consider passengers
strategy, since who
they needtravel
to be inboarded
groupsat(e.g.,
the
same time. We are anticipating that extra delays might be introduced under such situations.
families
same with
time. Wechildren), as this would
are anticipating affect
that extra the seating
delays strategy,
might be since under
introduced they need
suchtosituations.
be boarded at the
same
4. time. We
System Design
Designare anticipating that extra delays might be introduced under such situations.
4. System
4. System Design
Our
Our aircraft
4. System Designmodel
aircraft model defines
defines an
an Airbus
Airbus 320
320 internal
internal space
space layout
layout with
with two
two different
different seating
seating areas
areas
(first Our
and aircraft
economy model defines
classes) givingana Airbus
total of 320
26 internal
rows and space
150 layout
seats, a with
single two different
middle
(first and economy classes) giving a total of 26 rows and 150 seats, a single middle aisle aisle andseating areas
an entrance
and an
(first Our
and aircraft
economy model defines
classes) an Airbus
giving 320 internal space layout with two different seating areas
door as
entrance given
door in
asFigure
given 1.
in Figure 1. a total of 26 rows and 150 seats, a single middle aisle and an
(first anddoor
entrance economy
as givenclasses) giving
in Figure 1. a total of 26 rows and 150 seats, a single middle aisle and an
entrance door as given in Figure 1.

Figure 1. System overview.


Figure 1.
Figure System overview.
1. System overview.
Figure 1. System overview.
To model the proposed system using DEVS, we define a DEVS coupled model composed of an
To model
atomic model the
DEVS the proposed
proposed
component system
system
and using
usingDEVS,
a coupled DEVS, we
wedefine
Cell-DEVS grid aas
define DEVS
a DEVS coupled inmodel
coupled
illustrated composed
model
Figure of an
2.composed
Our DEVS of
an To
atomic model
DEVS
atomic DEVS the proposed
component
component system
and
and using
a coupled
aiscoupledDEVS, we
Cell-DEVS define
Cell-DEVS grid a DEVS coupled
gridaspassengers
asillustrated
illustratedin model composed
in Figure
Figure 2.2. Our
Our of
DEVSan
component “Passenger Generator” in charge of generating with specific seat numbers
atomic DEVS
component
component component
“Passenger
“Passenger and a coupled
Generator”
Generator” is
is in
in Cell-DEVS
charge of grid as
generating illustratedwith
passengers
passengers in specific
with Figure 2.seatOur DEVS
numbers
and injecting them into the Aircraft cellular model.
component
and injecting“Passenger Generator”
them into the Aircraft is in charge
cellular of generating passengers with specific seat numbers
model.
and injecting them into the Aircraft cellular model.

Figure 2. Discrete-Event System (DEVS) conceptual model of the system.


Figure 2. Discrete-Event System (DEVS) conceptual model of the system.
Figure 2. Discrete-Event System (DEVS) conceptual model of the system.
Figure 2. Discrete-Event System (DEVS) conceptual model of the system.
The two subsystems (Passenger Generator and Aircraft) are interconnected through
The twoports
input/output subsystems
defined in(Passenger
the Top Generator
coupled DEVS and Aircraft)The
specification. are interconnected
atomic Passenger through
Generator
The two
input/output subsystems
twoports (Passenger
subsystems
defined in the Generator
(Passenger
Top coupled and
Generator
DEVSAircraft) are interconnected
and Aircraft)
specification. Theare through input/output
interconnected
atomic Passenger through
Generator
component
ports is in
defined defined
the ascoupled
Top represented in specification.
DEVS Figure 3: The atomic Passenger Generator component is
input/output
component is ports defined
defined in the Topincoupled
as represented DEVS specification. The atomic Passenger Generator
Figure 3:
defined as represented
component is defined asinrepresented
Figure 3: in Figure 3:

Figure 3. Passenger generator DEVS specification.


Figure 3. Passenger generator DEVS specification.
Passenger generator
Figure 3. Passenger generator DEVS specification.
This internal behavior of the component is translated from its state diagram illustrated in
This
Figure 4. internal
Basically,behavior of the component
the Passenger Generator isis always
translated from itsmode.
in waiting state diagram
Wheneverillustrated in
the cellular
This
Figure
This internal
4. internal
Basically,behavior ofof
thethe
the Passenger
behavior component
Generator
component isisalways
translated
is translated from
in waiting
from itsmode.
its state state Whenever
diagramdiagram illustrated
illustratedthe in
cellular
in Figure 4.
Figure 4. Basically, the Passenger Generator is always in waiting mode. Whenever
Basically, the Passenger Generator is always in waiting mode. Whenever the cellular Aircraft model the cellular
Aerospace 2017, 4, 57 7 of 22
Aerospace 2017, 4, 57 7 of 22
Aerospace 2017, 4, 57 7 of 22
Aircraft model requests a new passenger entrance (indicated when the aircraft door is not occupied
Aircraft
requests model
by a passenger), requests
a new passenger a entrance
new passenger
the Passenger Generator entrance
when(indicated
calculates
(indicated aircraftwhen
an unassigned
the the
doorseat aircraft
and
is not sends
occupieddoor isseat
theby not occupied
number
a passenger), as
by
anainteger
the passenger),
Passengervalue the
GeneratorPassenger
to the “in” portGenerator
calculates ofan calculates
theunassigned
Aircraft an and
Cell-DEVS
seat unassigned seat
model.the
sends When and
seat sends
anumber
seat thean
number
as seat number
arrives
integer as
at the
value
an
to integer
input
the portvalue
“in” port oftothe
of the the “in”
door port
cell,
Aircraft it of
is the Aircraft
simply
Cell-DEVS Cell-DEVS
regarded
model. When model.
asa aseat When
passenger
number whoa seat
arrives number
is atassigned
the inputarrives
that at the
portspecific
of the
input port
seat number.
door of the door cell, it is simply regarded as a passenger who
cell, it is simply regarded as a passenger who is assigned that specific seat number. is assigned that specific
seat number.

Figure 4. Passenger generator state diagram.


Figure 4. Passenger generator state diagram.
Figure 4. Passenger generator state diagram.
Obviously, the seat numbers generated by the Passenger Generator model cannot be duplicates
Obviously,
Obviously,
and the order they the seat
the are numbers
seatsent out togenerated
numbers generated
the Aircraft by the
the Passenger
bydiffers Passenger
from one Generator
Generator
strategy to model
model cannot
cannot
another. Thisbe
beisduplicates
duplicates
discussed
and
and the order
the order
in Sections they are sent out to the Aircraft differs from one strategy to another.
they are sent out to the Aircraft differs from one strategy to another. This is discussed
5.1–5.8. This is discussed in
Sections
in The5.1–5.8.
Sections 5.1–5.8.Cell-DEVS model is defined as a coupled DEVS model with 430 cells, where each
Aircraft
The
The Aircraft
Aircraft
cell is a DEVS machine.Cell-DEVS
Cell-DEVS Themodel
modelisisdefined
model’s defined
layout isasillustrated
asa coupled
a coupled DEVS
in DEVS
Figuremodel
model with
5 where 430430
with cells,
yellow where
cells,
cells eachseats,
where
denote cell
each
is a
cell DEVS
rediscell
a DEVSmachine. The
machine.and
is a passenger model’s
Thegray
model’slayout is
cells layout illustrated in
is illustrated
in the middle Figure 5
in Figure
demonstrate where yellow
the5 aisle.
whereThe cells
yellow denote
cellsdoor
aircraft seats,
denote red
is a seats,
green
cell
cellis
red ina passenger
cell bottomand
is a passenger
the leftgray
and cellsof
gray
corner in the
theinmiddle
cells the middle
model. demonstrate
Thanksdemonstrate
to thethecapability
aisle. The aircraft
the aisle. ofThe door
aircraft
CD++ isdoor
a green
is a cell
in representing greenin
2D
the
cell bottom left
in the bottom
visualization corner
of theleft of the model.
corner ofour
simulation, Thanks
themodel
model. to the capability
Thanks toprocess
verification of CD++
the capability
was madein representing
of easy. 2D
CD++Basically, visualization
in representing
the flow2D of
of
thethe simulation,
visualization
passengers ofand
theour
the model
simulation,verification
order of beingprocess
our model
seats was
verification
occupied made
were easy.
process
easily wasBasically,
made
verifiable the flow
easy.
through the of the passengers
Basically, the flowThis
visualization. of
and
the
way, the
weorder
were of
passengers andseats
able the beingof
order
to observe occupied
seats
the were
being
progress of easily
occupied
the modelsverifiable
easilythrough
were dynamically
verifiable the
and visualization.
through
easily This way,This
the visualization.
verify their we
correctness.
were able to observe the progress of the models dynamically and easily verify
way, we were able to observe the progress of the models dynamically and easily verify their correctness. their correctness.

Figure 5. Aircraft Cell-DEVS model.


Figure 5. Aircraft Cell-DEVS model.
Figure 5. Aircraft Cell-DEVS model.
The Aircraft layout model in Figure 5 is defined in CD++ environment as following:
The Aircraft layout model in Figure 5 is defined in CD++ environment as following:
[aircraft]
The Aircraft layout model in Figure 5 is defined in CD++ environment as following:
[aircraft]
[aircraft]
type: cell
type: cell
width: 10
type: cell
width:
height:1043
width: 10
height: 43
neighbors: aircraft(−1,−1) aircraft(−1,0) aircraft(−1,1) aircraft(0,−4)
height: 43
neighbors:
neighbors:aircraft(−1,−1) aircraft(−1,0)aircraft(0,−1)
aircraft(0,−3) aircraft(0,−2) aircraft(−1,1)aircraft(0,0)
aircraft(0,−4)
neighbors:
neighbors:
neighbors: aircraft(−aircraft(0,2)
aircraft(0,−3)
aircraft(0,1) 1, −1) aircraft(
aircraft(0,−2) −1,0) aircraft(
aircraft(0,−1)
aircraft(0,3) −1,1) aircraft(0,−4)
aircraft(0,0)
neighbors:
neighbors:
neighbors: aircraft(0,1)
aircraft(1,−1) −aircraft(1,0)
aircraft(0,aircraft(0,2)
3) aircraft(0, −2) aircraft(0,−1) aircraft(0,0)
aircraft(0,3)
aircraft(1,1)
neighbors:
neighbors: aircraft(0,1)
aircraft(1,−1) aircraft(0,2)
aircraft(1,0) aircraft(0,3)
aircraft(1,1)
This yields a 10 by 43 cellular space where each cell defines fourteen cells in its neighborhood,
neighbors: aircraft(1,−1) aircraft(1,0) aircraft(1,1)
This yields
as shown a 106.byThe
in Figure 43 cellular
cellular neighborhood
space where each cell defines
indicates that thefourteen
value ofcells
a cellinisitsaffected
neighborhood,
by those
as shown
residing in
in Figure
its 6. The
neighborhood. cellular neighborhood
Thanks to Cell-DEVS indicates
theory, that
whenthe value
the of
value aofcell
a is
cell
This yields a 10 by 43 cellular space where each cell defines fourteen cells in its neighborhood, affected
changes, by those
only its
residing in
neighborhood
as its
shown in Figureneighborhood.
cells are
6. notifiedThanks to Cell-DEVS
rather neighborhood
The cellular theory,
than the entire cell when the
space (athat
indicates major value of
thelimitation a cell changes,
value ofofa Cellular only its
Automata).
cell is affected by
neighborhood cells are notified rather than the entire cell space (a major limitation
those residing in its neighborhood. Thanks to Cell-DEVS theory, when the value of a cell changes, of Cellular Automata).
only its neighborhood cells are notified rather than the entire cell space (a major limitation of
Cellular Automata).
Aerospace 2017, 4, 57 8 of 22
Aerospace 2017, 4, 57 8 of 22
Aerospace 2017, 4, 57 8 of 22

Figure
Figure6.6.Aircraft
Aircraftmodel
modelcellular
cellularneighborhood.
neighborhood.
Figure 6. Aircraft model cellular neighborhood.
In order to recognize different cells (passenger, door, aisle, occupied and empty seats, etc.) we
In
In order to
to recognize
orderour recognize different
different cells (passenger,
cells (refer
(passenger, door,
door, aisle, occupied and empty seats, etc.) we
have defined model states as follows to Table 3): aisle, occupied and empty seats, etc.) we
have defined our model states as follows (refer to Table
have defined our model states as follows (refer to Table 3): 3):
Table 3. Cellular state values.
Table 3.
Table 3. Cellular
Cellular state
state values.
values.
State Name State Value Color Description
State Name
Wall State 0Value Color
Black WallDescription
or obstacle
State Name State Value Color Description
Wall
Aisle 1, 0
51–76 Black
Gray Wall Aisle
or obstacle
Wall
Aisle 1, 051–76 Black
Gray Wall or obstacle
Door Open
Aisle 2
1, 51–76 Green
Gray BoardingAisledoor
Aisleis open
Door
Cabin
Door Open
Open 232 Green
Blue
Green Boarding
CabinBoarding door
or bathroom
door isis
open
or cafe
open
Cabin
Cabin
Empty Passenger Seat 3 3
100–3000 Blue
Blue
white Cabin Passenger seatororcafe
or
Cabin bathroom
or bathroom cafe
Empty Passenger
Empty Passenger
Walking Passenger Seat
Seat 100–3000
100–3000
10,000–300,000 white
white
Red Passenger
Passenger
Walking Passenger seat
seat
Walking Passenger
Walking Passenger 10,000–300,000
10,000–300,000 Red
Red Walking
Walking Passenger
Passenger
Seats
Seats with passenger
with passenger 44 Yellow
Yellow Seat Seat
is occupied with
is occupied with passenger
passenger
Seats withClosed
Door passenger 4 Yellow All the
Seatpassengers
is occupiedhavewithbeenpassenger
Door Closed 99 Green
Green All the passengers have been boarded
boarded
Door Closed 9 Green All the passengers have been boarded
Figure 7 demonstrates a screenshot of the aircraft’s front where all seats are occupied (yellow),
Figure
Figure 77 demonstrates
demonstrates aa screenshot
screenshot of the
of is
the aircraft’s front where all seats are occupied (yellow),
the door is closed (green) and no passenger inaircraft’s
the aisle front
(gray).where all seats are occupied (yellow),
the
the door
door is
is closed
closed (green)
(green) and
and nono passenger
passenger is
is in
in the
the aisle
aisle (gray).
(gray).

Figure 7. Mapping state values to cells.


Figure 7. Mapping state values to cells.
Figure 7. Mapping state values to cells.
5. Implementation Details
5. Implementation Details
5. Implementation
Seat numbers are Details
generated randomly but are injected into the Aircraft model in a different
Seat
sequence numbers
order are generated
depending randomly but are Thus,
on the boarding injected into the Aircraft model in a different
Seat numbers are generated randomlystrategy.
but are injected eight different
into versions
the Aircraft modelof the
in aPassenger
different
sequence
Generator order depending
modeldepending on
were implemented the boarding strategy.
to accommodate Thus,
theseeight different
restrictions. versions
By usingoftheof the Passenger
sequence order on the boarding strategy. Thus, eight different versions thesame seed
Passenger
Generator model
numbers, were implemented torandom
accommodate these restrictions. By usingruns, the same seed
Generatorwe havewere
model enforced identicalto
implemented accommodateoutputstheseoverrestrictions.
various simulation
By using the same thus seed
our
numbers,
experiments wedidhave
not enforced
need to be identical
replicated. random
Although, outputs
the over
three various
models simulation
define the runs,
exact same thus
DEVSour
numbers, we have enforced identical random outputs over various simulation runs, thus our
experiments did not
specification need to be replicated. Although, the behavior
three models define the exact same DEVS
experiments that wasneed
did not illustrated in Figure 3,
to be replicated. the internal
Although, the three given
models by the
define theexternal
exact sametransition
DEVS
specification
function that
is slightly was illustrated
different. Next,in in
weFigure 3,
will presentthe internal behavior
these variations. given by the external transition
specification that was illustrated Figure 3, the internal behavior given by the external transition
function is slightly different. Next, we will present these variations.
function is slightly different. Next, we will present these variations.
5.1. Seat Generation in Back-to-Front Strategy
5.1. Seat
5.1. Seat Generation
Generation in in Back-to-Front
Back-to-Front Strategy
Strategy
The Back-to-Front strategy includes six boarding zones: zone_1 (rows 1 to 3, business seats),
zone_2 The
The Back-to-Front
(rows
Back-to-Front strategy(rows
22 to 26), strategy
zone_3 includes
includes17 tosix21),
six boarding zones:
zone_4 zones:
boarding (rows 12 zone_1
to 16),
zone_1 (rows 11 to
zone_5
(rows 3, business
to(rows
3, business seats),
7 to 11)seats),
and
zone_2
zone_6 (rows
zone_2 (rows 22 to 26),
(rows 422toto6).26),
Seat zone_3
numbers
zone_3 (rows
(rows 17 to
are17generated 21), zone_4
based(rows
to 21), zone_4 (rows
on zones 12
12 towith to 16), zone_5
a simple
16), zone_5 formula
(rows (rows 7 to
thatand
7 to 11) 11)
considersand
zone_6
zone_6 (rows 4 to 6). Seat numbers are generated based on zones with a simple
the row number and the seat capacity within that row (6 for economy rows 4–26 and 4 for first-class formula that considers
the row number and the seat capacity within that row (6 for economy rows 4–26 and 4 for first-class
Aerospace 2017, 4, 57 9 of 22

(rows 4 to 6). Seat numbers are generated based on zones with a simple formula that considers the
row number and the seat capacity within that row (6 for economy rows 4–26 and 4 for first-class rows
1–3). The code snippet in Figure 8 illustrates how seats within zones 1, 2, 3 and 6 are generated upon
Aerospace 2017, 4, 57 9 of 22
initialization of the DEVS model.
rows 1–3). The code snippet in Figure 8 illustrates how seats within zones 1, 2, 3 and 6 are generated
upon initialization of the DEVS model.

Figure 8. Back-to-Front seat number generation for sample zones: 1, 2, 3 and 6.

Figure 8. Back-to-Front seat number generation for sample zones: 1, 2, 3 and 6.


Given all seat numbers, upon each request from the Aircraft cellular model, the Passenger
Generator
Given model
all seatinjects a random
numbers, seatrequest
upon each numberfrom
within the current
the Aircraft boarding
cellular model,zone. In our
the Passenger
implementation,
Generator modelweinjects
simplyahandle this seat
random by shuffling
numberthewithin
seat numbers withinboarding
the current each zonezone.
as following:
In our
implementation, we simply handle this by shuffling the seat numbers within each zone as following:
random_shuffle(v1.begin(), v1.end());
random_shuffle(v1.begin(), v1.end());
With
With Back-to-Front
Back-to-Front strategy,
strategy, random
random seat
seat numbers
numbers areare sent
sent out
out to
to the
the Aircraft
Aircraft in
in the
the order
order of
of
zone_1,
zone_1, zone_6,
zone_6,zone_5,
zone_5,zone_4,
zone_4,zone_3
zone_3andandzone_2.
zone_2.Only when
Only whenallall
seat numbers
seat numbersfrom a given
from zonezone
a given are
sent out, out,
are sent the seat numbers
the seat fromfrom
numbers next zone are selected.
next zone This behavior
are selected. is implemented
This behavior withinwithin
is implemented the DEVS
the
external
DEVS external transition function which is triggered when the Aircraft requests a passenger an
transition function which is triggered when the Aircraft requests a passenger by sending by
input through port “in” of the Passenger Generator model. This is shown in Figure
sending an input through port “in” of the Passenger Generator model. This is shown in Figure 9.9.

Figure 9.
Figure 9. Back-to-Front
Back-to-Front random
random seats
seats selection.
selection.

5.2. Seat Generation in Random Strategy


5.2. Seat Generation in Random Strategy
Seat generation for Random strategy consists of two zones: zone_1 (rows 1 to 3, business seats)
Seat generation for Random strategy consists of two zones: zone_1 (rows 1 to 3, business seats)
and zone_2 (economy class seats of rows 4 to 26). All seats are generated randomly, depicting the
and zone_2 (economy class seats of rows 4 to 26). All seats are generated randomly, depicting the
random seat assignment, as presented in Figure 10.
random seat assignment, as presented in Figure 10.

Figure 10. Random strategy seat number generation.


Figure 9. Back-to-Front random seats selection.

5.2. Seat Generation in Random Strategy


Seat generation for Random strategy consists of two zones: zone_1 (rows 1 to 3, business seats)
and zone_2
Aerospace (economy
2017, 4, 57 class seats of rows 4 to 26). All seats are generated randomly, depicting
10 ofthe
22
random seat assignment, as presented in Figure 10.

Aerospace 2017, 4, 57 Figure 10. Random


Figure 10. Random strategy
strategy seat
seat number generation.
number generation. 10 of 22

Seats at then randomly shuffled at both zones by invoking the random_shuffle operation on seat
Seats at then randomly shuffled at both zones by invoking the random_shuffle operation on
queues.
seat queues.

5.3.
5.3. Seat
Seat Generation
Generation in
in Window
Window Middle
Middle Aisle
Aisle (WMA)
(WMA) Strategy
Strategy
The WMA strategy
The WMA strategydefines
definesfour
fourzones:
zones: zone_1
zone_1 (rows
(rows 1 to1 3,tobusiness
3, business seats),
seats), zone_2
zone_2 (window
(window seats
seats of rows 4 to 26), zone_3 (middle seats of rows 4 to 26) and zone_4 (aisle seats of rows
of rows 4 to 26), zone_3 (middle seats of rows 4 to 26) and zone_4 (aisle seats of rows 4 to 26). The 4 to first
26).
The
zonefirst
seatszone seats are similar
are generated generated similar to Back-to-Front
to Back-to-Front Strategy and then Strategy and for
the seats then
thethe seats forthree
remaining the
remaining three zones are generated as presented
zones are generated as presented in Figure 11. in Figure 11.

Figure 11.
Figure Window Middle
11. Window Middle Aisle
Aisle (WMA)
(WMA) seat
seat number
number generation.
generation.

As discussed
discussed inin Back-to-Front
Back-to-Front strategy,
strategy, the seat numbers
numbers are sent to the Aircraft by selecting
random seat numbers from within each zone, given a zone sequence of: first-class
first-class (zone_1),
(zone_1), window
window
seats (zone_2), middle seats (zone_3) and aisle seats (zone_4).
(zone_4). Only
Only when
when aa zone
zoneisiscompletely
completelyseated,
seated,
the next zone is selected for seating (random fashion is only within each zone, the zones follow
next zone is selected for seating (random fashion is only within each zone, the zones follow WMA
sequence).
WMA sequence).

Seat Generation
5.4. Seat Generation in Zone Rotate Strategy
strategy defines six zones: zone_1
Zone Rotate strategy zone_1 (rows
(rows 11 to 3, business
business seats),
seats), zone_2
zone_2 (rows
(rows 22 to
zone_3 (rows
26), zone_3 (rows 44 to
to 8),
8), zone_4
zone_4 (rows
(rows 17
17 to
to 21),
21), zone_5
zone_5 (rows
(rows 99 to
to 13)
13) and
and zone_6
zone_6 (rows
(rows 1414 to
to 16).
16).
Figure 12 provides the implementation of zone_1 and zone_4. Similar to other strategies,
strategies, seats within
each zone are then randomly shuffled.
5.4. Seat Generation in Zone Rotate Strategy
Zone Rotate strategy defines six zones: zone_1 (rows 1 to 3, business seats), zone_2 (rows 22 to
26), zone_3 (rows 4 to 8), zone_4 (rows 17 to 21), zone_5 (rows 9 to 13) and zone_6 (rows 14 to 16).
Figure 12
Aerospace provides
2017, 4, 57 the implementation of zone_1 and zone_4. Similar to other strategies, seats within
11 of 22
each zone are then randomly shuffled.

Aerospace 2017, 4, 57 Figure 12.


Figure 12. Zone
Zone rotate seat number
rotate seat number generation.
generation. 11 of 22

5.5. Seat Generation in Reverse Pyramid (RP) Strategy


5.5. Seat Generation in Reverse Pyramid (RP) Strategy
Similar to Back-to-Front, the RP strategy defines six zones: zone_1 (rows 1 to 3, business seats),
Similar to Back-to-Front, the RP strategy defines six zones: zone_1 (rows 1 to 3, business seats),
zone_2 (window seats of rows 13 to 26), zone_3 (window seats of rows 8 to 12 and middle seats of
zone_2 (window seats of rows 13 to 26), zone_3 (window seats of rows 8 to 12 and middle seats of
rows 18 to 26), zone_4 (middle seats of rows 8 to 17 and window seats of rows 4 to 7), zone_5 (aisle
rows 18 to 26), zone_4 (middle seats of rows 8 to 17 and window seats of rows 4 to 7), zone_5 (aisle
seats of rows 17 to 26 and middle seats of rows 4 to 7) and zone_6 (aisle seats of rows 4 to 16). Figure
seats of rows 17 to 26 and middle seats of rows 4 to 7) and zone_6 (aisle seats of rows 4 to 16). Figure 13
13 provides the implementation of zone_3 and zone_4.
provides the implementation of zone_3 and zone_4.

Figure 13. RP seat number generation.


Figure 13. RP seat number generation.

5.6. Seat Generation


5.6. Seat Generation in
in Optimal
Optimal Strategy
Strategy
The Optimal strategy
The Optimal strategy consists
consists ofof thirteen
thirteen zones,
zones, where
where seats
seats are
are assigned
assigned toto each
each zone
zone asas follows:
follows:
zone_1 (rows 1
zone_1 (rows 1 toto 3,
3, business
business seats),
seats), zone_2 (right side
zone_2 (right side window
window seatsseats onon odd
odd rows
rows 44 to
to 26),
26), zone_3
zone_3
(left side window seats on odd rows 4 to 26), zone_4 (right side window
(left side window seats on odd rows 4 to 26), zone_4 (right side window seats on even rows 4 to seats on even rows 4 to 26),
26),
zone_5
zone_5 (left side window seats on even rows 4 to 26), zone_6 (right side middle seats on odd rowsto4
(left side window seats on even rows 4 to 26), zone_6 (right side middle seats on odd rows 4
26), zone_7
to 26), zone_7(left(left
sideside
middle
middleseatsseats
on odd rowsrows
on odd 4 to 26),
4 tozone_8 (right (right
26), zone_8 side middle seats on
side middle evenonrows
seats even4
to 26), zone_9 (left side middle seats on even rows 4 to 26), zone_10 (right side aisle
rows 4 to 26), zone_9 (left side middle seats on even rows 4 to 26), zone_10 (right side aisle seats on seats on odd rows
4odd
to 26),
rows zone_11
4 to 26),(left side aisle
zone_11 (leftseats on odd
side aisle rows
seats on 4odd
to 26),
rowszone_12 (right
4 to 26), side (right
zone_12 aisle seats
side on even
aisle rows
seats on
4even
to 26) and zone_13 (left side aisle seats on even rows 4 to 26). Figure 14 shows
rows 4 to 26) and zone_13 (left side aisle seats on even rows 4 to 26). Figure 14 shows seat seat generation of only
two sampleof
generation zones.
only two sample zones.

Figure 14. Optimal


Figure 14. Optimal strategy
strategy seat
seat number
number generation.
generation.

5.7. Seat
5.7. Seat Generation
Generation in
in Optimal
Optimal Practical Strategy
Practical Strategy
The Optimal
The Optimal practical
practical strategy
strategy consists
consists of five zones,
of five zones, with
with the
the following
following configuration:
configuration: zone_1
zone_1
(first-class, rows 1 to 3), zone_2 (left side seats on odd rows 4–36), zone_3 (right side seats
(first-class, rows 1 to 3), zone_2 (left side seats on odd rows 4–36), zone_3 (right side seats on odd on odd
rows 4–36),
rows 4–36), zone_4
zone_4(left
(leftside
sideseats
seatson
oneven
evenrows
rows4–36)
4–36)and
and zone_5
zone_5 (right
(right side
side seats
seats on on even
even rows
rows 4–
4–36).
36). Figures 14 and 15 shows seat generation of only two sample zones. As in Optimal
Figures 14 and 15 shows seat generation of only two sample zones. As in Optimal Strategy, seats Strategy, seats
within each
within each zone
zone are
are randomly
randomly shuffled
shuffled afterwards.
afterwards.
5.7. Seat Generation in Optimal Practical Strategy
The Optimal practical strategy consists of five zones, with the following configuration: zone_1
(first-class, rows 1 to 3), zone_2 (left side seats on odd rows 4–36), zone_3 (right side seats on odd
rows 4–36), zone_4 (left side seats on even rows 4–36) and zone_5 (right side seats on even rows 4–
36). Figures
Aerospace 2017,14 and 15 shows seat generation of only two sample zones. As in Optimal Strategy,12seats
4, 57 of 22
within each zone are randomly shuffled afterwards.

Figure
Figure 15.
15. Optimal
Optimal strategy
strategy seat
seat number
number generation.
generation.
Aerospace 2017, 4, 57 12 of 22

5.8.
5.8. Seat
Seat Generation
Generation in
in Efficient
Efficient Strategy
Strategy
The
The Efficient
Efficientstrategy
strategygenerates
generatesfivefive
zones, where
zones, zones zones
where are assigned the following
are assigned seat numbers:
the following seat
zone_1
numbers: zone_1 (first-class, rows 1 to 3), zone_2 (window seats on rows 16 to 26 andon
(first-class, rows 1 to 3), zone_2 (window seats on rows 16 to 26 and middle seats rows 22
middle to
seats
26), zone_3
on rows (window
22 to seats(window
26), zone_3 on rows 12 to 15
seats onand
rows middle
12 to 15seats
andon rows 15
middle to 21
seats onand
rows aisle seats
15 to on rows
21 and aisle
21
seats on rows 21 to 26), zone_4 (window seats on rows 5 to 11 , middle seats on rows 10 toon
to 26), zone_4 (window seats on rows 5 to 11 , middle seats on rows 10 to 14 and aisle seats 14rows
and
15 to 20)
aisle seatsandonzone_5
rows 15(window
to 20) andseats on row
zone_5 4, middle
(window seats
seats on on
rowrows 4 to 9 and
4, middle seatsaisle seats 4ontorows
on rows 9 and 4
to 14).seats
aisle Figure 16 shows
on rows seatFigure
4 to 14). generation of only
16 shows seattwo sample zones.
generation of onlySeats within zones.
two sample each zone
Seatsare then
within
randomly shuffled.
each zone are then randomly shuffled.

Figure 16.
Figure 16. Optimal
Optimal strategy
strategy seat
seat number
number generation.
generation.

Unlike the DEVS Passenger Generator model which has to behave differently under various
Unlike the DEVS Passenger Generator model which has to behave differently under various
boarding strategies, the Aircraft Cell-DEVS model is exactly the same. The following section reveals
boarding strategies, the Aircraft Cell-DEVS model is exactly the same. The following section reveals
its details.
its details.
5.9. Aircraft Rules Specification and Implementation
5.9. Aircraft Rules Specification and Implementation
Based on the Cell-DEVS model defined in Section 3, the Aircraft model implements a series of
Based on the Cell-DEVS model defined in Section 3, the Aircraft model implements a series of
rules that are evaluated for every cell on the cell space over time steps. As mentioned before, the eight
rules that are evaluated for every cell on the cell space over time steps. As mentioned before, the
boarding strategies use the exact same Cell-DEVS Aircraft model, since the boarding pattern really
eight boarding strategies use the exact same Cell-DEVS Aircraft model, since the boarding pattern
depends on the order at which passengers are called to enplane. This is handled by the DEVS
really depends on the order at which passengers are called to enplane. This is handled by the DEVS
Passenger Generator model described in the previous section. Here we will present the cellular model
Passenger Generator model described in the previous section. Here we will present the cellular model
rules and explain how simulation evolves based on the discrete-event continuous-time property of
rules and explain how simulation evolves based on the discrete-event continuous-time property of
DEVS theory.
DEVS theory.
The rules are divided into two groups:
The rules are divided into two groups:
1 pre-seat rules: a set of nine rules with responsibilities to send requests to the Passenger Generator
1. pre-seattorules:
model releasea set of nine rules
passengers andwith responsibilities
guide passengers attothesend requests
aircraft doortotothe Passenger
walk Generator
to the beginning
model to release passengers and guide passengers at the aircraft door to walk to the beginning
of the seats aisle. The area that pre-seat rules apply to is from cell (0, 0) to cell (6, 0) where cell of
thex)seats
(y, aisle.the
defines The areaxthat
y and pre-seat of
coordinates rules
theapply
cell ontothe
is from
grid. cell
The(0, 0) to cell
affected area(6,by
0) pre-seat
where cell (y,
rules
is highlighted in a surrounding solid box in Figure 17.
2 seating rules: a set of 33 rules handling passengers’ forward movement within the aisle and
occupation of seats. These rules only apply to the cells that represent the seats (both first-class
and economy) and the aisle, as well as passengers on these cells. This area is highlighted in
Figure 17 with a surrounding dashed box.
Aerospace 2017, 4, 57 13 of 22

x) defines the y and x coordinates of the cell on the grid. The affected area by pre-seat rules is
highlighted in a surrounding solid box in Figure 17.
2. seating rules: a set of 33 rules handling passengers’ forward movement within the aisle and
occupation of seats. These rules only apply to the cells that represent the seats (both first-class
and economy) and the aisle, as well as passengers on these cells. This area is highlighted in
Figure 17 with a surrounding dashed box.
Aerospace 2017, 4, 57 13 of 22

Figure 17. Areas evaluated by “pre-seat” (solid box) and “seating” (dashed box) rules.
Figure 17. Areas evaluated by “pre-seat” (solid box) and “seating” (dashed box) rules.

A rule in Cell-DEVS is the local computing function which is defined in the form of {result} delay
A rule in Cell-DEVS
{precondition}. This indicatesis thethat
localwhen
computing function which
the precondition is defined
is met, the state inof
thethe
form
cellofchanges
{result} to
delay
the
{precondition}. This indicates that when the precondition is met, the state
designated result after the duration specified by delay. If the precondition is not met, then the next of the cell changes to the
designated resultuntil
rule is evaluated afterathe
ruleduration
is satisfiedspecified
or thereby aredelay.
no more If the precondition
rules. In the space is not met,
below wethen
willthe next
present
rule
someisofevaluated
the rulesuntil a rule is satisfied
implemented or there
in Aircraft model. are no more rules. In the space below we will present
someForof the rules implemented in Aircraft model.
instance, the following rule (from pre-seat rules):
For
rule:instance, the following0rule
{(0,0) + send(out1,2)} (from
{(0,0) = 2} pre-seat rules):
rule:
defines {(0,0)
that + send(out1,2)}
whenever the door 0cell {(0,0) = 2}
is unoccupied, a request for passenger entrance should be sent to
defines that whenever the
the Passenger Generator model immediately. door cell is unoccupied, a request for passenger entrance should be
sent to the Passenger Generator model immediately.
Now let’s consider the seating rules for a scenario where a passenger is walking down the aisle
Now
with a windowlet’s consider
seat assignedthe seating
to her.rules
There for a scenario
are four possiblewhere a passenger
scenarios, thusisfour
walking down rules:
evaluation the aisle
with (1)
a window seat assigned to her.
Aisle seat and middle seat is occupied: There are four possible scenarios, thus four evaluation rules:
(1) Aisle
rule: seat and middle seat is occupied:{(0,0) > 10000 and (0,−1) = 4 and (0,−2) = 4}
1 #Macro(WBothSeatDelayAddUp)
rule: 1 #Macro(WBothSeatDelayAddUp)
(2) Only aisle seat is occupied: {(0,0) > 10000 and (0,−1) = 4 and (0,−2) = 4}
(2) Only aisle seat is occupied:
rule: 1 #Macro(WAisleSeatDelayAddUp) {(0,0) >10000 and (0,−1) = 4 and (0,−2) > 100}
rule: 1 #Macro(WAisleSeatDelayAddUp)
(3) Only middle seat is occupied: {(0,0) >10000 and (0,−1) = 4 and (0,−2) > 100}
(3) Only middle seat is occupied:
rule: 1 #Macro(WMiddleSeatDelayAddUp) {(0,0) > 10000 and (0,−2) = 4 and (0,−1) > 100}
rule: 1 #Macro(WMiddleSeatDelayAddUp)
(4) Neither the aisle seat nor the middle seat{(0,0) > 10000 and (0,−2) = 4 and (0,−1) > 100}
is occupied:
(4) Neither the aisle seat nor the middle seat is occupied:
rule: 1 #Macro(WNoneSeatDelayAddUp) {(0,0) > 10000 and (0,−1) > 100 and (0,−2) > 100}
rule: 1 #Macro(WNoneSeatDelayAddUp)
The #Macros defined in the above rules {(0,0) are the > 10000
fixed and (0,−applied
delays 1) > 100to and −2) > 100}when
the(0,passenger
Thegets
he/she #Macros
to thedefined
assigned in the
row. above
Theserules are the
delays arefixed delays
defined inapplied to the passenger
a “boarding.inc” when
file with a he/she
format
gets to the assigned row. These delays are defined in a “boarding.inc” file
presented in Figure 18. The delay values are conducted from the literature and were addressed earlier with a format presented in
Figure 18.
in Table 2. The delay values are conducted from the literature and were addressed earlier in Table 2.
(4) Neither the aisle seat nor the middle seat is occupied:
rule: 1 #Macro(WNoneSeatDelayAddUp) {(0,0) > 10000 and (0,−1) > 100 and (0,−2) > 100}
The #Macros defined in the above rules are the fixed delays applied to the passenger when
he/she gets to the assigned row. These delays are defined in a “boarding.inc” file with a format
presented
Aerospace in4,Figure
2017, 57 18. The delay values are conducted from the literature and were addressed earlier
14 of 22
in Table 2.

Figure
Figure 18.
18. Sample
Sample macros
macros defining
defining various delay values
various delay values based
based on
on Table
Table 22 ranges.
ranges.

In order to execute the simulations, a model file is created, providing DEVS top level structure
In order to execute the simulations, a model file is created, providing DEVS top level structure
where Passenger Generator and Cellular Aircraft models are connected through coupling. CD++
where Passenger Generator and Cellular Aircraft models are connected through coupling. CD++ allows
allows creating
Aerospace 2017, 4, 57 and editing model file by providing syntax checking mechanism. Another file that
14 of 22
creating and editing model file by providing syntax checking mechanism. Another file that needs to be
generated
needs to be is the model initialization
generated is the modelfile, consistingfile,
initialization of initial valuesofforinitial
consisting the cells, as demonstrated
values in
for the cells, as
Figure 19.
demonstrated in Figure 19.

Figure 19. Initializing cell space with various values.


Figure 19. Initializing cell space with various values.

The Passenger Generator, a DEVS model, is implemented in C++ (requiring a header and source
code The Passenger
files). Figure 20Generator,
provides aa screenshot
DEVS model, is implemented
of the in C++ (requiring
Passenger Generator a header
source code Figureand
20. source
code files). Figure 20 provides a screenshot of the Passenger Generator source code Figure 20.
Figure 19. Initializing cell space with various values.

The
Aerospace Passenger
2017, 4, 57 Generator, a DEVS model, is implemented in C++ (requiring a header and source
15 of 22
code files). Figure 20 provides a screenshot of the Passenger Generator source code Figure 20.

Figure 20. Passenger generator header and source file (C++).


Figure 20. Passenger generator header and source file (C++).
CD++ provides a visualization tool, called CD++ Modeler, which takes the result of the Cell-
DEVSCD++ providesasa input
simulation visualization tool, called
and generates a 2-DCD++ Modeler, which
representation of the takes the result
cell space of theover
evolution Cell-DEVS
the
simulationastime
simulation input(presented in Figure
and generates 21).
a 2-D We will use this
representation feature
of the to visually
cell space present
evolution overthetheresults of
simulation
our
time simulations.
(presented
Aerospace 2017, 4, 57in Figure 21). We will use this feature to visually present the results of our simulations.
15 of 22

Figure 21. CD++ animation for Cell-DEVS.


Figure 21. CD++ animation for Cell-DEVS.

6. Simulation Results
6. Simulation Results
Given the common Cell-DEVS model file (“Aircraft.MA”) we execute the overall simulation by
Given the common Cell-DEVS model file (“Aircraft.MA”) we execute the overall simulation by
including the desired Passenger Generator DEVS model for the specific boarding strategy (generating
including the desired Passenger Generator DEVS model for the specific boarding strategy (generating
strategy-specific seat assignments). The simulation results are captured in the following screenshots.
strategy-specific seat assignments). The simulation results are captured in the following screenshots.
Figure 22 shows four simulation scenarios of the Back-to-Front strategy: (a) one passenger has entered
Figure 22 shows four simulation scenarios of the Back-to-Front strategy: (a) one passenger has entered
the aircraft and currently occupying the door; (b) the first-class zone is completely seated; (c) the last
the aircraft and currently occupying the door; (b) the first-class zone is completely seated; (c) the last
back two zones are also seated; (d) the last passenger is about to be seated. Similar simulation results
back two zones are also seated; (d) the last passenger is about to be seated. Similar simulation results
were also conducted for the other eight strategies. As illustrated in Figure 23 for the WMA strategy,
were also conducted for the other eight strategies. As illustrated in Figure 23 for the WMA strategy,
the four scenarios describe when: (a) the first-class passengers are seated; (b) all window passengers
the four scenarios describe when: (a) the first-class passengers are seated; (b) all window passengers
are seated; (c) all middle passengers are seated and (d) the last three aisle passengers are about to be
are seated; (c) all middle passengers are seated and (d) the last three aisle passengers are about to be
seated. Simulation screenshots for Random, Zone Rotate, Reverse Pyramid, Optimal, Optimal
seated. Simulation screenshots for Random, Zone Rotate, Reverse Pyramid, Optimal, Optimal Practical
Practical and Efficient strategies are given in Figures 24–29 respectively, illustrating four various
simulation scenes (initial, midway, near final and final) for each strategy. Video representation of the
simulation runs can be viewed here [25] to better illustrate various strategies.
Aerospace 2017, 4, 57 16 of 22

and Efficient strategies are given in Figures 24–29 respectively, illustrating four various simulation
scenes (initial, midway, near final and final) for each strategy. Video representation of the simulation
runs can2017,
Aerospace be viewed
4, 57 here [25] to better illustrate various strategies. 16 of 22
Aerospace 2017, 4, 57 16 of 22

Figure 22. Back-to-Front strategy.


Figure 22. Back-to-Front strategy.
Figure 22. Back-to-Front strategy.

Figure 23. Window Middle Aisle (WMA) strategy.


Figure 23. Window Middle Aisle (WMA) strategy.
Figure 23. Window Middle Aisle (WMA) strategy.
Aerospace 2017, 4, 57 17 of 22
Aerospace 2017, 4, 57 17 of 22
Aerospace 2017, 4, 57 17 of 22

Figure 24. Random strategy.


Figure 24.
Figure Random strategy.
24. Random strategy.

Figure 25. Zone rotate strategy.


Figure 25. Zone rotate strategy.
Figure 25. Zone rotate strategy.
Aerospace 2017, 4, 57 18 of 22
Aerospace 2017, 4, 57 18 of 22
Aerospace 2017, 4, 57 18 of 22

Figure
Figure 26.
26. Reverse
Reverse pyramid
pyramid strategy.
strategy.
Figure 26. Reverse pyramid strategy.

Figure 27. Optimal strategy.


Figure 27. Optimal strategy.
Figure 27. Optimal strategy.
Aerospace 2017, 4, 57 19 of 22
Aerospace 2017, 4, 57 19 of 22
Aerospace 2017, 4, 57 19 of 22

Figure 28.
Figure 28. Optimal
Optimal practical (every other
practical (every other row)
row) strategy.
strategy.
Figure 28. Optimal practical (every other row) strategy.

Figure 29. Efficient strategy.


Figure
Figure 29.
29. Efficient
Efficient strategy.
strategy.
In order to compare the performance of the implemented strategies, we collected the overall
In order to compare the performance of the implemented strategies, we collected the overall
execution timetofor
In order the simulations.
compare Two setsofofthe
the performance experiments
implemented werestrategies,
conducted,we investigating
collected thefixed and
overall
execution time for the simulations. Two sets of experiments were conducted, investigating fixed and
variant walking delay for passengers based on the values expressed in Table
execution time for the simulations. Two sets of experiments were conducted, investigating fixed 1 (delay ranges) and
variant walking delay for passengers based on the values expressed in Table 1 (delay ranges) and
Tablevariant
and 2 (fixedwalking
delays).delay
With for
fixed delay values
passengers for all
based on passengers (Table 2 fixed
the values expressed delay 1values
in Table (delayfor every
ranges)
Table 2 (fixed delays). With fixed delay values for all passengers (Table 2 fixed delay values for every
passenger), the execution results revealed that among all strategies, the Window-Middle-Aisle
and Table 2 (fixed delays). With fixed delay values for all passengers (Table 2 fixed delay values for
passenger), the execution results revealed that among all strategies, the Window-Middle-Aisle
provides
every the fastest
passenger), theboarding
execution with onlyrevealed
results 26.16 min compared
that among all to strategies,
the Optimal thestrategy with 19.43 min.
Window-Middle-Aisle
provides the fastest boarding with only 26.16 min compared to the Optimal strategy with 19.43 min.
The Optimal
provides strategy
the fastest provides
boarding witha only
reference
26.16 point as the “fastest”
min compared boarding
to the Optimal method.
strategy Clearly,
with the
19.43 min.
The Optimal strategy provides a reference point as the “fastest” boarding method. Clearly, the
Optimal strategy is not practical since it will cause huge line ups at the gates, trying to
The Optimal strategy provides a reference point as the “fastest” boarding method. Clearly, the Optimal get passengers
Optimal strategy is not practical since it will cause huge line ups at the gates, trying to get passengers
entering the airplane one by one at a descending order of seat number (with exception for first-class
entering the airplane one by one at a descending order of seat number (with exception for first-class
Aerospace 2017, 4, 57 20 of 22

strategy is not practical since it will cause huge line ups at the gates, trying to get passengers entering
Aerospace 2017, 4, 57 20 of 22
the airplane
Aerospace 2017, one
4, 57 by one at a descending order of seat number (with exception for first-class passengers).
20 of 22
However,
passengers).as indicated
However,onasthe diagramon
indicated illustrated in Figure
the diagram 30, the Optimal
illustrated in FigurePractical
30, the strategy,
Optimal closest to
Practical
the optimal
passengers). concept,
However, was asstill outperformed
indicated on the by the
diagramWMA strategy.
illustrated in Figure
strategy, closest to the optimal concept, was still outperformed by the WMA strategy. 30, the Optimal Practical
strategy, closest to the optimal concept, was still outperformed by the WMA strategy.

Figure 30.
Figure 30. Boarding
Boarding time
time with
with fixed
fixed walking
walking delays.
delays.
Figure 30. Boarding time with fixed walking delays.
With variable delay values (selected randomly for passengers from the range values presented
With
With variable
variable delay
delay values
values (selected
(selected randomly
randomly for
for passengers
passengers from
from the
the range values presented
in Table 1), the simulation results yield slightly different timing values as range values
reported on presented
Figure 31.
in
in Table 1), the
Table 1), the simulation results yield slightly different timing values as reported on Figure 31.
31.
Nonetheless, thesimulation
WMA wasresults yield
again the slightly
fastest different
practical timingtaking
strategy, values as reported
only 32.57 minon Figure
compared to
Nonetheless,
Nonetheless, the
the WMA
WMA was
was again
againthe
thefastest
fastestpractical
practicalstrategy, taking
strategy, only
taking 32.57
only minmin
32.57 compared to the
compared to
the Optimal strategy with 26.93 min.
Optimal strategy
the Optimal withwith
strategy 26.93 min.min.
26.93

Figure 31. Boarding time with variable walking delays.


Figure 31. Boarding time with variable walking delays.
Comparing our results with similar studies in the literature, we find similar outcome. Table 4
Comparing
Comparing
summarizes our results
our results
the best with
with
practical similarstrategies
similar
boarding studies in
studies the
ininthe literature,
theliterature, we
literature,we find similar
find similar
revealing outcome.
that outcome. Table
Table 44
Window-Middle-
summarizes
summarizes thebest
Aisle as the the
most best practical
practical
efficient boarding
boarding
boarding strategies
strategies
method in the
in the literature,
literature,
for zone-based revealing
revealing
enplaning. that that Window-Middle-
Window-Middle-Aisle
Aisle as the most efficient boarding method for zone-based
as the most efficient boarding method for zone-based enplaning. enplaning.
Aerospace 2017, 4, 57 21 of 22

Table 4. Literature survey of comparative studies.

Author Best Strategy


Landeghem 2002 [5] WMA
Van Den Briel 2003 [1] WMA/Reverse Pyramid
Ferrari 2005 [3] WMA
Marelli 1998 [6] WMA
Steffen 2008 [7] WMA
Bazargan 2007 [8], Ferrari 2005 [3], Marelli 1998 [6] Efficient Strategy
Steffen 2012 [26] Zone Rotate Strategy

7. Conclusions
We presented a simulation study investigating the efficiency of aircraft’s passenger boarding
strategies. We used the Discrete Event System Specification (DEVS) and its cellular extension
(Cell-DEVS) theory to evaluate eight boarding strategies: Back-to-Front, Window Middle Aisle,
Random, Zone Rotate, Optimal, Optimal Practical, Reverse Pyramid and Efficient strategies. With the
obtained simulation results, we concluded that among the eight implemented boarding strategies, the
Window Middle Aisle provided the least boarding time, while Back-to-Front was the most inefficient
method. Given the ideal smallest boarding time of 18.55 min from the Optimal Strategy with fixed
walking delays, our most efficient boarding strategy exceeds this by about 7 min which in airlines world
is still a significant time incurring huge costs. We are currently implementing other boarding strategies,
as well as variable luggage storing delays, families with small children and passengers needing
assistance, aiming at exploring better options to save time, satisfying both passengers and airliners.

Author Contributions: Shafagh Jafer has compiled the manuscript and provided major text contribution, while
Wei Mi developed the models and conducted tests, as well as provided comparative results study.
Conflicts of Interest: There are no conflicts of interest.

References
1. Van den Briel, M.; Villalobos, J.; Hogg, G. The aircraft boarding problem. In Proceedings of the 12th Industrial
Engineering Research Conference (IERC), Portland, OR, USA, 18–20 May 2003. [CD ROM]; Paper No. 2153.
2. Van Den Briel, M.H.L.; Villalobos, J.R.; Hogg, G.L.; Lindemann, T.; Mulé, A.V. America west airlines develops
efficient boarding strategies. Interfaces 2005, 35, 191–201. [CrossRef]
3. Ferrari, P.; Nagel, K. Robustness of efficient passenger boarding strategies for airplanes. Transp. Res. Rec. J.
Transp. Res. Board 2005, 1915, 44–54. [CrossRef]
4. Nyquist, D.C.; McFadden, K.L. A study of the airline boarding problem. J. Air Transp. Manag. 2008, 14,
197–204. [CrossRef]
5. Van Landeghem, H.; Beuselinck, A. Reducing passenger boarding time in airplanes: A simulation based
approach. Eur. J. Oper. Res. 2002, 142, 294–308. [CrossRef]
6. Marelli, S.; Mattocks, G.; Merry, R. The role of computer simulation in reducing airplane turn time. Aero Mag.
1998, 1, 10.
7. Steffen, J.H. Optimal boarding method for airline passengers. J. Air Transp. Manag. 2008, 14, 146–150.
[CrossRef]
8. Bazargan, M. A linear programming approach for aircraft boarding strategy. Eur. J. Oper. Res. 2007, 183,
394–411. [CrossRef]
9. Zeigler, B.P.; Praehofer, H.; Kim, T.G. Theory of Modeling and Simulation: Integrating Discrete Event and
Continuous Complex Dynamic Systems; Academic press: Cambridge, MA, USA, 2000.
10. Wainer, G.A. Discrete-Event Modeling and Simulation: A Practitioner’s Approach; CRC Press: Boca Raton, FL,
USA, 2009.
11. Jafer, S.; Mi, W. Simulation of aircraft boarding strategies with discrete-event cellular DEVS. In Proceedings
of the Symposium on Theory of Modeling & Simulation-DEVS Integrative, Tampa, FL, USA, 13–16 April
2014; Society for Computer Simulation International: San Diego, CA, USA, 2014; p. 32.
Aerospace 2017, 4, 57 22 of 22

12. Schultz, M.; Christian, S.; Hartmut, F. Efficiency of Aircraft Boarding Procedures. In Proceedings of the
ICRAT 2008, Fairfax, VA, USA, 1–4 June 2008.
13. Audenaert, J.; Verbeeck, K.; Berghe, G.V. Multi-agent based simulation for boarding. In Proceedings of the
21st Belgian-Netherlands Conference on Artificial Intelligence, Eindhoven, The Netherlands, 29–30 October
2009; pp. 3–10.
14. Jaehn, F.; Neumann, S. Airplane boarding. Eur. J. Oper. Res. 2015, 244, 339–359. [CrossRef]
15. Schultz, M. The Seat Interference Potential as an Indicator for the Aircraft Boarding Progress; No. 2017-01-2113;
SAE Technical Paper; SAE: Warrendale, PA, USA, 2017.
16. Mas, S.; Juan, A.A.; Arias, P.; Fonseca, P. A simulation study regarding different aircraft boarding strategies.
In Modeling and Simulation in Engineering, Economics, and Management; Springer: Berlin/Heidelberg, Germany,
2013; pp. 145–152.
17. Steiner, A.; Philipp, M. Speeding up the airplane boarding process by using pre-boarding
areas. In Proceedings of the 9th Swiss Transport Research Conference, Monte Verità, Switzerland,
9–11 September 2009; pp. 1–30.
18. Bauer, M.; Bhawalkar, K.; Edwards, M. Boarding at the Speed of Flight. UMAP J. 2007, 28, 237.
19. Ciarallo, F.W.; Ward, K.K.; Hill, R.R. Modeling Airline Boarding for Improved Efficiency and Passenger
Experience. In Proceedings of the IIE Annual Conference, Pittsburgh, PA, USA, 20–23 May 2017; Institute of
Industrial and Systems Engineers (IISE): Norcross, GA, USA, 2017; pp. 1900–1905.
20. Schultz, M.; Kunze, T.; Fricke, H. Boarding on the critical path of the turnaround. In Proceedings of the 10th
USA/Europe air Traffic Management Research and Development Seminar (ATM2013), Chicago, IL, USA,
10–13 June 2013.
21. Wainer, G. CD++: A toolkit to develop DEVS models. Softw. Pract. Exp. 2002, 32, 1261–1306. [CrossRef]
22. Muller, J. Optimal Boarding Methods for Airline Passengers; Hamburg University Internal Report; Hamburg
University: Hamburg, Germany, August 2009.
23. Schultz, M. Aircraft Boarding-Data, Validation, Analysis. In Proceedings of the 12th USA/Europe Air Traffic
Management Research and Development Seminar, Seattle, WA, USA, 26–30 June 2017.
24. Schultz, M. Reliable Aircraft Boarding for Fast Turnarounds. In Proceedings of the ENRI International
Workshop on ATM/CNS (EIWAC 2017), Tokyo, Japan, 14–16 November 2017.
25. Cell-DEVS Boarding Strategies. Available online: https://youtu.be/sodyh4e5yyE?list=
PLRvCUnTmrqJCyZNDGAgJmXSu0N1i8GMzv (accessed on 26 November 2017).
26. Steffen, J.H.; Hotchkiss, J. Experimental test of airplane boarding methods. J. Air Transp. Manag. 2012, 18,
64–67. [CrossRef]

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

You might also like