Paper accepted at MiSE@ICSE 2013: A model-based approach to language integration

We got recently a paper accepted at the workshop on modeling in software engineering. The paper was written with Antonio Vetrò, Marco Torchiano, Markus Völter and Bernd Kolb.

Applications nowadays are written using more than one language: typically some sort of general purpose language and a constellation of complementary languages (SQL, HTML, XML, Scripting languages, DSLs).

Between artefacts written in different languages there are relations of various kinds, at least references (for example some ID have to be the same in a Java file and in an XML file). The problem is that we miss a general approach to check those relations and ensure global consistency.

In our paper we discuss the problem and present a simple, preliminary approach to solve it inside language workbench. Finally we discuss a research agenda for language integration.

If you want to read the paper, the pdf is available here.

Using a language workbench for language integration

Nowadays each project is realised using a plethora of languages. Think about some classical scenarios:

  • A web application: Css, Javascript, Html and a general purpose language for server side elaborations (for example Java)
  • A Java framework using XML for configuration
  • SQL snippets embedded in a general purpose language

In this scenarios different languages have to interact. The problem is that normally development tools are able to verify just intra-language consistency: it means that an IDE is able to understand if in your java code you are referring to a Java class that does not exist (maybe because you misspelled the name). IDEs are not able to verify inter-language consistency, so for example it does not know if the XML configuration file contains the name of an existing Java class or not. This is a problem of language integration.

I think language workbenches permit to improve a lot language integration, with a limited effort.

Still there is a lot to be done.

Me, Antonio Vetrò, Marco Torchiano, Markus Völter and Bernd Kolb got a paper accepted at MiSE@ICSE’13 about this topic. In the paper we:

  • discuss about the problem of language integration in different scenarios,
  • refer to some previous work (from me, Vetrò and Torchiano) which starts an empirical evaluation of  the issue,
  • present a prototypal micro-implementation of a solution using Jetbrains MPS,
  • present a research agenda for language integration.

Screenshots and more details are on the paper (available as PDF).