Top Banner
Multi-Abstraction Modelling and Simulation Viktor Stojkovski Supervisor: Prof. Hans Vangheluwe - Modelling, Simulation and Design Lab (MSDL) University of Antwerpen, Faculty of Science, Master Studies - Software Engineering, Antwerpen, Belgium Abstract Modelling and simulation is an important field in the computer science, more and more frequently used in the commercial industry, medicine, the govern- ments, military etc. There are many established methods for modelling and simulation, some of them older, some founded in the last decade, all of them using different methods for obtaining the results. The problem is that they as a standalone simulators provide accurate results, but they can not be com- bined in order to provide wider spectrum of results to the user. The final goal of this research is to create a multi-abstraction modelling and simulation en- vironment, where the user can jump from one formalism to another, possibly during the simulation. In this first research paper used as a starting point for that final goal, the SIR epidemic model was used as a reference model and was implemented in three different methodologies. All of them provide different level of abstraction, from most detailed with agent-based modelling and simulation technique to the Forrester system dynamics which is the most general representation. More precisely, the A(H1N1) Influenza epidemic was modelled and simulated with the three different formalisms, with the usage of the same parameters in every model. The goal was to find the resemblance between the models and their implementation of the parameters and compare whether the results are similar, so they can be combined into one modelling and simulation software. All the results of the simulations were similar to the real-world epidemic data and in the borders of the planned variation, which means that in the next research the methods of modelling and simulation can be combined in one program and parallelly used for simulating one model. Email address: [email protected] (Viktor Stojkovski) URL: http://msdl.cs.mcgill.ca/people/viktor/ (Viktor Stojkovski) Preprint submitted to MSDL June 28, 2014
38

Multi-Abstraction Modelling and Simulation

Jun 14, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Multi-Abstraction Modelling and Simulation

Multi-Abstraction Modelling and Simulation

Viktor Stojkovski

Supervisor: Prof. Hans Vangheluwe - Modelling, Simulation and Design Lab (MSDL)

University of Antwerpen, Faculty of Science, Master Studies - Software Engineering,Antwerpen, Belgium

Abstract

Modelling and simulation is an important field in the computer science, moreand more frequently used in the commercial industry, medicine, the govern-ments, military etc. There are many established methods for modelling andsimulation, some of them older, some founded in the last decade, all of themusing different methods for obtaining the results. The problem is that theyas a standalone simulators provide accurate results, but they can not be com-bined in order to provide wider spectrum of results to the user. The final goalof this research is to create a multi-abstraction modelling and simulation en-vironment, where the user can jump from one formalism to another, possiblyduring the simulation. In this first research paper used as a starting pointfor that final goal, the SIR epidemic model was used as a reference modeland was implemented in three different methodologies. All of them providedifferent level of abstraction, from most detailed with agent-based modellingand simulation technique to the Forrester system dynamics which is the mostgeneral representation. More precisely, the A(H1N1) Influenza epidemic wasmodelled and simulated with the three different formalisms, with the usageof the same parameters in every model. The goal was to find the resemblancebetween the models and their implementation of the parameters and comparewhether the results are similar, so they can be combined into one modellingand simulation software. All the results of the simulations were similar to thereal-world epidemic data and in the borders of the planned variation, whichmeans that in the next research the methods of modelling and simulation canbe combined in one program and parallelly used for simulating one model.

Email address: [email protected] (Viktor Stojkovski)URL: http://msdl.cs.mcgill.ca/people/viktor/ (Viktor Stojkovski)

Preprint submitted to MSDL June 28, 2014

Page 2: Multi-Abstraction Modelling and Simulation

Keywords: , agent-based modelling and simulation, cellular automata,system dynamics, modelling, simulation, influenza epidemics, InfluenzaA(H1N1) virus

2

Page 3: Multi-Abstraction Modelling and Simulation

Contents

1 Introduction 51.1 Introduction to the Influenza Characteristics and Statistics

from the 2009 A(H1N1) Swine Flu Epidemic . . . . . . . . . . 61.2 The SIR (Susceptible, Infected, Recovered) Model . . . . . . . 7

2 System Dynamics 102.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 The Simulation and Results . . . . . . . . . . . . . . . . . . . 15

3 Cellular Automata 173.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 The Simulation and Results . . . . . . . . . . . . . . . . . . . 21

4 Agent-Based Modelling and Simulation 254.1 The Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2 The Simulation and Results . . . . . . . . . . . . . . . . . . . 29

5 Comparison of the Simulation Results 32

6 Conclusion and Future Work 35

3

Page 4: Multi-Abstraction Modelling and Simulation

List of Figures

1 The division of the population in groups in the SIR model andthe flow of population from one group to another . . . . . . . 8

2 left: Closed-loop Structure of the World; right: Stock andFlow Concept [8] . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 The System Dynamics model representing the flu epidemicproblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 The differential equations implemented in the Flows in the SDmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5 The plotted results from the simulation of the SIR model in SD 156 The states of a cell in CA . . . . . . . . . . . . . . . . . . . . 177 Example of the CA grid . . . . . . . . . . . . . . . . . . . . . 188 The CA simulation of the flu epidemic in six steps . . . . . . . 229 Plot of the CA simulation, representing the 3 groups of people

in the model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2310 Plot of the testing of the CA model through 100 simulations . 2411 Example of the grid populated with agents modelled in Repast

Simphony 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2712 Example of the simulation of the ABMS model in 6 steps . . . 3013 A plot of the Agent-based simulation of the swine flu epidemic

model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3114 Comparison of the three plots from the different levels of ab-

straction:a) Agent-based Modelling and Simulation; b) Forrester Sys-tem Dynamics;c) Cellular Automata . . . . . . . . . . . . . . . . . . . . . . . 32

List of Tables

1 The relevant percentages regarding the Infection Rate and theDeath Rate from the H1N1 virus epidemic in 2009 and theiraverages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Table containing the infection rates from the simulations . . . 33

4

Page 5: Multi-Abstraction Modelling and Simulation

1. Introduction

Modelling and simulation play an important role in modern societies,where the companies, the governments, the scientists want to be able topredict some of the consequences of the actions taken or the result of somenatural processes that can happen in the future, so they can be reassured fortheir safety. Systems that need to be analysed, modelled and simulated arebecoming more complex and more interdependent, which means that the oldtechniques for modelling and simulation are not applicable [1].

There are several modelling techniques which can be used for such pur-poses. As a starting point for my Internship, which is prior for my MasterThesis with subject: Multi-Abstraction Modelling and Simulation, I will beusing three different methods for modelling, each one of them on a differentlevel of abstraction.

