WSC' 12 Preparing Manuscripts



Formal and operational validation of a bus stop public transport network MICRO SIMULATION



Pau Fonseca i Casas

Esteve Codina Sancho

Lídia Montero Mercadé

M.Paz Linares

Cristina Montañola-Sales

Universitat Politècnica de Catalunya

Statistics and Operations Research Department

Campus Nord, B5 building, InLab FIB

08034 Barcelona, Spain




We present a detailed simulation model with the purpose of analyzing the congestion and interaction between bus lines and passengers at stops. Our main goal is to perform a complete validation of a simulation model formalized in a standard language in order to use it as a basis to perform more complex experiments. The basis of the model is a queuing model that leads us to perform an operational validation. Since the model is completely represented using a formal language, the specialist can perform a formal validation of the model previously to any implementation. Thanks to the modular structure of the formal language used to define the model, the model can be easily expanded to represent more complex systems. Due to a formal representation, the implementation process can be done automatically implying that analysts should only be concerned about the correct definition of the diagrams that represent the model behavior.

1         Introduction

In the planning of public transportation systems, one of the key factors is the evaluation of the performance of stations in terms of available capacity for waiting passengers and the possibility for buses queuing in order to access the boarding/alighting berths. Operations and interactions between passengers and vehicles at bus stops are very complex, especially in congested situations. In fact, there has been the object of a large number of empirical studies such as those of TCRP in (Transportation Research Board National Research Council 2011) to model operational times such as dwell times and queuing of buses for the case of conventional urban bus lines. Moreover, the need for increasing the capacity of urban public transportation systems at a moderate cost has made to emerge the so-called Bus-Rapid-Transit systems, now implemented in a number of cities. The planning of these transportation systems has demanded the study of bus stops with special configurations, such as multiple berths, or with weaving sections.

      Analytical models for describing bulk service queuing of passengers at bus stops are very complex. No analytical models are known for the interactions between vehicles at multiple berth stations. Thus, the design of these systems has relied on simulators, capable of determining bus stop capacities for the complex configurations under study. Specifically designed simulators such as PASSION 5.0 by (Fernández 2007) and (Fernández 2010), used in the TransSantiago bus system, have replaced others initially developed such as the IRENE simulator, see (Gibson and Baeza 1989). These simulators are focused on a single bus stop and require inputs performance measures and characteristics of external flows.

      Passenger flows and their behavior on bus stops such as the willingness to wait accordingly to a set of external parameters (for instance crowding of the bus stop and observance of passenger queues, fares, etc.) have received some attention. See, for example, (Hongfei, Yang and Tang 200). However, these aspects have not yet been included in the previous simulators.

      Furthermore, because of interactions with external vehicular traffic, methods to evaluate the effects of traffic lights and the configuration of special lanes reserved for buses, have demanded the integration of specific simulation tools with existent microscopic traffic simulators. For this purpose, simulation experiments are described in (Sorratini, Liu and Sinha 2008) for a single bus line, where DRACULA, a dynamic micro-simulation traffic model developed at the University of Leeds, is used. This simulator is more oriented to vehicular behavior, and it does not contemplate many of the interactions between passengers and buses at bus stops.

In this paper, we define a model that permits a detailed micro-simulation of a bus station reflecting the interaction between queues of buses and queues of passengers. It captures all the relevant magnitudes that allow the evaluation of crowding at bus stops, as well as the effects of congestion and bus blocking and bunching. The model can be expanded to consider other specific passengers’ behavior aspects, such as the willingness to wait (patience). The layout of the paper is as follows. In section 2, a description of the modeled system in terms of the intervening queuing systems is presented. In section 3, we detail the variables and factors that must be considered in the model.  Section 4 introduces the main magnitudes that reflect the performance of the queues are described. Section 5 describes the implementation of the model using the “Specification and Description Language Parallel Simulator” (SLDPS) system and section 6 describes the events taken into account in calculating the simulation statistics. Section 7 compares the results for the passenger queues obtained by simulation with those obtained by using the Powell’s approximation formula for bulk-arrival bulk-service queues. Finally, section 8 contains conclusions and future developments.


