Multi-language Development Enviroments: Design Space, Models, Prototypes, Experiences
Research output: Book / Anthology / Report / Ph.D. thesis › Ph.D. thesis › Research
in multiple modeling and programming languages, describing different system
aspects on different levels of abstraction. I call such systems multi-language
software systems. Even though artifacts constituting multi-language software
systems are heavily interrelated, existing development environments do not
sufficiently support developers in development of such systems. In particular,
handling relations between heterogeneous artifacts is not supported at
This thesis (a) studies the characteristics of contemporary multi-language software systems, (b) it investigates features needed in software development tools and environments to support or enhance multi-language software system development, and (c) it establishes required knowledge and building blocks for
creation of multi-language development environments.
I address these research goals by applying tool prototyping, technical experiments, user experiments, surveys, and literature survey as ethodological
The main results of this thesis are (a) a taxonomy for construction, comparison,
and characterization of multi-language development environments (b) the identification of navigation, static checking, visualization and refactoring of cross-language relations as four elementary cross-language support echanisms, (c) the experimental evaluation of multi-language software system
development with support of cross-language support mechanisms, (d) the characterization of two industrial strength open-source systems as multi-language software systems by technical experiments, (e) a characterization of the state-of-the-art in multi-language software system development and in multi-language development environments, and lastly (f) a set of open-source prototype tools, which implement different language representations and relation models and they implement different facets of multi-language development environments.
My main conclusions are (a) contemporary software systems are indeed multilanguage software systems, (b) relations between heterogeneous development artifacts are ubiquitous and troublesome in multi-language software systems; they pose a real problem to development and evolution of multi-language software systems, (c) users highly appreciated cross-language support mechanisms of multi-language development environments, (d) generic MLDEs clearly enhance the state of the art in tooling for language integration, and (e) multilanguage development environments can be constructed by cautiously deciding on a language representation for heterogeneous development artifacts, a model for relations between heterogeneous development artifacts, and considering typical properties of heterogeneous development artifact relations.
|Publisher||IT-Universitetet i København|
|Number of pages||247|
|Publication status||Published - 2013|