The first modelling technique is the Agent-Based Modelling and Simula-tion (ABMS), which will be elaborated in the second chapter. With ABMSthe system is modelled as a collection of agents, which are an autonomousdecision-making entities [1]. These entities can represent large systems withcomplex behaviour, but that does not mean that the behavioural rules of theentities need to be complex. The results from the simulation of the agentmodels can be sometimes counterintuitive and unpredictable, but the agent’sbehaviour on the contrary can be very simplistic.

In the third chapter, the second modelling approach will be discussed.The Cellular Automata (CA) modelling and simulation methodology is in themiddle of the other two techniques by means of abstraction of the simulation.With the use of the CA formalism, a huge number of complex systems canbe divided into a small number of simple, identical components which areguided by a simple set of rules [22]. These specifications of the CA are closeto the ones of the ABMS, which makes them mutually compatible and easyto combine.

The third modelling and simulation methodology is System Dynamics(SD). This approach is the oldest one compared to the previous two, it startedto develop during the middle of the 20th century and its founder is ProfessorJay W. Forrester [19]. Forrester is the author of the two books, “Urban Dy-namics” (1969) and “World Dynamics” (1970), which are the pillars of thesystem dynamics theory and later for the GUI tools developed for SD sim-ulation. SD uses the mathematical formulas called differential equations forsolving the SD models, which in the GUI tools are represented by stock and

5

Page 6: Multi-Abstraction Modelling and Simulation

flow diagrams. In the fourth chapter there will be an explanation regardingthe principles of SD, the differential equations, the stock and flow diagramsused for graphical representation of the model and the process of modellingand simulation of the Influenza SIR (Susceptible-Infected-Recovered) model[13].

1.1. Introduction to the Influenza Characteristics and Statistics from the2009 A(H1N1) Swine Flu Epidemic

The model that will be used for simulation in this research will be basedon the data collected during and after the Influenza A(H1N1) epidemic inyear 2009. In this section will be discussed the behaviour, the symptoms andthe statistics relevant to the period of the epidemics of the A(H1N1) virus,also called swine flu because of its origins. Through the rest of this paperI will be referring to this specific subtype of virus as swine flu or only asInfluenza.

The Influenza epidemic started in April 2009 and lasted until the Spring of2010. Organisations as the World Health Organisation (WHO) [21] and theCentres for Disease Control and Prevention (CDC) [2] were collecting andprocessing the data available from the medical systems all over the worldand as a result a statistical reports have been published on their sites. Forthe requirements of my research internship, I have used statistical data fromthe two previously mentioned organisations and also from the Centre forInfectious Disease Research and Policy (CIDRAP) [4], which is concernedwith the public health preparedness and response during infectious diseasespandemics and from RMS [17], which is a risk management company. Allof the above mentioned organisations have high credibility regarding thecollection of relevant data and the information they publish.

A small introduction on the infection of the Influenza will be given in thefollowing paragraph. The swine flu has almost the same symptoms as theregular seasonal flu, but the problem is that the population have still notdeveloped immunity to this kind of virus. The symptoms start usually oneor two days after the infection and the person who is infected is infectious toother population one day before the symptoms are visible [3]. In my modelthe person who is infected will be infectious to other people from 1 day afterhe got the flu to one week after the infection, when he gets healthy againand immune to the virus.

Most important statistics for my models in the different formalisms arethe infection rate and the death rate. The recovery rate is not needed be-

6

Page 7: Multi-Abstraction Modelling and Simulation

cause the population which have survived the virus infection for one week isbecoming healthy again and it has developed immunity towards the virus. Ihave collected the 2 rates from the organisations I have mentioned earlier inthis section, but because all of them were not exactly the same I have takenthe average of all of them and the results can be seen on Table 1.

Organisation/Statistics

CDC(December2009)

CDC(March2010)

RMS CIDRAP Average

Infectionrate

18% 19.6% 21% 18.5% 19.3%

Deathrate

0.02% 0.02% 0.04% 0.02% 0.025%

Table 1: The relevant percentages regarding the Infection Rate and the Death Rate fromthe H1N1 virus epidemic in 2009 and their averages

Most of the statistical data that is presented on Table 1 refers to theterritory of the United States, where the measurements are most accurateand accessible compared to the rest of the world. April, 2009 was taken asa chronological starting point for the flu epidemic and it lasted until March2010, but the highest rates of infections happened in the Autumn and Win-ter of 2009/2010. At the start the measurements of death tolls were not soworrying and were similar to a normal flu season. As time passed, more peo-ple were hospitalised and more statistics data arrived at the disease controlcentres, the infection rate started rising rapidly and now officially is around20%. Some organisations predict that when the whole data is processed, therate will reach around 25%, which means that every fourth citizen in theUnited States has been infected with the virus. Currently the WHO hasannounced that the world is in a post-pandemic period, which means thatthe risk of infection is very small. but still there is the possibility of a returnof the pandemic virus H1N1.

1.2. The SIR (Susceptible, Infected, Recovered) Model

The SIR model [13], also know as the Kermack-McKendrick Model isa compartmental epidemiology model, which means that the population isdivided is 3 compartments: Susceptible, Infected and Recovered. This kind ofepidemic modelling is suitable for diseases that are progressing in stages, likethe Influenza. The basic SIR model can also be modified to represent similar

7

Page 8: Multi-Abstraction Modelling and Simulation

diseases to the Influenza or situations where the population gets vaccinatedor it can not become immune to the virus.

In all of my models the number of the total population is fixed and becauseof the very small percentage of mortality, the possibility of dying of thepopulation was omitted. As on Figure 1, the population in my models canflow only in one direction. The healthy person can become infected and oncerecovered the person receives immunity to the type of virus, which in mycase is the swine flu and can not become susceptible nor infected any more.

Figure 1: The division of the population in groups in the SIR model and the flow ofpopulation from one group to another

There are two other restrictions in my models: the age, gender or race ofthe population does not affect the infection probability and the population inthe model is mixing homogeneously, no matter to which group the interactingpersons are belonging. These assumptions regarding the total population,the dynamics of the Influenza spreading, the population social attributesand movement are complying with all of my model in the three differentabstractions, which is essential for the comparison of the results from thedifferent simulations and my future work.

The SIR model is a base for all of my models. All the dynamics in the SIRmodel are defined by differential equations [13], which are then implementedin the models of the different levels of abstraction. In the following paragraphthe essential variables and equations from the SIR model will be introducedin order to be easer to follow through the rest of my research report.

As I mentioned earlier the population is divided into 3 groups, which arepresented in the following list with their annotations:

- Susceptible - S (the healthy population that can be infected)- Infected - I (the swine flu infected population)- Recovered - R (the recovered population, which has become immune to

the virus)

8

