Session Info

Session Title

Incremental engineering of DSLs from Software Prototypes

Session Type Hands-On

Duration 165 minutes

Session Description

Given a software prototype it is quite easy to discover some code patterns inside it, while it could be hard, and also unnecessary, to design a complete DSL for generating it.

Usually, a language workbench supports the definition of a DSL from scratch, but offers little to no help in engineering a domain starting from an actual prototype.

During the session we will distribute a few challenging prototypes and, using the Whole Platform Language Workbench, we will show an innovative technology that enables incremental derivation and application of a DSL starting from the patterns found in the code.

Attendees are expected to work with their own laptops or to share a laptop. To save time at the start of the session, please make sure you have Oracle JDK 6 or 7 and the Whole Platform Language Workbench installed. The Whole Platform Language Workbench is open source and the executables for Windows, Mac and Linux are downloadable from: All software and examples will also be available at the start of the session.

Note: Places are limited on this session and will be allocated on a first-come first-served basis.


Riccardo Solmi (Independent)

Riccardo Solmi is the creator and project leader of the Whole Platform Language Workbench. Before focusing on research and development, he worked as a Professor of Software Engineering at the University of Bologna where he also completed his PhD in Computer Science.
Riccardo has more than ten years of professional experience in applying research to industry.

Enrico Persiani (Metatis sas)

Enrico Persiani is a software engineer and consultant at Metatis SaS in Bologna. He has several years of experience on developing and engineering complex model driven software solutions in the finance field. Furthermore, he is a long time contributor to the Whole Platform Language Workbench.