Skip to main content
Log in

The design space of multi-language development environments

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Non-trivial software systems integrate many artifacts expressed in multiple modeling and programming languages. However, even though these artifacts heavily depend on each other, existing development environments 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 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 are MLDEs desired by users, and what aspects of MLDEs are particularly helpful? Our main conclusions are that (a) cross-language relations are ubiquitous and troublesome in multi-language systems, (b) users highly appreciate cross-language support mechanisms of MLDEs, and (c) generic MLDEs clearly advance the state of the art in tooling for language integration. The technical artifacts resulting from this study include a feature model of the MLDE design space, a data set of harvested cross-language relations in a case study system (JTrac) and two MLDE prototypes, TexMo and Coral, that implement two radically different choices in the design space.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. http://ofbiz.org, see also [44] on use of DSLs in OFBiz.

  2. http://www.adempiere.com.

  3. http://www.magentocommerce.com.

  4. http://www.x-cart.com.

  5. http://wiki.eclipse.org/KM3.

  6. http://www.variabilitymodeling.org.

  7. http://www.eclipse.org/epsilon/doc/evl/.

  8. http://eclipse.org/atl.

  9. http://eclipse.org/acceleo.

  10. http://wiki.eclipse.org/Xpand.

  11. http://help.eclipse.org/helios/topic/org.eclipse.xtext.doc/help/MWE2.html.

  12. http://www.jtrac.info/.

  13. http://wicket.apache.org/.

  14. We examined the following IDEs/editors: Eclipse http://www.eclipse.org/, NetBeans http://netbeans.org/, IntelliJ Idea http://www.jetbrains.com/idea/, MonoDevelop http://monodevelop.com/, XCode https://developer.apple.com/xcode/, Ninja IDE http://ninja-ide.org/, MacVim http://macvim.org/, Emacs http://aquamacs.org/, TextWrangler http://www.barebones.com/products/textwrangler/, TextMate http://macromates.com/, Sublime Text 2 http://www.sublimetext.com/, Fraise https://github.com/jfmoy/Fraise, Smultron http://sourceforge.net/projects/smultron/, Tincta http://mr-fridge.de/software/tincta/index.php, jEdit http://jedit.org/, Kod http://kodapp.com/, gedit http://projects.gnome.org/gedit/.

  15. Language workbenches use modeling technology to represent abstract syntax trees. Therefore, we use the terms AST and model synonymously in this paper, even though this narrows somewhat the traditional meaning of modeling.

  16. See www.languageworkbenches.net for the annual language workbench competition.

  17. www-01.ibm.com/software/awdtools/doors.

  18. http://www.itu.dk/~ropf/download/texmo.zip.

  19. The grammar rules for TexMo’s universal language representation can be found in the file TexMo.cs in the TexMo sources.

  20. http://www.itu.dk/~ropf/coral.html.

  21. http://www.eclipse.org/ajdt.

  22. http://www.springsource.org/sts.

  23. http://www.hibernate.org/subprojects/tools.html.

  24. http://code.google.com/p/qwickie.

  25. http://emftext.org.

  26. A modified version of http://www.emftext.org/index.php/EMFText_Concrete_Syntax_Zoo_Properties_Java.

  27. http://www.itu.dk/~ropf/coral.html#Constraints.

  28. http://www.itu.dk/~ropf/coral/tech_experiment.zip.

  29. http://sourceforge.net/projects/j-trac/files/jtrac/2.1.0.

  30. http://hibernate.org.

  31. http://www.itu.dk/people/ropf/survey.zip.

  32. www.eclipse.org/forums/index.php?t=thread&frm_id=27.

  33. emftext-users@mail-st.inf.tu-dresden.de.

  34. antlr-interest@antlr.org.

  35. users@javacc.java.net.

  36. http://users.parboiled.org.

  37. pyparsing-users@lists.sourceforge.net.