Page 9: Multi-Abstraction Modelling and Simulation

The total population is N and as a function of time is equal to:

N(t) = S(t) + I(t) +R(t) (1)

Time as in every simulation plays a very important part and becauseof that most of the variables are dynamic and change their values over thefunction of time. The number of population in every group changes duringthe simulation, but the total population in the model over the time, staysalways the same. That was also one of the restrictions mentioned previously,which is a condition that needs to be correct, for the model to functionproperly.

As a result from the assumptions and preconditions the following differ-ential equations [13] are representative for each of the three groups:

dS

dt= −βSI (2)

dI

dt= βSI − γI (3)

dR

dt= γI (4)

The two new variables used in the differential equations are β - the infec-tion rate and γ - the recovery rate. The number of Susceptible as a functionof time is logically to be dependent on the number of Susceptible and In-fected, S and I respectively and on the infection rate β. It is similar withthe number of Infected, which is dependent on the newly Infected populationat that time step minus the Recovered population. The number of Recoveredin a particular time is dependent only on the number of Infected and γ - therecovery rate.

In the following chapters each one of the three different modelling andsimulation methodologies will be explained altogether with the process ofcreating and simulating the models and the difficulties encountered. At theend the results from the simulations will be compared and a conclusion willbe given.

9

Page 10: Multi-Abstraction Modelling and Simulation

2. System Dynamics

2.1. The Model

The main concept for this level of abstraction is brought by ProfessorJay W. Forrester [14], who was the inventor of System Dynamics (SD) andthe biggest contributor for the development of this field. His concept aboutthe processes that are happening in the world is that they are cyclic, whichmeans that the output of one process is used as an input for another [8].Together those actions and reactions form causal loop diagrams, which arerepresenting the world as a complex closed loop structure. Forrester in thepreviously mentioned article presents two basic models for representing thenature of the systems in the world. I have recreated those models in thetool AnyLogic 7 [5], which was also used for modelling and simulating myinfluenza epidemic SD model with the use of differential equations.

On Figure 2, on the left side is a representation of the closed-loop struc-ture of the world, where from the result of an action we get information andby using that information we take an action based on the feedback. Laterin this section I will present how I have modelled the influenza epidemic byusing this concept of closed-loop structure.

Figure 2: left: Closed-loop Structure of the World; right: Stock and Flow Concept [8]

The model on the right side of Figure 2 shows the simplest feedbacksystem. According to the author (J.W.Forrester), all the systems in the world

10

Page 11: Multi-Abstraction Modelling and Simulation

represented in their most general form consist of this simple model, stock andflow. The Stock is the accumulation entity and the flow is producing andcontrolling how big will be the flow from the resources represented with thecloud-like icon. The flow is controlled by the valve and is also dependingon the feedback information from the Stock and the Goal that need to beachieved. This Stock and Flow concept is the core of almost every SD model,including my final model of the influenza epidemic, which will be explainedin the next paragraph of this chapter.

Before starting to develop and build your SD model in the GUI tool,the differential equations must be defined, which then will be incorporatedin a stock and flow concept model as the one on Figure 2, but of coarsemore complex. The complexity of the model depends proportionally on thecomplexity of the differential equations. As it was previously mentioned,my starting point model is the SIR epidemics model and the differentialequations defined within it [13]. The equations that I will use: (2), (3) and(4) are for the three different groups of people: susceptible, infected andrecovered respectively. In these differential equations there are two essentialvariables or as called in the SD tools parameters: β - the infection rate and γ- the recovery rate. In the SIR model these parameters are very general andit is up to the modeller to more precisely define them according to the givenspecifications. For the infection as in the equation (2), except the numberof susceptible and infected people, in my model an influence have also thenumber of contacts - c and the infection probability - p. As an result of theseconstatations the equation for the infection rate can be defined, where N isthe total number of population defined in (1).

β =cp

N(5)

This formula combined with the equation (3) as a result will give thenumber of new people infected in the current time step and that numberwill be subtracted from the number of susceptible people in the model. Bymultiplying the number of infected and susceptible, we get the number ofcontacts between each one of them. If we multiply that number with thenumber of contacts divided by the total population, the number of contactsare bounded and as a result we get how many contacts there will be betweenthe group of infected with the group of healthy population. At the end bymultiplying that result with the probability of infection p as a final result weget the number of newly infected population. The equation is the following:

11

Page 12: Multi-Abstraction Modelling and Simulation

dS

dt= − c

NpSI (6)

Next I will define and explain the recovery rate γ. The only parameterthat affects how many people will become recovered is the sickness duration- d. The equation for the recovery rate is as follows:

γ =1

d(7)

This equation when combined with (4) will give the number of newlyrecovered population. The only method that can be used to get that resultis by dividing the number of infected people by the number of durationof the illness. The bigger the number of infected becomes the bigger is thenumber of recovered and that will happen as time passes. The reimplementeddifferential equations (3) and (4) will look like:

dI

dt=

c

NpSI − I

d(8)

dR

dt=I

d(9)

As for the group of people that are susceptible and recovered, the numberof newly infected people is a result of a deduction of the new recoveredpopulation from the new infected population as it can be seen in the equation(8).

After the definition of the differential equations, next is the phase ofbuilding the model into a SD modelling and simulation tool, which in mycase is the AnyLogic 7 [5]. The workspace in most of the modern SD tools,as well as in the one I am using, is a graphical representation of the stockand flow diagrams like on Figure 2. The creation of the core structure of themodels is done by the drag and drop principal and additionally by selectingthe components the differential equations can be implemented within theflows (represented by arrows).

The fully constructed SD model is shown on Figure 3 with all of itscomponents. The Stocks (the blue rectangles) are representing the threedifferent groups of people as specified in the SIR model. Between them thereis the Flow (arrow with valve in the middle) of population, which goes in onedirection, starting from the Susceptible to Infected and ending to Recovered.

12

Page 13: Multi-Abstraction Modelling and Simulation

Figure 3: The System Dynamics model representing the flu epidemic problem

The Stocks can be considered to be as pools of water, which are filled oremptied by the Flows, depending on the differential equations implemented.The other three Stocks with names between arrow brackets on the bottom ofthe model are just shadow Stocks, which are like copies of the original Stocksand are used mostly for aesthetical reasons so the model can be more clearlyunderstood without many arrows overlapping. The parameters that werediscussed earlier and are a part of the differential equations are representedby a circle with a potentiometer, which means that their value can be tweakedfor the purposes of the simulation. The parameters in my model on Figure 3together with their differential equation symbols are: infection probability - p;sickness duration - d; contacts per day - c. The last variable that representsthe total population in the model is a dynamic variable and its graphicalrepresentation is a circle. The variable is dynamic because every step itrecalculates the total population in the model, which in the case shouldalways be constant.

