This repository contains open source material related to the workpackage "Domain-Specific Languages for System Dynamics Models" in the EU-project GRACeFUL (2015-02-01 / 2018-01-31).
The main task of WP4 was to build a DSL for translating the concept maps developed and manipulated during GMB sessions to system dynamics models adequate for the CFP layer. To this end we developed the GRACe DSL for concept maps, after identifying the key underlying concepts needed for the CRUD case study. We provided a semantics for GRACe in terms of the types and functions in its Haskell implementation. In collaboration with WP5 we implemented a middleware connecting the GRACe DSL to the CFP layer via the haskelzinc DSL. Finally, we developed a testing and verification framework for RATs, based on three parts: declarative programming with strong types (in Haskell), property-based testing in general (using QuickCheck), and the SessionCheck tool for testing communicating systems in particular. In connection with these tasks, WP4 was responsible for the completion of four deliverables. Six papers written by members of WP4 in connection with their work on the GRACeFUL have been accepted for publication so far, with at least three more currently in the pipeline. Three of the six accepted papers are journal publications while the other three were presented at peer-reviewed workshops.
Below are more details about the work during 2015--2018 (starting with the most recent work) with links to further material.
- D4.4 Testing and verification framework
- D4.3 Translation of concept map descriptions to system dynamics models for the CFP layer
- D4.2 A Domain Specific Language (DSL) for GRACeFUL Concept Maps
- D4.1 Formal Concept Maps Elements Descriptions
Links: PDF, Text source
The fourth deliverable (D4.4) of work package 4 presents a framework for testing and verifying communicating systems. The work leading up to this deliverable is within Task 4.5 "Build a testing and verification framework for Rapid Assessment Tools (RATs)".
The GRACeFUL testing and verification framework is based on three parts: declarative programming with strong types (in Haskell), property-based testing in general (using QuickCheck), and the SessionCheck tool for testing communicating systems in particular. The strong type system of Haskell and the property-based testing tool QuickCheck are off-the-shelf techniques developed by others but adapted for GRACeFUL by WP4. The main new contributions were Typed Values, SessionCheck, and property-based testing of GRACe programs.
SessionCheck was developed by Maximilian Algehed as part of his MSc in Computer Science at Chalmers U. of Tech.
GRACe presentation by Alex Gerdes
Information about GRACeFUL-supported education and training material
Title: Translation of concept map descriptions to system dynamics models for the CFP layer
From July 2017 the Chalmers GRACeFUL team consists of Sólrún Einarsdóttir (100%), Maximilian Algehed (50%), Alex Gerdes (40%), and Patrik Jansson (20%).
2017-02-03: Deliverable D4.2 uploaded
Title: GRACeFUL D4.2: A Domain Specific Language (DSL) for GRACeFUL Concept Maps
Contributions by: Oskar Abrahamsson, Maximilian Algehed, Sólrún Einarsdóttir, Alex Gerdes, Björn Norgren, and Patrik Jansson.
Abstract:
This second deliverable (D4.2) of work package 4 presents GRACe — a Domain Specific Language (DSL) for describing GRACeFUL Concept Maps (GCMs). This is a continuation of the initial work described in “D4.1 Formal Concept Maps Elements Descriptions” delivered in project month 6. The full source code of the language implementation is available on github and installation instructions are included in this deliverable. The implementation in Haskell can be seen as a formal semantics in terms of types and functions and this means that GRACeFUL has reached milestone MS8 “DSL with formal semantics v1.0 ready”. In addition we include a section comparing different approaches to modelling some of the formal semantics concepts relevant for GRACeFUL concept maps: causal loop diagrams, qualitative probabilistic networks, and difference equations.
Alex Gerdes is a junior lecturer at the CSE department and will work 40% for GRACeFUL. He has a PhD from Utrecht University and several years of PostDoc and industrial research experience.
2016-10-01: Sólrún Einarsdóttir, Oskar Abrahamsson and Björn Norgren start working for GRACeFUL at Chalmers
Sólrún, Oskar and Björn hold three 20% positions as student research assistants (Swedish: amanuens) in the GRACeFUL project (in parallel with university studies).
Archived text from the advertisment
http://www.chalmers.se/en/about-chalmers/vacancies/Pages/default.aspx?rmpage=job&rmjob=4292)
2016-06-20/22: DSL work sprint at Chalmers
Maximilian holds a 20% position as student research assistant (Swedish: amanuens) in the GRACeFUL project (in parallel with university studies).
Invited presentation at Alan Turing Institute Symposium on Reproducibility for Data Intensive Research.
See 2016-03/ for the source code and WP4_DSL_Y1_review.pdf for the actual presentation.
See 2016-01/ for source code and WP4_DSL_Y1.pdf for the actual presentation.
(A "by invitation only"-workshop in the GRACeFUL project.)
The GRACeFUL project develops connections between functional and constraint programming, requiring a unified expression of programs, constraints, traditional numerical mathematical models and qualitative models. The members of the IFIP Working Group 2.1 on Algorithmic Languages and Calculi have developed a large body of expertise in the design of notations for calculating programs from specifications, covering all programming paradigms. Such a notation could provide the glue between functional and constraint programming, required in GRACeFUL. On the other hand, the various programs developed in GRACeFUL can provide a test-bed for the notation and suggest extensions or improvements to it. The aim of this workshop is to create a close connection between GRACeFUL and IFIP2.1. The workshop is co-located with the 73rd IFIP WG 2.1 meeting organised in Göteborg.
(reformatted)
[The task is] To build a DSL for translating the concept maps developed and manipulated during GMB sessions to system dynamics models adequate for the CFP layer.
One of the most successful mechanisms for managing complexity is linguistic abstraction: the creation of DSLs, especially designed for expressing problems and their solutions in a given domain.
The overall purpose of WP4 is to use a DSL for policy concept maps, logic and relations
- to bridge between
- the complexity of the CRUD case study from WP2 (visualised in WP3)
- and
- the underlying science and technology of WP5.
In the longer term this will lead to a DSL aimed at building scalable RATs for collective policy making in Global Systems.
During the project we will work with embedded DSLs to improve scalability, verifiability and correctness of the models.
This WP builds on several years of research on DSLs for modelling global systems (FP7 CA GSDP).
- T4.1 identify key underlying concepts needed for the CRUD case study
- T4.2 develop a DSL to describe the concept maps developed during GMB sessions
- T4.3 provide a formal semantics for the elements of the DSL
- T4.4 implement a middleware for connecting the DSL to the CFP layer
- T4.5 build a testing and verification framework for RATs
- D4.1 Formal description of concept map elements needed for CRUD case study (m6)
- D4.2 DSL for description of concept maps, with formal semantics (m24)
- D4.3 Translation of concept map descriptions to system dynamics models for the CFP layer (m30)
- D4.4 Testing and verification framework for RATs with applications to the CRUD case study (m36)
- GRACeFUL = Global systems Rapid Assessment tools through Constraint FUnctional Languages
- DSL = Domain Specific Language
- CFP = Constraint Functional Programming
- CRUD = Climate Resilient Urban Design
- RAT = Rapid Assessment Tool
- GSDP = Global Systems Dynamics and Policy
- GMB = Group Model Building