1 Software & Systems, The Department2 Process and System Models, Software & Systems, The Department3 Computer Science, IT University of Copenhagen4 Software Development Group, Software & Systems, The Department
Non-trivial software systems integrate many artifacts expressed in multiple modeling and program- ming languages. However, even though these artifacts heavily depend on each other, existing development envi- ronments do not sufficiently support handling relations between artifacts in different languages. By means of a literature survey, tool prototyping and experiments we study the design space of multi-language development environments (MLDEs)—tools that consider the cross-language relations as first artifacts. We ask: what is the state of the art in the MLDE space? What are the design choices and challenges faced by tool builders? To what extent MLDEs are desired by users, and for what support features? Our main conclusions are that (a) cross-language re- lations are ubiquitous and troublesome in multi-language systems, (b) users highly appreciated cross-language sup- port mechanisms of MLDEs and (c) generic MLDEs clearly enhance the state of the art in tooling for lan- guage integration. The technical artifacts resulting from this study include a feature model of the MLDE do- main, a data set of harvested cross-language relations in a case study system (JTrac) and two MLDEs, TexMo and Coral, that implement two radically different choices in the design space.