The sequence of operations carried out at a bus stop and their operational times are fully described, amongst many other references, in (Fernández 2010), (Fernández and Tayler 2005), and (Anderson and Scalia-Tomba 1981). Conceptually, in terms of queuing models, at a bus stop two systems of queues interacting each other can be defined. From the point of view of passengers, one of these systems are made up by one or more queues of passengers, according to the number of lines operating on that bus stop and the policy that rules how these lines are chosen by passengers. From the point of view of the buses entering and exiting to the station, the bus stop behaves as two waiting systems in tandem with blocking. These waiting systems will be referred as L0 and L1 respectively. L0 waiting system receives input flow of buses from the external traffic flow. The servers of waiting system L0 are the berths where passengers may board and alight. Once a bus has completed the boarding/alighting operations, it leaves L0 and enters into L1, provided that there is no blocking from L1. At L1, buses may queue waiting for exiting the bus stop and entering in the external traffic flow. L1 may be considered non-existent in many cases if, after having completed the service, buses experience very little or no delay at all in entering to the external traffic flow. The lack of delay may depend on several factors, such as the existence of reserved lanes, traffic signals right after the exit of the bus stop or simply the intensity of the external traffic flow.

The boarding/alighting operations at berths depend on the number of doors for boarding/alighting of passengers. In the simulation model, bus units may have n+ doors for boarding and n- doors for alighting and the boarding/alighting operations can be carried out in serial or parallel. The service times for bus units are mainly determined by these boarding/alighting operations, although maneuver times for parking or clearing the berths and the time for opening/closing doors are also taken into account.

3         Variables and factors to be considered In the model

Our simulation model considers the main variables and factors to allow a detailed representation of a bus stop. The table below enumerates and describes these variables. In case that these variables are random with a probability distribution that can be fixed a priori by the user, the table also lists the set of probability distributions that are considered in the implementation of the simulation model.


Table 1: Variables and factors to be considered in the model.



Values/probability distribution to be used

Time between passenger arrivals

- Exponential. .

- k-Erlang. , being the average stage time α.

Time between bus arrivals

- Exponential; average inter-arrival time

- Hypoexponencial; = number of stages and average time for each stage

- Hyperexponencial; = number of stages and average time for each stage ; weight  of the stages. ()

- Degenerate distribution; constant time T .


Time to park a bus in  the berth


Normal  truncated to >0. It is assumed that

Number of passengers in the bus on arrival to the bus stop

- Normally distributed , truncated within the interval [0, cap_bus].

- Uniformly distributed on [0, cap_bus]

- Hypoexponential with two stages  i  truncated within the interval [0, cap_bus].= -( β - cap_bus); where β may distribute as stated previously.

- Degenerate: all buses arrive with a constant number of passengers.

Number of  alighting passengers.

- uniformly distributed in the interval [0, ].

- degenerate

Bus service time.

The service time for buses depends on other specific parameters, such as and the type of operation for boarding/alighting (see section 3.1 below)

n+, n-

Bus doors

n+ doors for boarding and n- doors for alighting.


3.1          Modeling of boarding and alighting operations

The amount , , (, ) of passengers boarding (alighting) through door p are generated as multinomial distributed numbers summing up the total number of boardings (alighting  ), i.e.:


      By default, and unless otherwise specified, all doors have the same probability to be chosen by the boarding (alighting) passengers.


As in any queuing system, the intensity factor plays a major role in the performance. It is one of the magnitudes that must be estimated from the simulation, regardless that a prior estimation could be made from the basic inputs that set the probability distributions for the arrival processes of passengers and buses.

4.1         Intensity factor for the passenger’s queue

Let  be the number of passengers that may board on the bus when it arrives at the bus stop. It will be assumed that it is a random variable that may take values between 0 (bus full) and c (empty bus), where c is the bus capacity of passengers. Being  be the time between arrivals of two consecutive buses to the bus stop (or headway), and let  be the time between consecutive arrivals of passengers to the bus stop.  and  are also random variables with known probability distribution. The intensity factor  for the queue of passengers at the bus stop is defined as:


Obviously any simulation must be developed in a finite temporal interval, because a) it is previously defined, or b) the maximum number of involved agents can be fixed a priori, or c) maybe a specified terminating condition becomes true. In any of these cases let H be the simulation length.

4.2         Evaluating the intensity factor from simulation

We assume the simulation ends when the boarding/alighting operation of the last bus finishes. In this case, the intensity factor for the passenger queue given in (2) can be estimated by:


