Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Explicit Composition Constructs in DSLs - The case of the epidemiological language Kendrick


Published on

Presentation of IWST16, Prag


Published in: Software
  • Video:
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Explicit Composition Constructs in DSLs - The case of the epidemiological language Kendrick

  1. 1. Explicit Composition Constructs in DSLs The case of the epidemiological language Kendrick Bùi Thị Mai Anh, Nick Papoulias, Mikal Ziane Serge Stinckwich IWST 2016, Prague
  2. 2. Cameroon Université de Yaoundé 1 Vietnam IFI-VNU & USTH Morocco LMDP, Université Cadi Ayyad de Marrakech Senegal UGB (Université Gaston Berger de Saint- Louis) Senegal UCAD (Université Cheikh Anta Diop de Dakar) 65 members + Phd Students: Professors, Researchers, Associates (26 HDR),1 research engineer, 3 admin staff, 3 post-docts and 45 PhD students Texte International Research Unit UMMISCO Mathematical and Computational Modeling of Complex Systems Laboratory
  3. 3. 3 UMMISCO’s approach is based on the building of models that are abstract (simplified) representation of a system which supports answering questions about the system. question System Model represents 3 Key application domains :(i) Emerging diseases (ii) Climate change and natural hazards.(iii) Ecosystems and natural resources. Simulation interprets/analyses Analysis or
  4. 4. UMMISCO East-Central Africa Unit (Yaoundé) Research Activities on Model-Driven Epidemiology 1 Professor (Maurice Tchuenté) 2 researchers from UMMISCO/Bondy (3 months in 2016) 6 PhD students EPICAM KENDRICK Epidemiological Surveillance System Modeling&Simulation of Epidemiology Models Process Mining Ontologies Domain- Specific Languages and Tools Model- Driven Engineering Multi-Agent Simulation
  5. 5. EPICAM is a Model-Driven Engineering Platform for Epidemiological Surveillance System Deployed on 25 sites around Cameroon 3 PhD students from Yaoundé 1 University involved Applied to Tuberculosis but adaptable to other diseases Model-Driven Engineering that allows automatic generation of the platform
  6. 6. Kendrick is a platform for epidemiological modeling and analysis Visualizations It helps epidemiologists craft custom analyses cheaply BrowsersModels 2 PhD students from Yaoundé 1 University involved
  7. 7. What is Epidemiology Modeling ? • Building mathematical models to study speed of a disease in a population • Compartmental models
  8. 8. SIR Model
  9. 9. Models Simulations • 3 ways to do simulations: • Population-level: deterministic simulation (ODEs solver) • Individual-Level: stochastic simulation (Gillepsie simulation) • Agent-based level
  10. 10. Multi-concerns Models of Epidemiology • Seasonality • Multi-hosts • Multi-strains • Age/Risk structure • Spatial aspect • Control strategies
  11. 11. Multi-hosts concerns
  12. 12. Multi-strains concerns
  13. 13. Spatial concerns
  14. 14. Control Strategies concerns
  15. 15. How epidemiologists are building their models ?
  16. 16. SEIRS model
  17. 17. Concerns are scattered
  18. 18. Concerns are scattered Concerns are tangled
  19. 19. Concerns are scattered Concerns are tangled Not modular, not reusable
  20. 20. Separation of Concerns in Epidemiology Modeling • Decompose highly-coupled monolithic models into modular concerns • define concerns with as few dependencies as possible • Combine concerns as freely as possible
  21. 21. Solution • Generic mathematical meta-model that provides abstractions to define epidemiological concerns • Models are expressed as Stochastic Automata • Composition operator (tensor sum) • Transforms concerns to modify automata
  22. 22. Tensor Composition of a spatial concern with SIR model
  23. 23. Kendrick DSL • Implemented the generic mathematical meta- models in Smalltalk • Embedded DSL in Pharo • Allows definition and composition of concerns •
  24. 24. Kendrick Demo
  25. 25. If you want to try Kendrick download a MOOSE 6.0 image from
  26. 26. Participants • Fabrice Atrevi (IFI-VN) • Bui Thi Mai Anh (UMMISCO-VN) • Ho Tuong Vinh (UMMISCO-VN) • Cheikhou Oumar Ka (UMMISCO-Senegal) • Nick Papoulias (UMMISCO-France) • Benjamin Roche (UMMISCO-France) • Aboubakar Sidiki (UMMISCO-Cameroon) • Serge Stinckwich (UMMISCO-France) • Mikal Ziane (LIP6, UPMC)
  27. 27. Conclusions • Kendrick is an embedded DSL for epidemiology modeling/simulations that promote separation of concerns • Chapter 15 in “Agile Visualisation Book”: http:// • We rely a lot on the Pharo community: PolyMath, Roassal, PetitParser, Moose, STon, SmalltalkCI
  28. 28. Ongoing Work • GPU (VirtualGPU) implementation of stochastic algorithms - Cheik Oumar Ka • Network concerns - Aboubakar Sidiki (April-May 2016) • Metamorphic tests of Epi models - Herman Mekontso Tchinda • User eXperiments (in collaboration with Nick Papoulias during 2017)