In the following section, the values of the parameters will be presented andjustified and explained how the implementation of the differential equation

13

Page 14: Multi-Abstraction Modelling and Simulation

in the model is done. The equations are implemented in the flows. The firstFlow named Infection that goes from Susceptible to Infected implements theequation (6) and the second Flow named Recovery that goes from Infectedto Recovered implements the equation (9). On Figure 4 the Flows togetherwith the differential equations are presented. As it was explained earlier,the number of the Susceptible will be decreased every turn by the Infectionoutflow and that number will be added to the number of Infected populationin the model. The Infected population will increase or decrease every turndepending if there are more Infected people than Recovered or the otherway around respectively. The Recovery Flow will increase the number ofRecovered people every turn depending on the number of Infected in themodel and the duration of the sickness.

Figure 4: The differential equations implemented in the Flows in the SD model

With the Links in the SD model (Figure 3) the parameters are connectedto the differential equations in the Flows so they can provide their values.The initial values for the parameters who are always constant are:

- Contacts per day (c) - 4;- Infection probability (p) - 0.048;- Sickness duration (d) - 6.From Table 1 it is concluded that the average annual percentage of in-

fected population was 19.3 in the H1N1 virus epidemic. If this percentage isdivided by the number of days in the year the result for daily percentage ofinfection will not be correct. This is a common mistake which usually hap-pens in the field of economics and the correct process is called a conversionfrom annual effective rate to a periodic effective rate. The formula for thatconversion is:

periodic effective rate = (1 + annual rate)1/number of periods − 1

In my case the annual rate as mentioned before is 19.3 and the number ofperiods is 365 because as a result I want to get the daily effective rate. The

14

Page 15: Multi-Abstraction Modelling and Simulation

result from the formula is the daily infection probability rate which is 0.048.In the following section the simulation and the results will be discussed.

2.2. The Simulation and Results

The results from the simulation are plotted on Figure 5. The time stepsare on the x-axis and the number of people is presented on the y-axis. As itwas mentioned in the previous section, the statistical data collected for theswine flu was annual and the infection rate was 19.3 percent (Table 1). Theresult from the simulation after 350 time steps, which are equal to 350 days, isthat 25.6 percent of the population got infected (the green line on plot). Thatresult is satisfactory because the difference is not huge between the actual realdata and the collected simulation data, if taken in consideration that this SDmodel is very simplistic. For my particular research it is very important thatall of the three different abstractions give approximately the same results,because the final result should be a weave between all of them with thepossibility of interchanging the level of abstraction during the simulation.The comparison od the results from the simulations will be in Section 5.

Figure 5: The plotted results from the simulation of the SIR model in SD

15

Page 16: Multi-Abstraction Modelling and Simulation

The peak of the disease as it can be concluded from Figure 5 is on the150th time step. That corresponds with approximately the 5th month fromthe start of the epidemic. When compared with the real data, it can beconcluded that also the peak of the swine flu epidemic was reached after halfan year (in the winter of 2009) from the official start (the end of the springof 2009). It can be concluded that the results from the first of the threeabstractions are satisfactory and are pretty much corresponding to the col-lected relevant data. In the next chapter the Cellular Automata abstractionwill be discussed together with the results from the simulation.

16

Page 17: Multi-Abstraction Modelling and Simulation

3. Cellular Automata

3.1. The Model

It is considered that Cellular Automata (CA) was first introduced byJohn von Neumann in the late 1940s while trying to develop an abstractmodel of self-reproduction in biology [23]. The concept of the CA similarlyas the ABMS is based on a creating patterns with simple rules, which willmimic and reproduce the results from a real time complex systems. TheCA formalism is considered to be discrete state, space and time [18], wherethe time is divided into time steps and the space is located on a grid whichconsists of cells [20]. Each of the cells has a finite number of states in whichit can be, usually graphically represented with different colours.

Figure 6: The states of a cell in CA

On Figure 6 is shown an examplethat explains what the small subsys-tem of one cell in the CA grid lookslike. Each cell like mentioned beforecan be in a finite number of states,in my example the cell can be intwo different states represented bya simple statechart. In more com-plex models it is obvious that thisstatechart will be much more com-plex with more states. The designerof the model gives the initial statefor the cells at the start. In orderfor the cell to know in which stateit should be, there exist some condi-tions which are checked every time

step and at the end the state of the cell is updated. Usually the computationof the current state of a cell takes into account two different situations:

- The state into which the cell itself is- The state of the neighbour cellsWhen working with a CA 2-dimensional grid the shape of the cells is

important. Mostly there two types of cells used in CA models, sorted by theshape, the rectangular, which is more common and also used in my modeland the other shape is hexagonal. A rectangular cell can have two types ofneighbourhood:

17

Page 18: Multi-Abstraction Modelling and Simulation

- Von Neumann neighbourhood - consists of the four orthogonally adja-cent cells.

- Moore neighbourhood - includes the von Neumann neighbourhood plusthe four diagonally placed cells.

A very good example of how a counterintuitive and interesting results wecan get from the simulation of a CA model is The Game of Life made byJohn Conway [6]. The Game of Life is a non-player game which is simulatedon a 2D grid with only four simple rules. The player only gives the initialstate of the cells and as a result the model evolves in a rather unexpectedway, sometimes forming continuous patterns.

In my CA model there are three general groups of cells, which are repre-senting the three groups in the SIR model, each of them graphically repre-sented by a different colour (Figure 7).

- Green cells are representing the Susceptible population in the cells. Ifa cell has a green colour it means that on that cell the whole population isSusceptible and healthy.

- Red cells are showing the Infected population. The more Infected thereare on a same cell the more dark is the shade of the red colour. Even if thereis one infected on a cell together with any other kind of population the cellwill become red.

- Blue cells are representing the Recovered population. The shades ofblue are darker if there are more recovered population than susceptible.

Figure 7: Example of the CA grid

The highest priority in the graphicalrepresentation has the Infected group,then the Recovered and the lowest theSusceptible. If on the same cell thereis at least one person from all the threegroups the tile will become red. The tilewill have blue colour if on the cell thereare Susceptible and Recovered, becausethe latter have a higher priority that theother group of people.

In my Influenza model there are afew condition that are helping the CA to determine in which state the cellshould be. First of all is that, in order of one susceptible person to get in-fected, he must be on the same tile with at least one infected person. Logicallythe more infected there are in the cell together with healthy populating, thebigger the chances are that the susceptible person will get infected. Later in

18

Page 19: Multi-Abstraction Modelling and Simulation

