Modularity and Conventions for Maintainable Concurrent Language Implementations

Stefan Marr, Jens Nicolay, Tom Van Cutsem, Theo D'Hondt

Research output: Chapter in Book/Report/Conference proceedingConference paper


For a fruitful discussion at the MISS'2012 workshop, we did the exercise to review what we have learned in recent years from implementing languages for parallel and concurrent programming. Our goal for this collective case study is to identify the approaches used to
facilitate correctness and maintainability of our implementations. The main questions we ask in our case study are: What guides
modularization? Are informal approaches used to facilitate correctness? Are concurrency concerns modularized? And finally, where is language support lacking mostly?

The subjects of our case study are AmbientTalk, SLIP, and the RoarVM. All three language implementations evolved over the years
and are the foundation of our language and VM research as well as our teaching program. The evolution over the years enables us to look back at specific experiments to understand the impact of concurrency on modularity.

We conclude from our review that concurrency concerns are one of the strongest drivers when it comes to defining module boundaries. It can be helpful when languages offer sophisticated modularization constructs, however, with respect to concurrency, other language features are of greater importance. Furthermore, tool support that enables remodularization taking concurrency invariants into account would be of great value.
Original languageEnglish
Title of host publicationProceedings of the 2nd Workshop on Modularity In Systems Software (MISS'2012)
Number of pages6
Publication statusPublished - Mar 2012
Event2012 workshop on Modularity in Systems Software - Potsdam, Germany
Duration: 27 Mar 201227 Mar 2012
Conference number: 2


Workshop2012 workshop on Modularity in Systems Software
Abbreviated titleMISS


  • modularity
  • concurrency
  • virtual machines


Dive into the research topics of 'Modularity and Conventions for Maintainable Concurrent Language Implementations'. Together they form a unique fingerprint.

Cite this