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