this chapter the modified mathematical equations taken from the SIR modelwill be presented. A person can not get from Infected to Recovered beforethe sickness duration time has passed. Another feature is that the populationcan move from cell to cell, only they must be adjacent. A person can movea maximum of one cell per time step. Not the whole population is migratingfrom one cell to another every step, the migration of the population per cellis restricted by a migration rate.

The initial state of my flu epidemic model is the following. The gridsize in my model is 50 cells wide and 50 cells long, which in total makes agrid with 2500 cells. An important feature of the grid to mentions is thatthere are no borders. In other words the borders of the grid are wrappedaround and when connected they form a torus. The reason for using thiskind of grid is because of consistency between all the three models in thedifferent formalisms. The SD model is allowing the population to interactevenly without any restrictions, which makes this as a condition for theother two models in CA and ABMS. Each cell of the grid is populated by7 persons, which in makes a total population of 17500. At the start all thecells are populated with Susceptible except four random cells on the grid arepopulated with 4 Infected and 3 Susceptible, which in total is 7 persons percell. As I mentioned the population migrates from cell to cell every timestep. The threshold for my migration is 30% from the population of the cell.When calculated that is 2 persons from every cell migrate every time step.The persons that migrate are chosen randomly and can belong to each ofthe three different groups of people as long as they are present in the cell.The number of contacts per step is 4 and is the same as in the SD model.Also the duration of the sickness is consistent as in the SD model and is 6time steps, which are representing the days. The probability of infection is19.3% (Table 1) which means those are the chances to get infected, but onlyif the susceptible is on the same cell with an infected person and only if thesusceptible can meet that person during the time step. It can be concludedthat so far this CA model is using the same parameters as the SD model.

The basics of the formulas used to determine how many people in onecell will get infected and recovered per time steps are taken from the SIRmodel (equations (2), (3) and (4)) and then are modified to correspond withthe CA rules. The user interface and the engine of the CA flu epidemicsimulator were coded in Java and all the following examples of code will bein the same programming language. The process of calculating how manynew Infected there will be per cell is shown on the code below. The variable

19

Page 20: Multi-Abstraction Modelling and Simulation

pMeet is a result from the division of the number of Infected in the cell(numInfectedCell) and the number of contacts per step that one person canhave (CONTACTS PER STEP). Then the program goes over all the Susceptiblein the cell with the for cycle and for all of them calculates how big are thechances that they will meet an Infected person and what is the probabilitythat they will get infected if they meet and Infected. If the two conditionsare true the number of the newly infected people is increased and the numberof the Susceptible in that cell is decreased by that number. An importantthing to mention is that all of these calculations are done for every cell inthe grid, every time step.

pMeet = numInfectedCell / CONTACTS_PER_STEP;

for(int g=0; g < numSusceptCell; g++) {

randInfect = Math.random();

if((pMeet > randInfect) && (INFECT_P > randInfect)) {

newInfected++;

}

}

Before making any new changes to the state of the CA and to its cells, acopy of the grid is saved. That is because the CA is time discrete formalismand the new changes in one cell in one particular time step should not influ-ence the calculations for the next cells that need to be updated in the sametime step.

In the code below the calculations for the newly recovered persons aredone for each cell. In a for loop the program goes over all the Recovered inthe cell and then checks the probability of recovering with the equation (9).

for(int g=0; g<numInfectedCell; g++) {

randRecover = Math.random();

if((numInfectedCell * INFECTION_FACTOR / INFECTION_DURATION) >

randRecover) {

newRecovered++;

}

}

There is a new parameter introduced here (INFECTION FACTOR) which is

20

Page 21: Multi-Abstraction Modelling and Simulation

used to scale the number of Infected in the cell so the model can functionproperly. It must be noted that not the exact same equations can be imple-mented in the CA model, they are modified but still all the crucial parametersand variables are used so the integrity of the model can be kept. Because theCA model was last implemented, he uses a mixture of the equations used inthe SD and the ABMS model.

3.2. The Simulation and Results

When the simulation is started the CA grid is initialized and the initialInfected population is placed randomly. At each time step there is a chain ofactions that are happening which are shown in the list below, not includingthe graphical interface actions:

1. The transfer of the population is happening first. A random chosenpercentage of the population of every cell is transferred to some of theadjacent cells. If for example 3 persons are transferred from one cell,not all of them will have the same destination cell. For each of them arandom adjacent cell will be chosen.

2. The second action is the update of the state of the cells in the grid.This action consists of a few sub-actions:

(a) Make an snapshot of the grid before making the update of thestate of the cells.

(b) Go over the snapshot grid cell by cell.(c) Go over all the Susceptible in the cell and compute the newly

Infected.(d) Compute all the newly Recovered in the cell.(e) Update the attributes of the original grid cell with the newest

variables.

3. Check if the condition for ending the simulation is fulfilled and that isif there are no more Infected in the grid.

When the simulation has ended, all the relevant information that werecollected during the simulation are used to create the statistics. Mostly thestatistical numbers are used in plotting the number of the three differentgroups of population over the time and also calculating the variance of thesimulation when the same model is simulated continuously. The plots willbe presented and explained in the parts that follow.

After explaining how the engine of the simulation works lets look at in-terface of the CA simulator and how the simulation progress. On Figure 8 a

21

Page 22: Multi-Abstraction Modelling and Simulation

Figure 8: The CA simulation of the flu epidemic in six steps

whole simulation is presented divided in 6 steps. The simulation starts with4 groups made of 4 infected people, which in total is 16 Infected in the wholegrid. When compared with the SD model where we had a total populationof 1000 and 1 Infected at the start, here in the CA model we start with atotal population of 17500 and 16 Infected at the start, we can conclude thatthe ratio of initial Infected is pretty much the same.

From the simulation on Figure 8 it can be clearly seen the progress of theepidemic. The progress is much bigger in the first half of the simulation thatthe second which will be proved later with some plots. For example on thesecond example of the simulation, on time step 27 there much more infectedcells and with much more dark red colour that the rest simulation examples.At the end, at step 135, the simulation finishes with a statistic that a totalof 21.21% of the population got infected during the epidemic. This result ismore that satisfactory because is even closer to the real statistical data of19.3% (Table 1) that was published by some of the most relevant medicalcentres in the USA than the SD simulation which finished with a result of

22

Page 23: Multi-Abstraction Modelling and Simulation

25.6% annual rate of infection.The plot of the number of population divided into three groups over the

time is presented on Figure 9. When compared to the same plot from the SDsimulation (Figure 5) a conclusion is that the behaviour of the two modelswhile simulated is very similar. As it was mentioned in the previous part,the disease reaches its peak in the first half of the simulation, which can beseen by looking at the red line in the plot.

Figure 9: Plot of the CA simulation, representing the 3 groups of people in the model

