2. Outline
• Why simulate?
• Simulating Natural Systems
• Desired features for self-awareness simulators
• Existing simulators
– Repast
– The ONE
• Existing platforms
– The CoSMoS Method
• Simulation to help develop algorithms
• Summary
• References
3. Why simulate?
• To understand natural systems
– Simulate our hypotheses of how system works, to
recreate it
– Identify those components of natural systems
responsible for interesting phenomenon
– Experiments problematic to perform in real world
and comparison between different approaches.
– Cost, time, ethics?
4. Simulating Natural Systems
• Natural systems exhibit properties that
engineers wish to capture in engineered
systems
– E.g. Self-organization, decentralized control,
decentralized memory, cognition, robust
operation in noisy and hazardous environments,
etc.
– Not clear what is responsible for property in
natural system
– Try to identify and understand through simulation
5. Desired features for self-awareness
simulators
• A good simulator should provide:
– Scheduler for simulating multi-agent systems
– Networking libraries to analyse the network
performance (bandwidth usage, collisions, etc..)
– Visualization (2D or 3D)
– Different mobility patterns
– Be executable on a high performance computer
(clusters or super computers)
– Good support& documentation
6. Repast [North et al., 2013]
• Open source agent-based
modeling and simulation
platform.
• It allows
– large scale multi-agent
simulations (+1000)
– Visualization.
– Batch mode.
7. Repast Features I
• Java classes can be created through a visual
interface. It does not require high programming
skills.
• Automated connections to a variety of optional
external tools including R, VisAD, Weka, popular
spreadsheets, MATLAB, and iReport.
• Modeling and visualization of 2D environments, 3D
environments, networks including full integration
with the JUNG network modeling library, and
geographical spaces including full Geographical
Information Systems (GIS) support.
8. Repast Features II
• A fully concurrent multithreaded discrete event
scheduler.
• Libraries for genetic algorithms, neural networks,
regression, random number generation, and
specialized mathematics.
• Built-in tools for integrating external models.
• Fully object-orientation.
• Availability of Repast HPC, version for High
Performance Computation, that allows to run
simulation on clusters or super computers. [Collier et
al. , 2012]
9. Repast - Disadvantages
• There is not a network library provided by repast
that provides realistic metrics related with network
performance (e.g. Collisions, bandwidth usage,
etc…)
• Lack of libraries of mobility patterns.
• It is not easy to import real traces taken from a GPS
and map them on real maps.
• It is not easy to simulate real scenario, such us, a
building or a city, where the mobility of the agents
is determined by the environment.
10. The One [Karanen et al. 2009]
• The ONE is a simulation environment that is
capable of:
– Generating node movement using different
movement models.
– Using real Google maps.
– Importing mobility data from real traces.
– Creating simulations with different types of
nodes (e.g. People, cars, public displays,etc..).
– Assigning more than one communication
interface per each device (e.g. Blue tooth,
wi-fi, etc..)
– Monitoring collisions, and bandwidth usage.
– Reporting quality of the network (e.g.
Message delivered, dropped, etc..)
11. The One - disadvantages
• Lack of a good documentation, and set of
examples.
• It use requires good JAVA programming skill.
• Even though The One allows to simulate real
scenario using Google maps. They are not directly
imported, paths for cars, buses, pedestrians, or
trams must be imported separately.
12. Simulators for simulating natural systems
• There are many simulations available (more than covered
here)
• None of them fully satisfy all desired features for realistic
large scale simulations
• Simulator has different goals:
– Repast – observe emergent behaviour in no realistic scenarios
– The ONE – Simulate realistic scenarios using realistic mobility
traces.
• Each simulator can be used at different development
phases.
• Lack of simulators that combine realistic mobility patterns,
networks connections, and high performance computing.
13. The CoSMoS Method
• Method for understanding complex domains
through simulation
– Multiple stages in creation of simulation &
subsequent experimentation
• Help ‘ensure’ simulations are fair representations
of domain (which is itself poorly understood)
• Capture assumptions and abstractions made in
creation of simulation
• Separation of modeler and domain expert
concerns
[Andrews et al. 2010]http://www.cosmos-research.org/
14. The CoSMoS Method
• Domain model; non-executable representation of
domain, created with domain expert
• Captures ‘relevant’ aspects of domain,
components and emergent properties
• Free of implementation concerns
[Andrews et al. 2010]
http://www.cosmos-research.org/
15. The CoSMoS Method
• Platform model: software (architecture)
specification for simulation
• Implementation-specific abstractions & details
added
• Emergent properties removed
[Andrews et al. 2010]
http://www.cosmos-research.org/
16. The CoSMoS Method
• Simulation platform: software simulation of
complex domain created, in a particular
programming language/modeling paradigm
[Andrews et al. 2010]
http://www.cosmos-research.org/
17. The CoSMoS Method
• Results model: results of experimentation performed
on the simulation
• Contrasted with real-world results, where they exist
• Used to create predictions of how complex domain
works
[Andrews et al. 2010]
http://www.cosmos-research.org/
18. The CoSMoS Method
• Makes simulation of complex systems more
rigorous
– Are interesting simulation behaviors really
representative of domain, are they simulation
artifacts, bugs, or the result of
incorrect/inappropriate abstraction?
• Simulations are very abstract, what do
simulation results mean in terms of the real-
world complex domain?
19. CoSMoS in Action – Simulating EAE
• CoSMoS approach used to understand
immune system phenomenon
• EAE – experimental autoimmune
encephalomyelitis
– Autoimmune disease model for MS in mice
– Mice induced into autoimmunity spontaneously
recover!
[Read 2011]
20. Simulating EAE
• Disease severity measured
on 5 points scale
– 0 = no signs of ill health
– 5 = mouse dies
• After immunization at day
zero, mice get various
degrees of paralysis, but then
recover
• Why? [Read 2011]
21. Simulating EAE – domain modelling
• Drawing UML diagrams to
capture cell behaviour,
capture assumptions,
expose inconsistencies in
the literature
• Free of any
implementation-specific
details, focuses purely on
biology
• Forms basis for
simulation construction
[Read 2011]
22. Simulating EAE – platform model
• Derived from domain model, provides
implementation specific details.
• E.g., how do cells move? How is space
represented?
• (cells are agents)
• (chemicals are
Concentrations)
[Read 2011]
23. Simulating EAE – Simulation Platform
• The simulation itself is built based on platform model
specification [Read 2011]
24. Simulating EAE – Results model
• This is investigation specific, the experiments you
want to do with your simulation.
• E.g., how exactly interfering with regulation that
mediates recovery from disease impacts disease
• (left – healthy, right, regulation ameliorated)
25. Simulation to aid Controller Design
• Simulation also used to prototype ideas for
control systems.
• Quickly scope out potential solutions
• Evaluation made easier, and more detailed
– Easier to create metrics in simulation than to (for
example) record underwater robots position in 3D
space
– More rigorous statistics, can take many samples
26. CoCoRoSim
• Underwater swarm robotics simulation
developed by the CoCoRo project
http://cocoro.uni-graz.at/
• Facilitates controller design whilst hardware is
still under construction.
27. • Swarm re-configuring itself to form a chain
– Complicated algorithm that could not have been
developed on real robots in the first instance
28. Beware the Reality Gap
• Simulation ≠ real world
– Beware of overfitting controllers/systems to
simulations, their physics models are rarely
perfectly accurate
– Simulated controllers rarely work in real world first
time
– The real world is noisy, contains unpredictable
elements, and (robots) can be prone to failure
29. Reality gap example – incorrect physics
• CoCoRoSim physics model was discovered to
have some odd behaviour…
• Two examples follow, the first demonstrating
the issue, the second demonstrating the new
physics engine
• In both videos, AUV spins to terminal
rotational velocity, then engines are cut and
AUV decelerates
32. What happened?
• Old physics engine had no independent
translational and rotational movement. AUVs
on “rails”
• New engine decouples
this
Controllers made/evolved
on “rails” wouldn’t work
well in real world!
33. Summary
• Simulations aid in understanding natural systems,
and in developing engineered solutions
• There are many existing simulations available,
you don’t have to create your own
• Simulating natural systems is difficult, because
the natural system is often poorly understood.
– However, there are frameworks to help the simulation
endeavor
• Simulation for designing engineered systems can
greatly aid development
– But be aware of the reality gap!
34. References
• [Andrews et al. 2010] Paul S. Andrews, Fiona A. C. Polack, Adam T. Sampson, Susan Step-
ney, and Jon Timmis. The CoSMoS Process Version 0.1: A Process for the Modelling and
Simulation of Complex Systems. Technical Report YCS-2010-453, Department of Computer
Science, the University of York, 2010.
• [Karanen et al. 2009] Ari Keränen, Jörg Ott, and Teemu Kärkkäinen. 2009. The ONE simulator
for DTN protocol evaluation. In Proceedings of the 2nd International Conference on
Simulation Tools and Techniques (Simutools '09). ICST (Institute for Computer Sciences,
Social-Informatics and Telecommunications Engineering), ICST, Brussels, Belgium, Belgium, ,
Article 55 , 10 pages
• [North et al., 2013] North, M.J., N.T. Collier, J. Ozik, E. Tatara, M. Altaweel, C.M. Macal, M.
Bragen, and P. Sydelko, "Complex Adaptive Systems Modeling with Repast Simphony,"
Complex Adaptive Systems Modeling, Springer, Heidelberg, FRG (2013).
• [Collier et al. , 2012] Collier, N.T., and M.J. North, "Parallel agent-based simulation with Repast
for High Performance Computing" in Simulation: Transactions of the Society for Modeling and
Simulation International, 2012.
• [Read 2011] – Mark Read. Statistical and Modelling Techniques to Build Confidence in the
Invesitgation of Immunology through Agent-Based Simulation. PhD Thesis, the University of
York, 2011.
35. Acknowledgment
The slides in this presentation were produced
with contributions from:
Peter Lewis
Jose Luis Fernandez Marquez
Mark Read