where  is the number of passengers that have been generated in the simulation with inter-arrival times , to the bus stop;  and are the inter-arrival times and available passenger capacity respectively for the buses,and is the service time of the last bus.   is the mean capacity of the buses that arriving at the stop. Since the simulation covers a finite time horizon, then and it is needed to consider, from the Np generated passengers, those who effectively can board in a bus, NB, and those who cannot board, NQ, at the end of the simulation, i.e.:


      If then it must be expected that . When a lot of “residual passengers” are present at the end of the simulation, then it is very likely that . Thus, from the simulator perspective, it is needed to report:  a) the absolute value of the residual queue, ,  and b) the ratio .

4.3         Intensity factor for the queue of buses

The queue of buses works as a simple ''single server'' queue   with FIFO discipline. Its intensity factor is defined by:



 If the j-th bus has a service time of ,  then it is possible to evaluate the mean service time and estimate by:



The model is represented using Specification and Description Language (SDL) to simplify the definition and the understanding of the structure and the behavior of the different components. In this paper, we follow the convention that all SDL elements are capitalized (for example a BLOCK or a PROCESS) whichsimplifies the understanding when we explain that an SDL PROCESS defines certain process of the model. In this section, the complete model is not detailed, but only some key diagrams that permit to understand why this language allows to perform a formal validation of the model by personnel that are not familiar with the theoretical queuing models or simulation models.


Figure 1. Main blocks of the structure for the bus stop simulation model


Figure 2. SDL PROCESS for the behavior of P_SEP process that models the arrivals of new passengers to the system. On the diagram is detailed the waiting state, two SIGNALS (i.e. events) can be received: NewPax and NewBus. Report procedure allows to obtain statistical information from the model. The DCL block configures the model according the hypotheses used.

            Figure 1 depicts the bus stop main structure. P_SEP PROCESS defines the process of passenger arrivals to the system. P_SEB_L0 defines the process of entering a new bus to the bus stop. P_SEB_L1 defines the process of leaving the bus stop. Finally, P_EXIT PROCESS defines the process of leaving the system. In this process, we obtain all needed information for the simulation trace (see section 6).

      An SDL PROCESS represents the behavior of the model. As an example, Figure 2 depicts P_SEP PROCESS that defined the arrivals to the system of new passengers.

6         The model Output

The model implementation was performed using SDLPS (Fonseca i Casas 2008), (Fonseca i Casas and Casanovas 2011). All results showed in the diagrams were obtained using the REPORT task,  an element that belongs to the SDLPS API to simplify obtaining statistical information from simulation models. The information is stored in the simulation trace and a final report. The simulation trace can identify or reconstruct the events listed below (see Table 2 and Figure 5). With this information it should be possible to give the statistics that are required for evaluating the performance of:

Passenger queues. Average delay and average passenger queue length depending on the bus stop intensity factor in (3).

Bus queues. Average delay and average queue length depending on the bus stop intensity factor (6).


Table 2: Model output main variables.



Arrival of the i-th passenger

Time instant  of the arrival

 = number of passengers in the queue

Time instant for the i-th passenger’s boarding.

Arrival of the j-th bus to the bus stop


Time instant  for the arrival of the j-th bus to the stop.

= number of buses present on the system L0 on arrival of the j-th bus.

= number of present buses on the system L1 on arrival of the j-th bus.

Arrival of the j-th bus to the berth

Time instant  of arrival of the bus to the berth.

 = number of passengers present on the bus (n board) when the bus arrives.

 = number of passengers that leave the bus j-th and effective capacity of the j-th bus

 = Number of passengers in the queue at time instant Sj (variable pax_count)

 = number of passenger that arrive at the bus stop during the operation of boarding/alighting (depends on the service time for the passengers).

= Number of passengers boarding the j-th bus   

 = Time of park/un-park of the j-th bus  (maneuver time).

= Service time for the passengers of the j-th bus (time needed to boar/alight). The time needed to open or close the doors, is not included here.

 = Service time for the j-th bus

= blocking time for the bus on the platform; is defined by  

( is the instant of time where the j-th bus  leaves the platform; the bus enters in the instant in the system L1)

 = number of passengers present on the queue in time instant  (when the boarding/alighting operation ends).

Exit of the j-th bus of the platform (entering in the L1 subsystem)

Exit time  of the j-th bus from the platform, entering then in the L1 subsystem.

= number of buses present in system L1 when j-th bus enters in system L1.


      We implemented a post process algorithm in order to display all the expected results in a convenient way.

7            Results