From the results of the simulation we can conclude that this model is wellbuilt and representative for simulation the swine flu epidemic. Because ofthe randomness implemented in the simulator (both Java codes above in thereport in this chapter), the model must be tested if it is consistent enoughto be a good model. For doing that the model was run a 100 times with thesame parameters and the result was plotted (Figure 10). Together with theplotting, an average rate of infection was calculated by adding all the rates

23

Page 24: Multi-Abstraction Modelling and Simulation

Figure 10: Plot of the testing of the CA model through 100 simulations

from the tests and dividing them by the number of experiments. On thex-axis of the graph the number of experiments was plotted and on the y-axisthe percentage of infected population during the epidemic. The results fromthe consistency test as it can be seen on Figure 10 are positive. The plottedline as expected is not straight, but it is always fluctuating around 20% rateof infection. The average rate of infection is 23.1%, which is also a positivemark that the model is accurate enough and consistent. So far the resultsfrom the SD and CA models are promising and that is very important for thefuture work where all the three formalisms need to be combined together. Inthe next chapter the Agent-based model and the results from the simulationwill be presented and explained.

24

Page 25: Multi-Abstraction Modelling and Simulation

4. Agent-Based Modelling and Simulation

4.1. The Model

There are many definitions and answers regarding the question: “Whatis an agent?”, regarding the field of application of the agents. In the articleof Ingham [12], which is a technical report regarding the various existingdefinitions of the term agent, the author concludes that: “Agent is an entityhaving the property of controlling its’ own action independent of other enti-ties unless it desires to communicate with them.” Another definition comesfrom a paper published in the same period as the previous one called “Is itan Agent, or just a Program?” [9]. Based on a different relevant definitionsof the term agent in the field of modelling and simulation, the authors con-clude: “An autonomous agent is a system situated within an environment,that senses that environment and acts on it, over time, in pursuit of its ownagenda.” One more modern definition of an agent comes from the paper [15],which is an introduction to the basics of ABMS (Agent-Based Modelling andSimulation), definition and characteristics of software agents and the practi-cal usage of ABMS in modern world societies: “... the agent label is reservedfor components that can in some sense learn from their environments andchange their behavior in response”. What can be summarized from most ofthe definitions is that an agent is a component capable of making decisionsbased on a predefined behavioural rules, located in a certain environment,which together with the goals of the agent, greatly influences the future ac-tions of the agent.

Throughout most of the research papers and reports, which deal withagents and ABMS almost the same agent characteristics are mentioned: theagent is an individual with its own behaviour, the agent is capable of decisionmaking, it is driven by its goals, it has learning abilities and it is self-directed.Not all of the mentioned characteristics of an agent need to be implementedand satisfied in order to create a relevant agent-based model that can besimulated, mostly it depends on the requirements and the specification ofthe project. For example if the goal is to create a model for simulating trafficflow, the agents in the model which represent the cars must follow the signsand the rules of traffic, instead of driving on the pedestrian walks and parks,which means they can not be completely self-directed to their destination.On the other hand they can make decisions based on their knowledge to takethe shortest route and they are goal-driven to reach their destination.

25

Page 26: Multi-Abstraction Modelling and Simulation

Nowadays ABMS is equally present in the fields of scientific researchand in the industrial world as well. In following paragraph a few exampleswill be given regarding the practical use of ABMS. In the science ABMS isused in: economical researches, for example in the research of how does thebehaviour of people reflects upon a different branches of economy; biologicalexperiments in order to model bacterial behaviour; sociology, to model humaninteractions and the results from them. The big industries are also startingto use ABMS increasingly: military, for decision making; economics, forprediction of financial markets future standings; transportation and logistics[15]. Here we can ask the question: “Why is ABMS the appropriate methodfor modelling and simulation of the influenza seasonal epidemics?”. Theanswer is that with ABMS we can successfully model the human behaviour,which is individual, unpredictable and emergent in cases of influenza. Evenbigger confirmation that ABMS is suitable for modelling human systemscan be found in the article [1]. Here the author indicates that ABMS isappropriate for modelling flows, such as evacuation, traffic, customers flowin public areas and also in this sphere belongs the influenza spread model.

The agents in the models where social interactions are modelled, in ourcase that is the influenza epidemiology model, are typically located on a twodimensional grid space and depending on the requirements they can movefreely in the open space or their movement can be limited. Therefore a bigsimilarity can be recognized with the Cellular Automata (CA) modellingmethod, which is considered to be the influencer for the ABMS [10].

The agent-based model created for this research is simple, there is anempty two-dimensional plain, which is called a grid with square dimensionsand located on the grid there are the agents which are representing the pop-ulation in a dense populated city (Figure 11). The grid of the ABMS modelis modelled similarly to the CA model. The grid has wrap-around bordersand forms a torus, so the population can transfer from one end to anotherwithout restrictions to the movement. The software that was used for theAgent-Based Modelling and Simulation is Repast Simphony 2.0 [16], whichis Java oriented developing environment.

As in the other models also in the ABMS model there are three types ofpopulation, each represented with a colour. Green for the Susceptible, redfor the Infected and blue for the Recovered. For each type of populationthere is a class in the Repast simulator, where the actions of the agents aredefined. For the classes Susceptible and Recovered the main action is therandom movement on the grid. Most of the important actions are in the

26

Page 27: Multi-Abstraction Modelling and Simulation

Figure 11: Example of the grid populated with agents modelled in Repast Simphony 2.0

Infected class, infection, recovery and movement actions. For every agent ofsome type there is an instance of the class of the same type. Every class hasa method step() which is called every time step. Next, as the most complex,the Infected class will be analysed through some code examples.

There is the parameter STEPS DAY, which is defined as a static andis used to control how many simulation steps one day lasts. In this cur-rent setting one day lasts 12 time steps. The class also has an attributestepsInfected that is used to follow how long the agent has been infected.The initial value for this attribute is 0 and is incremented at the end of everystep. In the step() method as mentioned before, all the actions that need tohappen every step are defined. First all the neighbours of the tile on whichthe agent stands are saved in a list, shuffled so at the end of the step oneneighbour will be chosen as a destination for the particular agent. There isalso the option for the agents to stay on the same tile where their currentposition is.

The code example below is taken from the method step() and showsin which order the actions for infection and recovery are executed and theprecondition so a person can become Recovered. Every step the Infectedwill try to infect a Susceptible if there is any on the same tile or in theneighbourhood. After 6 days of being Infected the precondition for gettingrecovered will be satisfied and with the help of the recover() method a newinstance of the class Recovered will be created on the same tile where the

27

Page 28: Multi-Abstraction Modelling and Simulation

agent is and the current instance of the agent of the class Infected will bedeleted.

infect(gridCells);

if(stepsInfected >= 6*STEPS_DAY) {

recover();

}

The infect() method functions in a similar way except it is replacing theSusceptible with Infected. As an argument it receives the neighbourhood ofthe agent and tries to infect all the Susceptible that are in it or on the sametile by generating a random number and comparing it with the probabilityof getting infected of 19.3%. This function allows the Infected to infectmultiple Susceptible in one step and this matches the features of the CA andSD models where also multiple persons can be infected by one Infected ifthey are in the radius of one tile.

if(healthy.size() > 0) {

for(Object obj : healthy) {

NdPoint spacePt = space.getLocation(obj);

double rand = Math.random();

// the probability of getting infected is 19.3%

if(0.193 >= rand) {

// remove the Susceptible person

context.remove(obj);

// create the new Infected

Infected infected = new Infected(space, grid, 0);

context.add(infected);

...

...

...

}

}

}

28

Page 29: Multi-Abstraction Modelling and Simulation

Example of the code from the infect() method is shown above. Firstthe program is checking if there any healthy persons in the neighbourhoodor on the same tile and if there are any the infected will try to infect all ofthem by using the for loop. The program generates a random number and itcompares it to the infection probability. If the susceptible person is infectedthat persons instance object is deleted from the model and another infectedperson is added on its place.

The total initial population in the model is 2000 people. Among that pop-ulation the initial number of Infected is 2 and the rest 1998 are Susceptible.The reason for assigning that ratio of Infected and Susceptible is the consis-tency with the other two models, where the initial ratio is approximately 1Infected per 1000 Susceptible.

4.2. The Simulation and Results

On Figure 13 the plot as a result from the simulation is shown. On thex-axis are presented the time steps and on the y-axis is the population. Asit can be seen, the plot is very similar to the previous two (CA and SD)and the results from the simulation are showing that these three differentmethodologies for modelling and simulation have the potential to be usedcombined in one software where the simulation can be more or less abstract,but that is meant for my future research work. Like on the other two plotsof the same kind from the CA and SD models, the disease is stronger in thefirst half of the simulation while there are more Susceptible that are likely toget infected (the red line on the plot Figure 13). At the end, the statisticalrecords show that a total of 380 people were infected during the simulationof the epidemic, which means that is the number of the Recovered at theend (the blue line on the plot on Figure 13). That leaves the number of620 Susceptible at the end of the simulation that did not got infected bythe disease. If the infection rate is presented in percentage it will be exactly19%. That annual rate is really close to the real world data collected whichis 19.3% (Table 1). On Figure 12 the simulation of the ABMS from startto end is shown in six steps. The figure is best observed if it is zoomed inbecause of the large number of agents. As in the other models the colourrepresentation is the same: green - Susceptible agents; red - Infected agents;blue - Recovered agents. From the figure the movement and the spreading ofthe swine flu can be observed, where at the last time step the virus is goneand there are no more infected people.

29

Page 30: Multi-Abstraction Modelling and Simulation

Figure 12: Example of the simulation of the ABMS model in 6 steps

30

Page 31: Multi-Abstraction Modelling and Simulation

These results leave an positive impression on the research so far and inthe next chapter all the results from the three different levels of abstractionof the flu epidemic will be discussed.

Figure 13: A plot of the Agent-based simulation of the swine flu epidemic model

31

Page 32: Multi-Abstraction Modelling and Simulation

5. Comparison of the Simulation Results

In this chapter the results of all the different simulations will be comparedand discussed and it will be determined if they are corresponding to the real-world data collected for the 2009 swine flu epidemic (Table 1). On Figure14 the results from the simulations are presented in the form of plots, whichwere separately explained in the previous chapters. For all the plots, thetime is on the x-axis and the number of population on the y-axis. Thelegend above the figure shows the colour representation of the three differenttypes of population. Although the initial number of starting population inall the three models was different, here we are interested in showing the ratiobetween the Infected and Susceptible from results of the different levels ofabstraction. An important feature of the models that must be mentionedis that all of them are using the same parameters, so the results can becomparable. In every model it is implemented that the duration of the illnessis 6 days and that the annual rate of infection is 19.3%. Also the initial ratiobetween the Infected and the Susceptible (1:1000) is nearly the same in everymodel.

Figure 14: Comparison of the three plots from the different levels of abstraction:a) Agent-based Modelling and Simulation; b) Forrester System Dynamics;c) Cellular Automata

In the middle of the figure, the plot b), is from the Forrester SD model.It can be seen that this model is the most stable and most precise becauseit is working on the principal of differential equations. No matter how manyruns on the model, the results are always exactly the same and that is why itis located in the middle of the figure, so the other two models can be bettercompared with it. The ABMS and CA models are different from the SD onebecause they have implemented randomness into their simulator engines. For

32

Page 33: Multi-Abstraction Modelling and Simulation

example: in both of them the population moves randomly on the grid; in bothof them a random generated number is compared to the infection factor so itcan be determined if someone will get infected. Because of that randomnessthe results vary from one simulation to another, but an important thing isthat after many runs both of the models show stable results. As it wasexplained on Figure 10, the CA model after 100 runs shows satisfactoryresults, where on average 23.1% of the population has been infected duringthe epidemic.

On Table 2 the results from the three different simulations are shown.The percentages are satisfactory and the difference between the results isnot very big (only 6.6%), which in the future work can be decreased by abetter implementation of the model, where all the 3 different methodologiesof simulation will be implemented together.

Models/Infection Rate

SD CA ABMS

% 25.6 21.2 19

Table 2: Table containing the infection rates from the simulations

The CA and the ABMS are more accurate than the SD formalism com-pared to the real world epidemics data. The reason for that result I thinkis more human-like behaviour that the agents and the CA have. There isincluded more randomness which is the case in the real world. For exam-ple in the models the age, gender and race does not play any role, on theother hand in the world those attributes are really important. The mostsusceptible population to the Influenza are always the youngest children, theold people, who have weak immune system or the already sick population.The more complex the ABMS and CA models can be, the more accurateresults can be obtained. Also there is the border of complexity, where themodel becomes too complex and slow and with that less accurate if too manyexternal parameters are included. When working with agents, where everyagent is an instance of an class and has some goal and actions to fulfil, theoptimisation is a very important feature of the model. For the purposes ofoptimisation and for confirmation that the A(H1N1) virus epidemic can besimulated equally good in all the three abstractions and the results will beacceptable, a simple model like the SIR model was taken as a starting point.

A very important role in getting accurate results plays the border of themodels. In the SD model there are no borders and the population is mixing

33

Page 34: Multi-Abstraction Modelling and Simulation