References

  1. Aizenbud-Reshef, N., Nolan, B.T., Rubin, J., Shaham-Gafni, Y.: Model traceability. IBM Syst. J. 45(3), 515–526 (2006)

    Google Scholar 

  2. Alexander, I.: Towards automatic traceability in industrial practice. In: Proceedings of the 1st International Workshop on Traceability, pp. 26–31 (2002)

  3. Alfaro, L.D., Henzinger, T.A.: Interface theories for component-based design. In: EMSOFT (2001)

  4. Altheide, F., Dörr, H., Schürr, A.: Requirements to a framework for sustainable integration of system development tools. In: Proceedings of the 3rd European Systems Engineering Conference (EuSEC), pp. 53–57 (2002)

  5. Aßmann, U., Bartho, A., Bürger, C., Cech, S., Demuth, B., Heidenreich, F., Johannes, J., Karol, S., Polowinski, J., Reimann, J., Schroeter, J., Seifert, M., Thiele, M., Wende, C., Wilke, C.: Dropsbox: the dresden open software toolbox. Softw. Syst. Model., 1–37 (2012). doi:10.1007/s10270-012-0284-6

  6. Anderson, K.M., Taylor, R.N., Whitehead, Jr., E.J.: Chimera: hypermedia for heterogeneous software development environments. ACM Trans. Inf. Syst. 18(3), 211–245 (2000)

    Google Scholar 

  7. Antoniol, G., Canfora, G., Casazza, G., De Lucia, A., Merlo, E.: Recovering traceability links between code and documentation. IEEE Trans. Softw. Eng. 28(10), 970–983 (2002). doi:10.1109/TSE.2002.1041053

    Article  Google Scholar 

  8. Aranega, V., Etien, A., Dekeyser, J.L.: Using an alternative trace for QVT. Electron. Commun. EASST 42 (2011)

  9. Atkinson, C., Kühne, T.: The essence of multilevel metamodeling. In: Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, pp. 19–33. «UML» ’01, Springer, London, UK (2001). http://dl.acm.org/citation.cfm?id=647245.719475

  10. Atkinson, C., Kühne, T.: Model-driven development: a metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003). doi:10.1109/MS.2003.1231149

    Article  Google Scholar 

  11. Badros, G.J.: JavaML: a markup language for Java source code. Comput. Netw. 33(1-6), 159–177 (2000)

  12. Barbier, F., Eveillard, S., Youbi, K., Guitton, O., Perrier, A., Cariou, E.: Model-Driven Reverse Engineering of COBOL-Based Applications, pp. 283–299. Morgan Kaufmann (2010). http://www.sciencedirect.com/science/article/B6MH5-508779H-7/2/6b3199748873fdfa42e3a892ba1b4d19

  13. Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 171–188 (2005)

    Article  Google Scholar 

  14. Branco, M.C., Troya, J., Czarnecki, K., Küster, J.M., Völzer, H.: Matching business process workflows across abstraction levels. In: France et al. [29], pp. 626–641

  15. Bruneliere, H., Cabot, J., Jouault, F., Madiot, F.: MoDisco: a generic and extensible framework for model driven reverse engineering. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (2010)

  16. Bézivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In: Proceedings of the OOPSLA/GPCE: Best Practices for Model-Driven Software Development workshop, 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (2004)

  17. Colburn, T.: Philosophy and Computer Science. Explorations in Philosophy. M.E. Sharpe (2000). http://books.google.dk/books?id=luF4ElMxqg4C

  18. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications (2000)

  19. de Figueiredo Carneiro, G., Mendonça, M.G., Magnavita, R.C.: An experimental platform to characterize software comprehension activities supported by visualization. In: ICSE Companion, IEEE (2009)

  20. Dearle, F.: Groovy for Domain-Specific Languages, 1st edn. Packt Publishing (2010)

  21. Drivalos, N., Kolovos, D.S., Paige, R.F., Fernandes, K.J.: Software language engineering. chap. In: Engineering a DSL for Software Traceability, pp. 151–167. Springer, Berlin, Heidelberg (2009). doi:10.1007/978-3-642-00434-6_10

  22. Egyed, A.: Automatically detecting and tracking inconsistencies in software design models. IEEE Trans. Softw. Eng. 37(2), 188–204 (2011)

    Article  Google Scholar 

  23. Egyed, A., Grünbacher, P.: Automating requirements traceability: beyond the record & replay paradigm. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering. pp. 163–171. ASE ’02, IEEE Computer Society, Washington, DC, USA (2002). http://dl.acm.org/citation.cfm?id=786769.787006

  24. Espinoza, A., Garbajosa, J.: The need for a unifying traceability scheme. In: ECMDA-TW 2005. SINTEF ICT Norway, Nuremberg, Germany (November, 2005). http://www.modelbased.net/drupal/node/19

  25. Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, Reading, MA (2004)

    Google Scholar 

  26. Eysholdt, M., Behrens, H.: Xtext: implement your language faster than the quick and dirty way. In: Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, pp. 307–309. SPLASH ’10, ACM, New York, NY, USA (2010). doi:10.1145/1869542.1869625

  27. Freude, R., Königs, A.: Tool integration with consistency relations and their visualisation. In: ESEC/ FSE Workshop on Tool Integration in System Development (2003)

  28. Galletta, D.F., Henry, R.M., McCoy, S., Polak, P.: Web site delays: how tolerant are users? J. AIS 5(1), 1–28 (2004)

    Google Scholar 

  29. Gómez, P.M., Sánchez, M., Flórez, H., Villalobos, J.: Co-creation of models and metamodels for enterprise architecture projects. In: XM 2012—Extreme Modeling, Workshop (2012)

  30. Grammel, B., Kastenholz, S.: A generic traceability framework for facet-based traceability data extraction in model-driven software development. In: Proceedings of the 6th ECMFA Traceability Workshop. pp. 7–14. ECMFA-TW ’10, ACM, New York, NY, USA (2010)

  31. Grammel, B., Kastenholz, S., Voigt, K.: Model matching for trace link generation in model-driven software development. In: France, R., Kazmeier, J., Breu, R., Atkinson, C. (eds.) Model Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 7590, pp. 609–625. Springer, Berlin Heidelberg (2012). doi:10.1007/978-3-642-33666-9_39

  32. Groenewegen, D.M., Hemel, Z., Visser, E.: Separation of concerns and linguistic integration in WebDSL. IEEE Softw. 27(5), 31–37 (2010)

    Google Scholar 

  33. Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F.: Inter-modelling: from theory to practice. In: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems: Part I, pp. 376–391 (2010)

  34. Halasz, F.G., Schwartz, M.D.: The Dexter hypertext reference model. Commun. ACM 37(2) (1994)

  35. Hammond, J.S., Schwaber, C., D’Silva, D.: IDE Usage Trends (2008). http://www.forrester.com/Research/Document/Excerpt/0,7211,43181,00.html

  36. Hayes, J.H., Dekhtyar, A., Osborne, J.: Improving requirements tracing via information retrieval. In: Proceedings of the 11th IEEE International Conference on Requirements Engineering, pp. 138. RE ’03, IEEE Computer Society, Washington, DC, USA (2003). http://dl.acm.org/citation.cfm?id=942807.943920

  37. Hegedüs, Á., Horváth, Á., Ráth, I., Varró, D.: Query-driven soft interconnection of emf models. In: France et al. [29], pp. 134–150

  38. Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and refinement of textual syntax for models. In: Proceedings of the 5th European Conference on Model Driven Architecture–Foundations and Applications. pp. 114–129. ECMDA-FA ’09, Springer, Berlin, Heidelberg (2009). doi:10.1007/978-3-642-02674-4_9

  39. Heidenreich, F., Johannes, J., Seifert, M., Wende, C.: Closing the gap between modelling and java. In: Proceedings of the 2nd International Conference on Software Language Engineering (SLE 2009), Revised Selected Papers (2010)

  40. Heidenreich, F., Johannes, J., Zschaler, S.: Aspect orientation for your language of choice. In: Workshop on Aspect-Oriented Modeling (AOM at MoDELS) (2007)

  41. Henriksson, J., Johannes, J., Zschaler, S., Aßmann, U.: Reuseware—adding modularity to your language of choice. J. Object Technol. 6(9), 127–146 (2007)

    Google Scholar 

  42. Hessellund, A.: SmartEMF: guidance in modeling tools. In: Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion, pp. 945–946 (2007)

  43. Hessellund, A.: Domain-Specific Multimodeling. Ph.D. thesis, IT University of Copenhagen (2009)

  44. Hessellund, A., Czarnecki, K., Wąsowski, A.: Guided development with multiple domain-specific languages. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MoDELS. Lecture Notes in Computer Science, vol. 4735, pp. 46–60. Springer (2007)

  45. Hessellund, A., Sestoft, P.: Flow analysis of code customizations. In: Proceedings of the 22nd European conference on Object-Oriented Programming, pp. 285–308. ECOOP ’08, Springer, Berlin, Heidelberg (2008). doi:10.1007/978-3-540-70592-5_13

  46. Hessellund, A., Wąsowski, A.: Interfaces and metainterfaces for models and metamodels. In: Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems (2008)

  47. Holst, W.: Meta: A universal meta-language for augmenting and unifying language families, featuring meta(oopl) for object-oriented programming languages. In: Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (2005)

  48. Jarzabek, S.: Specifying and generating multilanguage software development environments. Softw. Eng. J. 5(2), 125–137 (1990). doi:10.1049/sej.1990.0015

    Article  Google Scholar 

  49. Jouault, F.: Loosely coupled traceability for ATL. In: Proceedings of the European Conference on Model Driven Architecture (ECMDA) Workshop on Traceability, pp. 29–37 (2005)

  50. Jouault, F., Vanhooff, B., Bruneliere, H., Doux, G., Berbers, Y., Bezivin, J.: Inter-DSL coordination support by combining megamodeling and model weaving. In: Proceedings of the 2010 ACM Symposium on Applied Computing (2010)

  51. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. rep. Carnegie-Mellon University Software Engineering Institute (1990)

  52. Kats, L.C.L., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and IDEs. In: Cook, W.R., Clarke, S., Rinard, M.C. (eds.) OOPSLA, pp. 444–463. ACM (2010). http://dblp.uni-trier.de/db/conf/oopsla/oopsla2010.html#KatsV10

  53. Kleppe, A.: Software Language Engineering: Creating Domain-Specific Languages Using Metamodels (2008)

  54. Kolovos, D.S.: Establishing correspondences between models with the epsilon comparison language. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA. Lecture Notes in Computer Science, vol. 5562, pp. 146–157. Springer (2009)

  55. Kolovos, D.S., Paige, R.F., Polack, F.A.: The Epsilon Transformation Language. In: Proceedings of the 1st international conference on Theory and Practice of Model Transformations, pp. 46–60. ICMT ’08, Springer, Berlin, Heidelberg (2008)

  56. Kolovos, D.S., Paige, R.F., Polack F.A.C.: On-Demand Merging of Traceability Links with Models (2006)

  57. Marcus, A., Maletic, J.I.: Recovering documentation-to-source-code traceability links using latent semantic indexing. In: Proceedings of the 25th International Conference on Software Engineering, pp. 125–135. ICSE ’03, IEEE Computer Society, Washington, DC, USA (2003). http://dl.acm.org/citation.cfm?id=776816.776832

  58. McAffer, J., VanderLei, P., Archer, S.: OSGi and Equinox: Creating Highly Modular Java Systems, 1st edn. Addison-Wesley Professional, Reading, MA (2010)

    Google Scholar 

  59. Meyers, S.: Difficulties in integrating multiview development systems. IEEE Softw. 8(1), 49–57 (1991)

    Google Scholar 

  60. Miller, R.B.: Response time in man-computer conversational transactions. In: Proceedings of the December 9–11, 1968, Fall Joint Computer Conference, Part I, vol. 33, pp. 267–277. AFIPS ’68 (Fall, part I), ACM, New York, NY, USA (1968). doi:10.1145/1476589.1476628

  61. Murphy-Hill, E., Parnin, C., Black, A.P.: How we refactor, and how we know it. In: Proceedings of the 31st International Conference on, Software Engineering (2009)

  62. Northrop, L., Feiler, P., Gabriel, R.P., Goodenough, J., Linger, R., Longstaff, T., Kazman, R., Klein, M., Schmidt, D., Sullivan, K., Wallnau, K.: Ultra-Large-Scale Systems–The Software Challenge of the Future. Tech. rep., Software Engineering Institute, Carnegie Mellon (2006). http://www.sei.cmu.edu/uls/downloads.html

  63. Nørmark, K., Østerbye, K.: Representing programs as hypertext. In: Lund Institute of Technology, pp. 11–24. Lund University (1994)

  64. Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification, V1.1. http://www.omg.org/spec/QVT/1.1/ (2011)

  65. Oldevik, J., Neple, T.: Traceability in model to text transformations. In: Proceedings of ECMDA Traceability Workshop ECMDA Traceability Workshop (ECMDA-TW) (2006)

  66. Østerbye, K., Nørmark, K.: An interaction engine for rich hypertexts. In: Ritchie, I., Guimarães, N. (eds.) ECHT, pp. 167–176. ACM (1994)

  67. Paige, R.F., Drivalos, N., Kolovos, D.S., Fernandes, K.J., Power, C., Olsen, G.K., Zschaler, S.: Rigorous identification and encoding of trace-links in model-driven engineering. Softw. Syst. Model. 10(4), 469–487 (2011)

    Google Scholar 

  68. Pfeiffer, R.H., Wąsowski, A.: Tengi interfaces for tracing between heterogeneous components. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE. Lecture Notes in Computer Science, vol. 7680, pp. 431–447. Springer (2011)

  69. Pfeiffer, R.H., Wąsowski, A.: Taming the Confusion of Languages. In: Proceedings of the 7th European Conference on Modelling Foundations and Applications, pp. 312–328. ECMFA’11, Springer, Berlin, Heidelberg (2011). http://dl.acm.org/citation.cfm?id=2023522.2023552

  70. Pfeiffer, R.H., Wąsowski, A.: Cross-language support mechanisms significantly aid software development. In: France et al. [29], pp. 168–184

  71. Pfeiffer, R.H., Wąsowski, A.: Texmo: a multi-language development environment. In: Proceedings of the 8th European conference on Modelling Foundations and Applications. pp. 178–193. ECMFA’12, Springer, Berlin, Heidelberg (2012). doi:10.1007/978-3-642-31491-9_15

  72. Rahm, E., Bernstein, P.A.: A survey of approaches to automatic schema matching. VLDB J. 10(4), 334–350 (2001). doi:10.1007/s007780100057

    Article  MATH  Google Scholar 

  73. Reimann, J., Seifert, M., Aßmann, U.: Role-based generic model refactoring. In: Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems: Part II (2010)

  74. Salay, R., Mylopoulos, J., Easterbrook, S.: Using Macromodels to Manage Collections of Related Models. In: Proceedings of the 21st International Conference on Advanced Information Systems Engineering (2009)

  75. Schulze, G., Chimiak-Opoka, J., Arlow, J.: An approach for synchronizing uml models and narrative text in literate modeling. In: France et al. [29], pp. 595–608

  76. Sherba, S.A., Anderson, K.M., Faisal, M.: A framework for mapping traceability relationships. In: 2 nd International Workshop on Traceability in Emerging Forms of Software Engineering at 18th IEEE International Conference on Automated Software Engineering, pp. 32–39 (2003)

  77. Shvaiko, P., Euzenat, J.: A survey of schema-based matching approaches. In: Spaccapietra, S., (ed) Journal on Data Semantics IV, Lecture Notes in Computer Science, Springer, 3730, 146–171 (2005)

  78. Stallman, R.M.: Emacs the extensible, customizable self-documenting display editor. In: Proceedings of the ACM SIGPLAN SIGOA Symposium on Text Manipulation, pp. 147–156. ACM, New York, NY, USA (1981). doi:10.1145/800209.806466

  79. Steinberger, M., Waldner, M., Streit, M., Lex, A., Schmalstieg, D.: Context-preserving visual links. IEEE Trans. Vis. Comput. Graph. (InfoVis ’11), 17(12), 2249–2258 (2011)

    Google Scholar 

  80. Strein, D., Kratz, H., Lowe, W.: Cross-language program analysis and refactoring. In: Proceedings of the 6th IEEE International Workshop on Source Code Analysis and Manipulation, pp. 207–216 (2006)

  81. Strein, D., Lincke, R., Lundberg, J., Löwe, W.: An extensible meta-model for program analysis. IEEE Trans. Softw. Eng. 33(9), 592–607 (2007)

    Google Scholar 

  82. Sufrin, B.: Formal specification of a display-oriented text editor. Sci. Comput. Program. 1(3), 157–202 (1982). http://www.sciencedirect.com/science/article/pii/0167642382900144

  83. THE OPEN SOURCE DEVELOPER REPORT—2010 Eclipse Community Survey. http://eclipse.org/org/press-release/20100604_survey2010.php (2011), seen: Mar. 2012

  84. The Institute of Electrical and Electronics Engineers: IEEE Standard Glossary of Software Engineering Terminology. IEEE Standard (1990)

  85. Voigt, K.: Semi-automatic matching of heterogeneous model-based specifications. In: Engels, G., Luckey, M., Pretschner, A., Reussner, R. (eds.) Software Engineering (Workshops). LNI, vol. 160, pp. 537–542. GI (2010)

  86. Voigt, K., Ivanov, P., Rummler, A.: Matchbox: combined meta-model matching for semi-automatic mapping generation. In: Proceedings of the 2010 ACM Symposium on Applied Computing, pp. 2281–2288. SAC ’10, ACM, New York, NY, USA (2010). doi:10.1145/1774088.1774563

  87. Wagner, S., Deissenboeck, F.: Abstractness, specificity, and complexity in software design. In: Proceedings of the 2nd International Workshop on the Role of Abstraction in Software Engineering (2008)

  88. Waldner, M., Puff, W., Lex, A., Streit, M., Schmalstieg, D.: Visual links across applications. In: Proceedings of Graphics Interface (2010)

  89. Wilke, C., Bartho, A., Schroeter, J., Karol, S., Aßmann, U.: Elucidative development for model-based documentation. In: Furia, C., Nanz, S. (eds.) Objects, Models, Components, Patterns, Lecture Notes in Computer Science, vol. 7304, pp. 320–335. Springer, Berlin/Heidelberg (2012)

  90. Winkler, S., Pilgrim, J.: A survey of traceability in requirements engineering and model-driven development. Softw. Syst. Model. 9(4), 529–565 (2010). doi:10.1007/s10270-009-0145-0

    Article  Google Scholar 

  91. Xing, Z., Stroulia, E.: Refactoring practice: how it is and how it should be supported—an eclipse case study. In: Proceedings of the 22nd IEEE International Conference on Software Maintenance (2006)

  92. Yie, A., Wagelaar, D.: Advanced traceability for ATL. In: 1st International Workshop on Model Transformation with ATL, pp. 78–87 (2009)

  93. Zend Technologies Ltd.: Taking the Pulse of the Developer Community. http://static.zend.com/topics/zend-developer-pulse-survey-report-0112-EN.pdf, seen: Feb. 2012

Download references

Acknowledgments

We thank Uwe Aßmann and the Software Development Group at TU Dresden for hosting the first author for an extensive period during this work. Uwe Aßmann suggested surveying the language developer community as part of this study. We also thank Jendrik Johannes, Sven Karol, Jan Reimann, Mirko Seifert, and Christian Wende, David Christiansen, Hannes Mehnert, Jan Polowinski, and Hendrik Pfeiffer for discussions and help with validating the experiments. We thank all those participating in our survey and in the previous experiment on CLS mechanisms. Last but not least, we thank the anonymous reviewers of the earlier version of this paper for their comments and suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rolf-Helge Pfeiffer.

Additional information

Communicated by Dr. Antonio Vallecillo and Dr. Juha-Pekka Tolvanen.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pfeiffer, RH., Wąsowski, A. The design space of multi-language development environments. Softw Syst Model 14, 383–411 (2015). https://doi.org/10.1007/s10270-013-0376-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0376-y

Keywords

Navigation