Skip to content

GRACeFUL-project/DSL-WP

Repository files navigation

GRACeFUL project DSL workpackage

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).

Main achievements of WP4 in GRACeFUL:

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

Deliverable D4.4: Testing and verification framework

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.

Typed Values

SessionCheck

SessionCheck was developed by Maximilian Algehed as part of his MSc in Computer Science at Chalmers U. of Tech.

Property-based testing of GRACe programs (GCMP)

2017-12-11/12: "GSS in H2020 and beyond" event in Brussels

Keynote by Patrik Jansson

GRACe presentation by Alex Gerdes

Information about GRACeFUL-supported education and training material

2017-07-25: Deliverable D4.3

Title: Translation of concept map descriptions to system dynamics models for the CFP layer

PDF

Source

2017-07-01: Current GRACeFUL team at Chalmers

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.

2017-01-01: Alex Gerdes starts working for GRACeFUL at Chalmers

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).

Meetings/

2016-09-12: Deadline for application to become "Student research assistant"

Archived text from the advertisment

http://www.chalmers.se/en/about-chalmers/vacancies/Pages/default.aspx?rmpage=job&rmjob=4292)

201-06-01: Maximilian Algehed starts working for GRACeFUL 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.

2016-03-10: GRACeFUL 1-year review meeting in Brussels

See 2016-03/ for the source code and WP4_DSL_Y1_review.pdf for the actual presentation.

2016-01-25/26: GRACeFUL 12-month meeting

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.

List of talks

From the Grant Agreement

(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).

Description of work

  • 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)

Abbreviations

  • 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