Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Pragmatic Insights - Live UIs for Agent-based Modelling in Pharo

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 32 Anzeige

Weitere Verwandte Inhalte

Ähnlich wie Pragmatic Insights - Live UIs for Agent-based Modelling in Pharo (20)

Weitere von ESUG (20)

Anzeige

Pragmatic Insights - Live UIs for Agent-based Modelling in Pharo

  1. 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
  2. 2. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
2 Modelling & Simulation
  3. 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. 4. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
4 To enable simulation of actions of heterogeneous entities & interactions in a collective spatial environment
  5. 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. 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. 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. 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. 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. 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
  11. 11. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
11 MobiDyC CORMAS
  12. 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. 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. 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. 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.
  16. 16. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
16 CORMAS
 Pharo
  17. 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. 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. 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. 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. 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. 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. 23. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
23 UI built so far supports probe visualisations & rudimentary simultaneous views.
  24. 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. 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.
  26. 26. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
26
  27. 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. 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. 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.
  30. 30. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
30 github.com/jigyasa-grover/CORMAS-Pharo
  31. 31. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
31 Follow-up questions. Ideas for improvements. Chat.
  32. 32. ESUG IWST 2017 Jigyasa Grover (@jigyasa_grover)
32 @jigyasa_grover grover.jigyasa1@gmail.com github.com/jigyasa-grover jigyasagrover.wordpress.com

×