homogeneously, so for the purposes of getting similar results in all the 3models, the borders of the ABMS and CA are wrap-around borders. Thatmeans that if the map is observed in a 3D environment it will have shapeof a torus. This shape allows for the population not to stack mostly tothe corners of the map, but to move from one edge to another and by thathave a resemblance with the SD model. Another feature connected to theborders of the models is the size of the map. The larger the map is, lessinfluence has the type of the border, whether is with strict borders or withwrap-around borders. Of coarse if the map is enormous with strict bordersthe results will be not the same if it is with wrap-around borders, but thevariation of the results will be not so big as when the map is very small withless population. This is logical because in small systems even the slightestchange in the structure the effects are enormous compared to large systemswhere minor changes does not affect the model so much.

In the next chapter a conclusion taken from the results will be given andan introduction to the future work on this research topic.

34

Page 35: Multi-Abstraction Modelling and Simulation

6. Conclusion and Future Work

The goal of this research is to show that the three different types odmodelling and simulation (SD, CA, ABMS) are stable and can give the sameresult over the same model with the same parameters. Other then findingthe relevant medical statistical data for the A(H1N1) Influenza epidemic in2009 also know as the swine flu, the hardest part was to implement thesame parameters with using all the known techniques for modelling. Thecondition for the models to be correct was to find a way to implement theright parameters, but without breaking the rules of modelling and simulatingstandardized for all the three different formalisms. In order for the researchto be successful, the results obtained from the simulation needed to be withminimal variation regarding the real-world statistical data. As it was shownin the previous chapters, the results are within the borders as it was requiredand the whole research was completed successfully.

The positive findings in this research are very important for my futurework, which continues even deeper in the field of modelling and simulation.This part was essential for getting to know all the basics and the main featuresof the three different methodologies, reading and collecting all the relevantand important theoretical and research materials, so as I mentioned in theprevious chapter I can continue my research by trying to combine all of theminto one simulator built by me. Figuring out the relationship and the connec-tion (by implementing the same parameters) between them was also one ofthe main goals. Now when that part is finished I can concentrate on buildingthe simulator which will take one initial model and will be able to simulate allthe formalisms in parallel, with the option that the user can choose what willbe the current level of abstraction. If he wants a more general representationof the real-time simulation, he can choose the Forrester SD model where ev-erything is simulated with the help of differential equations and the resultsare only statistically represented. On the other hand if the user wants moreabstract level of simulation he can choose the ABMS technique where he canvisually see the real-time simulation and follow the movement of the agentson the map and their attributes. The real challenge here will be the possi-bility of changing the level of abstraction during the simulation and findingthe perfect balance between the simulation techniques mentioned before, inorder for the results to be as much accurate as it is possible.

Some research has already been conducted in the last years, mainly treat-ing the fields of CA and ABMS. Here I will give only an overview of some of

35

Page 36: Multi-Abstraction Modelling and Simulation

the articles and my next research internship will be mainly focused on thepossible connectivity and interaction between the levels of abstraction. Oneof the most important articles which can help me with my future work is“Mobile agent systems and Cellular automata” [11]. This article is workingon the relations between the two formalism and the methods of translatingone to the other, which is exactly what I need for my next research. Anotheruseful article [7] is showing an example of an multi-agent CA for visualisingpedestrian activity, which means that both the formalisms are combined to-gether. In my future research on this field all the relevant papers that arecombining some of the simulating techniques will be mentioned and used asan starting point for building the multi-abstraction simulator.

36

Page 37: Multi-Abstraction Modelling and Simulation

References

[1] Bonabeau, E., 2002. Agent-based modeling: Methods and techniquesfor simulating human systems. Proceedings of the National Academy ofSciences of the United States of America 99, 7280–7287.

[2] CDC, a. Cdc h1n1 virus. http://www.cdc.gov/h1n1flu/.

[3] CDC, b. How flu spreads. http://www.cdc.gov/flu/about/disease/spread.htm.

[4] CIDRAP, . About. http://www.cidrap.umn.edu/about-us.

[5] Company, T.A., . Anylogic 7. http://www.anylogic.com/.

[6] Conway, J., 1970. The game of life. Scientific American 223, 4.

[7] Dijkstra, J., Timmermans, H.J., Jessurun, A., 2001. A multi-agentcellular automata system for visualising simulated pedestrian activity,in: Theory and Practical Issues on Cellular Automata. Springer, pp.29–36.

[8] Forrester, J.W., 2009. Some basic concepts in system dynamics. SloanSchool of Management, Massachusetts Institute of Technology, 17pgs .

[9] Franklin, S., Graesser, A., 1997. Is it an agent, or just a program?:A taxonomy for autonomous agents, in: Intelligent agents III agenttheories, architectures, and languages. Springer, pp. 21–35.

[10] Gilbert, N., Terna, P., 2000. How to build and use agent-based modelsin social science. Mind & Society 1, 57–72.

[11] Gruner, S., 2010. Mobile agent systems and cellular automata. Au-tonomous Agents and Multi-Agent Systems 20, 198–233.

[12] Ingham, J., 1997. What is an agent. Centre for Software Maintenance,University of Durhan, Durhan, London Technical Report 6, 99.

[13] Johnson, T., McQuarrie, B., 2009. Mathematical modeling of diseases:Susceptible-infected-recovered (sir) model, in: University of Minnesota,Morris, Math 4901 Senior Seminar.

37

Page 38: Multi-Abstraction Modelling and Simulation

[14] Lane, D.C., 2007. The power of the bond between cause and effect: Jaywright forrester and the field of system dynamics. System DynamicsReview 23, 95–118.

[15] Macal, C.M., North, M.J., 2005. Tutorial on agent-based modeling andsimulation, in: Proceedings of the 37th conference on Winter simulation,Winter Simulation Conference. pp. 2–15.

[16] Repast, . Repast simphony. http://goo.gl/GIUMIO.

[17] RMS, . About. http://www.rms.com/about.

[18] Sloot, P., Hoekstra, A., 2007. Modeling dynamic systems with cellularautomata, ed. by pa fishwick handbook of dynamic system modellingchapter 21.

[19] Society, S.D., . Origin of system dynamics.http://www.systemdynamics.org/DL-IntroSysDyn/origin.htm.

[20] Vangheluwe, H., Vansteenkiste, G.C., 2000. The cellular automata for-malism and its relationship to devs., in: ESM, Citeseer. pp. 800–810.

[21] WHO, . H1n1 virus. http://www.who.int/csr/disease/swineflu/en/.

[22] Wolfram, S., 1983. Cellular automata. Los Alamos Science , 2–21.

[23] Wolfram, S., 2002. A new kind of science. volume 5. Wolfram mediaChampaign.

38