We compare simulation results for the queue of passengers with the formulae of the Powell’s approximation (Powell 1986) for bulk arrival-bulk service queues, M[X]/Ek[V]/1. Assuming bulk-arrivals of size 1, Powell’s approximation for average waiting time in system W is:


The term  is the average time until the next bus arrival to the bus station experienced by a random passenger, whereas W  is the average time until  boarding a bus. Q' is the  average  maximum queue length (i.e., the number of passengers waiting when a new bus arrives) which is approximately given by:


In previous formulas (7), (8), v is the average effective bus capacity on arrival to the bus stop and Cv is the coefficient of variation for the effective bus capacity, 1/µ is the average value for bus inter-arrival times and  Cs is its corresponding coefficient of variation. K is the maximum bus capacity and ρ=λ/(µv)   is the traffic’s intensity for the passenger’s queue. The correction term  must be taken into account for low values of  and is given by:


where a=, b=, c= , d=, e=, f=, g= .  is the third moment for the number of passengers arrived to the bus stop between bus arrivals. When applying this approximation it must be taken into account that:  and thus,  for . Figures 3 and 4 show values for the passenger’s delay W in minutes, the average queue length L=λW and given by Powell’s approximation.

           In order to validate the simulation model, the results of simulations are compared to the values given by the Powell’s approximation.  Simulations are for a bus stop with bus interarrival times following a 2-Erlang distribution and an average value of 10 minutes. Maximum bus capacity is 100 passengers. We assume that buses arrive at the bus station with a random effective capacity of 75 passengers on average and standard deviation of 15 passengers. (A) simulation corresponds to poissonian input flow of passengers with λ=4 pax/min or an expected inter-arrival time of =0.25min. For this flow the intensity factor is ρ=0.5.



Figure 3. Normalized delay as a function of the intensity factor calculated using Powell’s approximation


Figure 4. Average queue length (L) and average maximum queue length (Q´) as a function of the intensity factor ρ calculated using Powell’s approximation

Figure 5. SDLPS showing the number of the passengers at the bus stop obtained with the REPORT procedure. On the horizontal axis is represented the time and on the vertical axis the instantaneous number of passengers at the bus stop.

      When applying Powell’s formulae for the evaluation of the queue of passengers, then arrivals to the bus berth will follow a different pattern than bus arrivals to the station due to the presence of the queue of buses. Thus, for a 2-Erlang pattern of arrivals for buses, its coefficient of variation would be 0.707. Using the previous formulae and, without considering the queue of buses, W0 would be then 7.5 minutes. Notice that Powell’s formula does not take into account the bus service time. An example of the magnitudes provided after simulations appears in Table 3 and Table 4 below.


Table 3: Summary of the main variables considered on the model. In parenthesis, the reference values given to the simulator for the main input magnitudes.





= inter-arrival time of passengers







= inter-arrival time of buses







Passengers on the bus stop when a new bus arrives




Passengers that leave the bus




capacity of a bus








Table 4: The table shows the values obtained with simulations compared to those calculated using Powell’s formula (P).




Number of buses



Time horizon length H



Number of served passengers



Total capacity in passengers



Intensity factor ρ



Mean flow of passenger arrivals



Average maximum number of passengers that can be alighted



Residual queue at the end of the simulation



Quotient NQ /͞γ



Q’àAverage/Std Dev. maximum number of passengers in bus stop

31.96 / 25.08


Pointwise (max/ min) number of passengers in bus stop during simulation



Average/Std. Dev. maximum number of passenger after bus service operation



Pointwise (max/ min) number of passengers after bus service operation

 64.0/ 0.0


Mean time experienced by a random passenger until next bus arrival  W0 (minutes)



Ratio W/W0





      The model behaves as expected and represents a detailed micro-simulation of a bus stop. This model represents a good starting point to define several alternatives to perform a detailed micro-simulation of a berth configuration. Since the model is represented using a graphical and modular formalism, it is easy to extend it in order to represent more complex behaviors. The use of SDL to represent the model simplifies the Validation and Verification of the simulation model. Using a formal language like SDL simplifies the use of knowledge of personnel with different formation, but specialist on the systems we analyze.

Currently, further developments are focused in the combination of several berths at a single bus stop and the combination of several bus stops in line. Due to its complexity, these models must be solved using a simulation approach. Also since the model is defined using SDL the inherent modularity of the language allows to extend the behavior of the model to include other specific passengers’ behavior aspects, such as the willingness to wait (patience) following the approach presented on (Fonseca i Casas 2014).


