Domain Specific Languages for Economical and Environmental Modelling (DSL4EE)

Work page for a workshop taking place from June 16-17, 2011 near Gothenburg, Sweden (at Grand Hotel Marstrand).

The workshop is organised by the DSL work package of the Global Systems Dynamics and Policy (GSDP) project in collaboration with the HIPERFIT project.

  • Administrative contact: Katarina Steffenburg, katste AT chalmers DOT se
  • Academic contact: Patrik Jansson, patrik.jansson AT chalmers DOT se

Talks slides etc. can be found in the accompanying material.


The workshop was organised by the DSL work package of the Global Systems Dynamics and Policy (GSDP) project in collaboration with the HIPERFIT project.

The aim of the workshop was to bring together researchers interested in specification and implementation of economical and environmental models, and computer scientists knowledgeable in Domain Specific Languages and related methods, eager to apply their tools and theories to "real modelling problems".

We had two days with presentations alternating between the modelling and the methods perspectives, with sufficient space allocated for more interactive discussion sessions where applications of the methods could be initiated.

Thursday started with Jeremy Gibbons talking about Domain Specific Languages for interdisciplinary research. Gibbons gave a broad background of what DSLs are and clarified terminology relevant for computational modelling in general. He shared his experiences from working with DSLs for designing, executing and supporting medical trials and opened for a discussion with a few questions:

  • How important is robustness of modelling in your field?
  • How realistic is opnenness and transparency?
  • Is your domain sufficiently stylized to allow a semantic framework?

After discussions over coffee we continued with Edwin Brady presenting a more technical, tutorial style talk about "Dependent Types for DSLs". Brady presented the dependently typed Idris language, suitable for embedded DSLs in two senses of the word embedded. A DSL can be embedded in Idris, but it is also aimed at implementing (and compiling to) low-level, resoure-constrained systems (typical of embedded systems).

After lunch Cezar Ionescu talked about "Economic equilibria in type theory", starting with a broad, interdisciplinary overview of DSLs and zooming in to mathematical modelling of economic equilibria. The main message weas that "coding up" (programming) parts of economical theory (using constructive mathematics) can help to understand the definitions, locate "hidden" restrictions, find bugs, reformulate definitions and results, and perhaps even suggest new results.

The afternoon session started with Nicola Botta presenting "Software models of exchange-based economies". This tied on nicely to the formalisation work of Ionescu but stressed that "exploratory programming" (prototyping) is essential for fields where specifications are incomplete, missing or ambiguous. Botta et al. have developed a specification framework starting from and clarifying concepts in the Gintis 2006 paper. (The overall aim is to explain if and how the economy as a whole converges towards an equilibrium of supply and demand in a decentralized setting.) The notation is based on Haskell and can be seen as an embedded DSL.

Antoine Mandel continued this session with "Agent-based models in economy", starting with a background of mathematical economics and ending in a DSL for agents, exchange, trading, etc. Important questions include: How to relate the results of equilibrium based and agent-based methods? Are there middle points between the aggregate setting (representative agents) and the full agent-absed setting? How to structure (standardise?) the description of agent-based models?

The second day started with Carlo Jaeger talking about "Challenges to economic modelling in the wake of the financial crisis". Jaeger started with some context of the GSDP project, reminding us that the first year should deliver a report on the state of the art "starting from" the policy making view. He gave an overview of policy making of the "big players" (European central bank, American federal reserve, Chinese central bank, really large banks, etc.) and the models they use. These models perform reasonably well in "steady state" but do not predict the "mode change" to financial crises. He believes the next step is to express the "frame conditions" of the different modes in a DSL. Jaeger also provided a historical overview of mathematical economics.

After the break Fritz Henglein presented "DSLs for the financial sector" starting with his own introduction to DSLs as a mothodology for software development: first write down / specify the structure of the domain (as a DSL), then express your problem in this language. Already without any computer interpretation this helps clarifying (framing) the problem, but then we can also implement one or more complementing solvers or analysers of the problem. As an example he presented a family of DSLs for "Enterprise Resource Planning". He ended with presenting the newly started HIPERFIT research project and pointed us to a concrete "policy making" connection: a "Securities and exchange commission" RIN 3235-AK37 recommends executable models (in Python) as a way of specifying evaluation of asset-backed securities.

In the last session, after lunch on Friday, Sinan Gabel (from Nordea Denmark) presented "Crossroad between banking, regulation and technology". He started with an overview of how High Frequence Trading is driving hardware and algorithm investments in the banking sector. To enable proper risk management, models of financial products need to be transparent, that is, clearly specified.

  • Dates: 2011-06-16 (starting at 09.00) and 2011-06-17 (ending at 16.00)
  • Place: Marstrand (near Gothenburg, Sweden)


For those eight of us who arrive on Wednesday 2011-06-15, we will be in Hotel Lökeberg for the first night and then transfer to the workshop venue.

  • Wednesday, 2011-06-15
19:00:Dinner at Hotel Lökeberg (the those who have arrived)
  • Thursday, 2011-06-16
8.30:Transfer from Lökeberg to Grand Hotel Marstrand (the workshop venue) for those arriving on Wed.
 ---- Start of Workshop
9.00:Welcome + session 1: Jeremy Gibbons: DSLs for interdisciplinary research. (Chair: Bernardy)
11.00:session 2: Edwin Brady: Dependent Types for DSLs (Chair: Gibbons)
14.00:session 3: Cezar Ionescu: Economic equilibria in type theory (Chair: Brady)
16:00:session 4: Nicola Botta: Software models of exchange-based economies (Chair: Ionescu)
 and Antoine Mandel: Agent-based models in economy
18:00:Free time (walk around the island)
  • Friday, 2011-06-17
9.00:session 5: Carlo Jaeger: Challenges to economic modelling in the wake of the financial crisis (Chair: Mandel)
11.00:session 6: Fritz Henglein: DSLs for the financial sector (Chair: Jaeger)
14.00:session 7: Sinan Gabel: Crossroad between banking, regulation and technology (Chair: Henglein)
16.00:Coffee / end of meeting

The speakers should aim for 30-40 minute talks to leave ample time for discussions and group work. Style-wise I'd like all presentations to maximise the interaction with the other participants - perhaps suggest a few "exercises" to solve or a demo or something else in the style of "a workshop / a summer school / teamwork" rather than just "a lecture".

The session chair introduces the speaker, keeps time and chairs the discussion.

Jansson will take notes which will later be transformed into first a "workshop report" and second a "work package deliverable" towards the GSDP project annual report.


  • Fly to GOT (Göteborg Landvetter Airport) + 1 hour taxi (or 1h40m by bus)
  • or to GSE (Göteborg City Airport) + 45min by taxi

Local bus travel planner

Taxi sharing possibilities:

  • Arrivals:
    • GOT Weds 16th at 12:20: J Gibbons
  • Departures:
    • GOT Sat 18th at 12:45: J Gibbons


Other participants:

  • Patrik Jansson from Chalmers
  • Jean-Philippe Bernardy from Chalmers
  • Steffen Fürst from PIK
  • Daniel Lincke from PIK