%in ivory park+277-882-255-28 abortion pills for sale in ivory park
Â
Pragmatic Insights - Live UIs for Agent-based Modelling in Pharo
1. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš
International Workshop on Smalltalk Technologies, 2017, Maribor, Slovenia
Pragmatic Insights:âš
Live UIs for Agent-based
Modelling in Pharo
Jigyasa Grover, Nick Papoulias, Serge Stinckwich & Pierre Bommel
3. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš3ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš
â Agent Based Modelling (ABM) & Object Oriented Paradigm
â Concise Analysis of (a few popular) present day ABM platformsâš
â MobiDyC â NetLogoâš
â GAMA â CORMAS
â Our Work ! âš
Developing spatial interface for CORMAS in Pharoâš
â Implementation Detailsâš
â Case Study: The ECEC Model
4. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš4
To enable simulation of actions of heterogeneous entities &
interactions in a collective spatial environment
5. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš5
Common uses of ABM & simulations comprise social or
biological system simulations such as crowd behaviour, urban
simulation or disease propagation.
6. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš6
ABMs provide explicit views to:âš
* follow each agent individually âš
* understand consequences of
multiple interactions in system as
a whole
Micro vs Macro : Point of Views
7. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš7
Significant features looked forward to:
ă»Dynamical evolutionâš
ă»Graphical interfaceâš
ă»Live-explorationâš
ă»Time saving simulation renderingâš
ă»Flexibility to mould the source code
ă»Enhanced scalability
8. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš8
One of the most important
components of these systems is
spatial user interface especially
for end-users. âš
It allows the users to interact with
simulations in real-time to vividly
visualise & partially control the
evolution.
9. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš9
Letâs analyse some agent-based modelling systems namely
MobiDyC, NetLogo, GAMA and CORMAS and shed
some light on their positive aspects and limitations in terms of
programming flexibility, extensibility & more.
10. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš10
ABM
Systems
Pros Cons
MobiDyc
Multi-platform tool âš
Flexible architecture âš
Elementary GUI for beginners
Enterprise tool âš
Domain specific âš
Space & time computation constraints
NetLogo
Free & Open Source environmentâš
Lucid extensibility with third-party apps âš
Partial compilation to JVM bytecode
Single instance, single core âš
Inability to model information rich
systems âš
Limited object-oriented support
GAMA
Open source tool âš
Support for 3D modelling & visualisation âš
Easy partnership with third-party apps
Complex GUI âš
Support for spatially explicit ABMs âš
Specific to GIS data models
CORMAS
Open-source & free software âš
Based on MVC architecture âš
Detailed sensitivity analysis âš
Comprehensive spatial interfaces
Based on proprietary language âš
Limited extensibility with third-party
apps âš
Opaque model structure
12. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš12
Rationale behind this choice is to
allow modern re-imagination that
can take advantage of
developments in: âš
Agile Visualizationâš
Moldable toolsâš
Domain-specific languages (DSLs)
13. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš13
Our spatial interface for CORMAS in Pharo
âš
CORMAS currently uses CincomÂź VisualWorksÂź
Our effort is to make CORMAS open-source by porting it
from VisualWorksÂź to Pharo.
Recreating the platform using:âš
Roassal visualisation engine, Spec UI framework, Glamorous Toolkit
14. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš14
The ECEC Modelâš
Sample project in CORMAS; inspired from a paper by Pepper &
Smuts, "Evolution of Cooperation in an Ecological Context". âš
âš
The model consists of a 2D grid, containing two kinds of entities:
plants and foragers.
15. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš15
The ECEC Modelâš
Main Idea: Study of the survival of two populations of foragers that depends on
biomass availability of plants & initial spatial configuration of the landscape.
17. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš17
Roassal Visualisation
Engine âš
âš
Instance of CORMAS
Model initialised in
RTGridLayout.âš
âš
Cells of grid defined as
RTBox, each of a given
dimension. âš
âš
Each cell element given a
different shade, varying
according to attribute value.
18. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš18
Running simulation with cells changing colours in real-time with shades
being dependent on an attribute, for example on biomass in ECEC Model .
19. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš19
Spec UI Framework âš
defaultSpec is used as a pre-selected method to put into a columnar layout:âš
ă»Menu or the toolbar built using Spec MenuModel, âš
ă»Diagram containing the CORMAS Model from Roassal RTViewâš
ă»TabManager Model which gathers multiple tabs
20. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš20
Initially, a SpecToolbar is
set up by adding basic
window with a
CORMAS Model
diagram & a
MenuGroupModel.
Separate execution
panel is created with
Run, Stop and Reset
buttons.
21. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš21
With flow, Load menu is detailed by allowing loading of different
CORMAS Models along-with execution panel.
22. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš22
Visualisation sub-menu made
is generic by selecting
methods based on their
protocols.
Sub-menu provides
possibilities to picturize data
for various entities & PoVs.
Similar method for entities to
view real-time information,
attributes are collected via
modalClasses dictionary.
23. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš23
UI built so far supports probe visualisations & rudimentary
simultaneous views.
24. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš24
Glamorous Toolkitâš
Customised GTInspector;
independent of model -
directly extending it in
CORMAS-Core package in
super-class SpatialEntityCell.
Each child-class inherited
implements its own methods
for id, state, etc. & thus shows
specific values corresponding
to the instance.
25. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš25
Presenting cell information
(here: biomass) using
customised inspector
initiated on onHover event.
Presenting detailed cell
information (here: id,
coordinates, etc.) using
customised inspector
initiated on onClick event.
27. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš27
Roassal, SpecUI & GTools has provided a good base to overcome the
short-comings of present day ABMs in an Open Source
environment.
Leveraged the above to support multiple visualisation perspectives, run-
time probing of simulations along-with providing appreciable
programming flexibility.
28. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš28
Brief analysis spells out need to explore lively simulations to interact
with agents in simulation effortlessly in real-time.
ABM platforms require development of extensions & plug-ins
compatible with third-party applications for better
interoperability.
~ fin ~
29. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)âš29
Improving GUI (zoom & multi-windowing), including missing
features (time-travel) and designing better techniques for data analysis
& visualisation.
Reducing coding requirements, future developments focus on design
of embedded DSLs & UIs to automatically generate partial code.