9         Acknowledgments

Research supported under Spanish Research R+D+i Program. Project TRA2011- 27791-C03-02


10      References

Anderson, P.A., and G.P. Scalia-Tomba. 1981. "A mathematical model of a bus route." Transp. Res. 15 (4): 249-266.

Fernández, R. 2010. "Modelling public transport stops by microscopic simulation." Transportation Research C. 856-868.

Fernández, R. 2007. "PASSION 5.0-a model for microscopic simulation of multiple berth bus stops." Traffic Engineering and Control 324-328.

Fernández, R., and N. Tayler. 2005. "Effect of passenger-bus-traffic interactions on bus stop opera-tions." Transportation Planning and Technology 28 (4): 272-292.

Fonseca i Casas, Pau. 2008. "SDL distributed simulator." Winter Simulation Conference 2008. Miami: INFORMS.

Fonseca i Casas, Pau. 2014. "Using Specification and Description Language to Formalize Multiagent Systems." Applied Artificial Intelligence 28 (5): 504-531. doi:10.1080/08839514.2014.905820.

Fonseca i Casas, Pau, and Josep Casanovas. 2011. "Towards a SDL-DEVS Simulator." The Third International Conference on Advances in System Simulation. Barcelona.

Gibson, J., and I. Baeza. 1989. "Bus-stops, congestion, and congested bus-stops." Traffic Engineering and Control 291-296.

Hongfei, J., L. Yang, and M. Tang. 200. ""Modeling and Simulation of Rail Transit Pedestrian Flow." J.Transpn Sys Eng & IT 9 (5): 117-123.

J., Gibson, and Baeza I. 1989. "Bus-stops, congestion, and congested bus-stops." Traffic Engineering and Control 291-296.

Meignan, D., O. Simonin, and Koukam A. 2007. "Simulation and evaluation of urban bus networks us-ing a multiagent approach." Simulation Modelling Practice and Theory 15 (6): 659-671.

Powell, WB. 1986. "A stochastic model of the dynamic vehicle allocation problem." Transportation science 20 (2): 117-129.

Sorratini, J.A., R. Liu, and S. Sinha. 2008. "Assessing Bus Transport Reliability Using Micro- Simulation." Transportation Planning and Technology 31 (3): 303-324.

Transportation Research Board National Research Council. 2011. "TCRP Report 19 (1996) Guidelines for the Location and Design of Bus Stops." Accessed 6 21, 2011.


author biographIES

PAU FONSECA I CASAS is a Professor of the Department of Statistics and Operational research of the Technical University of Catalonia, teaching in Statistics and Simulation areas. He obtained his Ph.D. in Computer Science on 2007 from Technical University of Catalonia. He also works in the InLab FIB ( as head of the Environmental Simulation area, developing Simulation projects since 1998. His research interests are discrete simulation applied to industrial, environmental and social models, and the formal representation of such models. His website is


ESTEVE CODINA obtained in 1994 its PhD in Industrial Engineering at Universitat Politècnica de Catalunya (Spain). He is now Associate Professor at the Department of Statistics and Operations Research assigned to the Faculty of Mathematics and Statistics and at the Faculty of Computer Science of this University. His research activity is mainly focused on the application of Operations Research methods and Optimization methods to transportation problems. e-mail:


LIDIA MONTERO obtained in 1993 its PhD in Computer Science at Universitat Politècnica de Catalunya (Spain). She is now Associate Professor at the Department of Statistics and Operations Research assigned to the Faculty of Mathematics and Statistics and to the Faculty of Computer Science of this University. Her research interests are transportation planning and demand analysis with focus on OD Matrix Estimation. e-mail:


MªPAZ LINARES is a researcher at the inlab FIB (Barcelona informatics school laboratory).  She holds a Mathematics Degree and a Master in Logistics, Transports and Mobility from UPC. Her research interests include DTA, traffic simulation and optimization. e-mail:


CRISTINA MONTAÑOLA-SALES is a PhD student at the Statistics and Operations Research Department in Universitat Politècnica de Catalunya (UPC-BarcelonaTech). She is currently doing her research at Barcelona Supercomputing Center (BSC). She holds an MSc in Computer Science from UPC. Her research interests include agent-based modeling, computer simulation, high-performance computing and computational social science. e-mail: