DropsBox: the Dresden Open Software Toolbox

Domain-specific modelling tools beyond metamodels and transformations

Abstract

The Dresden Open Software Toolbox (DropsBox) is a software modelling toolbox consisting of a set of open source tools developed by the Software Technology Group at TU Dresden. The DropsBox is built on top of the Eclipse Platform and the Eclipse Modeling Framework. The DropsBox contributes to the development and application of domain-specific language changes (DSLs) in model-driven software development. It can be customised by tool and language developers to support various activities of a DSL’s life cycle ranging from language design to language application and evolution. In this paper, we provide an overview of the DSL life cycle, the DropsBox tools, and their interaction on a common example. Furthermore, we discuss our experiences in developing and integrating tools for DropsBox in an academic environment.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27

Notes

  1. 1.

    http://st.inf.tu-dresden.de/.

  2. 2.

    http://www.flowr.org/.

  3. 3.

    http://www.emftext.org/.

  4. 4.

    http://www.jastemf.org/.

  5. 5.

    http://www.dresden-ocl.org/.

  6. 6.

    http://argouml.tigris.org/.

  7. 7.

    http://www.magicdraw.com/.

  8. 8.

    http://deftproject.org/.

  9. 9.

    http://www.mdpe.org/.

  10. 10.

    http://www.reuseware.org/.

  11. 11.

    http://www.modelrefactoring.org/.

  12. 12.

    Details about our generic model refactorings can be found under http://www.modelrefactoring.org/catalogue/.

  13. 13.

    http://featuremapper.org/.

  14. 14.

    http://www.reuseware.org/picus/.

  15. 15.

    http://www.langems.org/.

  16. 16.

    http://www.jamopp.org/.

  17. 17.

    http://www.emftext.org/language/ejava/.

  18. 18.

    http://www.eclipse.org/modeling/mdt/.

  19. 19.

    http://www.eclipse.org/gmt/epsilon/.

  20. 20.

    http://www.eclipse.org/workinggroups/oaw/.

  21. 21.

    http://strategoxt.org/Sdf.

  22. 22.

    http://www.metacase.com/MetaEdit.html.

  23. 23.

    http://www.jetbrains.com/mps/.

References

  1. 1.

    Greenfield, J., Short, K.: Software factories: assembling applications with patterns, models, frameworks and tools. In: Companion of the 18th annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 16–27 (2003)

  2. 2.

    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37, 316–344 (2005)

    Article  Google Scholar 

  3. 3.

    Fowler, M.: Language workbenches: the Killer-app for domain specific languages. http://www.martinfowler.com/articles/languageWorkbench.html (2005)

  4. 4.

    Eclipse Foundation Eclipse Platform. http://www.eclipse.org/ (2012)

  5. 5.

    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: Eclipse Modeling Framework. Pearson Education, Boston (2009)

    Google Scholar 

  6. 6.

    Object Management Group: MOF 2.0 core specification. http://www.omg.org/spec/MOF/2.0 (2006)

  7. 7.

    Efftinge, S., Voelter, M.: oAW xText: a framework for textual DSLs. In: Workshop on Modeling Symposium at Eclipse Summit (2006)

  8. 8.

    Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. In: Proceedings of GPCE’06, New York, NY, USA, ACM (October 2006)

  9. 9.

    Krahn, H., Rumpe, B., Völkel, S.: Efficient editor generation for compositional DSLs in Eclipse. In: Proceedings of DSM’07, Montreal, Quebec, Canada, Technical Report TR-38, Jyväskylä University, Finland (2007)

  10. 10.

    Muller, P.A., Fleurey, F., Fondement, F., Hassenforder, M., Schneckenburger, R., Gérard, S., Jézéquel, J.M.: Model-driven analysis and synthesis of concrete syntax. In: Proceedings of the MoDELS 2006, Genova, Italy (October 2006)

  11. 11.

    Scheidgen, M.: Textual modelling framework. http://www2.informatik.hu-berlin.de/sam/meta-tools/tef/ (2009)

  12. 12.

    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.) Proceedings of the 25th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2010, pp. 444–463. acm, Reno/Tahoe, Nevada (2010)

  13. 13.

    Wyk, E.V., Bodin, D., Gao, J., Krishnan, L.: Silver: an extensible attribute grammar system. Electron. Notes Theor. Comput. Sci. 203(2), 103–116 (2008)

    Article  Google Scholar 

  14. 14.

    Sloane, A.M.: Lightweight language processing in Kiama. In: Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III. GTTSE’09, pp. 408–425. Springer, Berlin (2011)

  15. 15.

    Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceedings of 22nd International Conference on Software Engineering (ICSE’00), pp. 742–745. ACM, Limmerick (2000)

  16. 16.

    Geige, L., Buchmann, T., Dotor, A.: EMF code generation with Fujaba. In: Proceedings of 5th International Fujaba Days, University of Kassel (October 2007)

  17. 17.

    Hessellund, A., Czarnecki, K., Wasowski, A.: Guided development with multiple domain-specific languages. In: Model Driven Engineering Languages and Systems. LNCS, vol. 4735, pp. 46–60. Springer, Berlin (2007)

  18. 18.

    Chimiak-Opoka, J., Demuth, B., Awenius, A., Chiorean, D., Gabel, S., Hamann, L., Willink, E.: OCL tools report based on the IDE4OCL feature model. In: Proceedings of the International Workshop on OCL and Textual Modelling Colocated with TOOLS Europe 2011, ICMT 2011, TAP 2011 and SC 2011. Electronic Communications of the EASST, vol. 44 (2011)

  19. 19.

    Gogolla, M., Büttner, F., Richters, M.: USE: a UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 69(1–3), 27–34 (2007)

    Article  MATH  Google Scholar 

  20. 20.

    Chimiak-Opoka, J.: OCLLib, OCLUnit, OCLDoc: pragmatic extensions for the object constraint language. In: Model Driven Engineering Languages and Systems. LNCS, vol. 5795, pp. 665–669. Springer, Berlin (2009)

  21. 21.

    Marconato, B.: TOPCASED 2.3 tutorial Document generation (GenDoc). http://gforge.enseeiht.fr/docman/view.php/102/3325/TPC_2.3_GenDoc_tutorial.pdf (2010)

  22. 22.

    Eclipse Foundation Eclipse Intent. http://wiki.eclipse.org/Intent (2012)

  23. 23.

    Woodside, M., Petriu, D., Petriu, D., Shen, H., Israr, T., Merseguer, J.: Performance by unified model analysis (PUMA). In: Proceedings of the 5th international workshop on Software and performance, pp. 1–12. ACM, Palma (2005)

  24. 24.

    Petriu, D.B., Woodside, M.: An intermediate metamodel with scenarios and resources for generating performance models from UML designs. In: Software and Systems Modeling, vol. 6, issue 2, pp. 163–184 (2007)

  25. 25.

    Cortellessa, V., Di Marco, A., Inverardi, P.: Software performance model-driven architecture. In: Proceedings of the ACM Symposium on Applied Computing, pp. 1218–1223. ACM, New York (2006)

  26. 26.

    Fleurey, F., Baudry, B., France, R., Ghosh, S.: A generic approach for automatic model composition. In: Workshops and Symposia at 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS’07). LNCS, vol. 5002, pp. 7–15. Springer, Berlin (2008)

  27. 27.

    Morin, B., Klein, J., Barais, O., Jézéquel, J.M.: A generic weaver for supporting product lines. In: Proceedings of 13th international Workshop on Early Aspects (EA’08), pp. 11–18. ACM, New York (2008)

  28. 28.

    Roychoudhury, S.: GenAWeave: a generic aspect weaver framework based on model-driven program transformation. PhD thesis, University of Alabama, Birmingham (2008)

  29. 29.

    Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Araújo, J.: MATA: A unified approach for composing UML aspect models based on graph transformation. In: Transactions on Aspect-Oriented Software Development VI. LNCS, vol. 5560, pp. 191–237. Springer, Berlin (2009)

  30. 30.

    Kolovos, D., Paige, R., Rose, L., Polack, F.: Update transformations in the Small with the Epsilon Wizard Language. J. Object Technol. (JOT), special issue for TOOLS Europe 2007. 6(9), 53–69 (2007)

  31. 31.

    Biermann, E., Ehrig, K., Köhler, C., Kuhns, G., Taentzer, G., Weiss, E.: EMF model refactoring based on graph transformation concepts. ECEASST 3 (2006)

  32. 32.

    Brosch, P., Seidl, M., Wieland, K., Wimmer, M., Langer, P.: The Operation Recorder: specifying model refactorings by-example. In: Arora, S., Leavens, G.T. (eds.) OOPSLA Companion, pp. 791–792. Orlando 8, ACM (2009)

  33. 33.

    Moha, N., Mahé, V., Barais, O., Jézéquel, J.M.: Generic model refactorings. In: Model Driven Engineering Languages and Systems. LNCS, vol. 5795/2009, pp. 628–643. Springer, Berlin (2009)

  34. 34.

    Czarnecki, K., Antkiewicz, M.: Mapping features to models: a template approach based on superimposed variants. In: Proceedings of 4th International Conference on Generative Programming and Component Engineering (GPCE 2005), pp. 422–437 (2005)

  35. 35.

    Kästner, C.: Virtual separation of concerns: toward preprocessors 2.0. PhD thesis, University of Magdeburg (2010)

  36. 36.

    Zschaler, S., Sánchez, P., Santos, J., Alférez, M., Rashid, A., Fuentes, L., Moreira, A., Araújo, J., Kulesza, U.: VML*—a family of languages for variability management in software product lines. In: van den Brand, M., Gray, J. (eds.) Proceedings of the 2nd International Conference on Software Language Engineering (SLE’09), Revised Selected Papers. LNCS, vol. 5969, pp. 82–102. Springer, Heidelberg (2010)

  37. 37.

    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, ASE ’10, New York, NY, USA, pp. 173–174. ACM, New York (2010)

  38. 38.

    Jouault, F., Bézivin, J.: KM3: a DSL for metamodel specification. In: Gorrieri, R., Wehrheim, H. (eds.) Formal Methods for Open Object-Based Distributed Systems. LNCS, vol 4037, pp. 171–185. Springer, Berlin (2006). ISBN 978-3-540-34893-1. doi:10.1007/11768869_14

  39. 39.

    Triskell Project Team Kermeta: Triskell Metamodeling Kernel. http://www.kermeta.org (2012)

  40. 40.

    Matula, M.: NetBeans Metadata Repository (2003). http://mdr.netbeans.org/MDR-whitepaper.pdf

  41. 41.

    Amelunxen, C., Klar, F., Königs, A., Rötschke, T., Schürr, A.: Metamodel-based tool integration with MOFLON. In: 30th International Conference on Software Engineering (2008)

  42. 42.

    Dmitriev, S.: Language oriented programming: the next programming paradigm. JetBrains onBoard 1(2) (2005)

  43. 43.

    Kelly, S., Lyytinen, K., Rossi, M.: Metaedit+ a fully configurable multi-user and multi-tool CASE and CAME environment. In: Advanced Information Systems Engineering, pp. 1–21 (1996)

  44. 44.

    Langworthy, D., Lovering, B., Box, D.: The “Oslo” modeling language: draft specification, October 2008. Microsoft .NET Development Series (2008). ISBN 9780321606358. http://books.google.de/books?id=tvJS52AF6NKC

  45. 45.

    Cazzola, W., Speziale, I.: Sectional domain specific languages. In: Workshop on Domain-Specific Aspect Languages (DSAL’09), co-located with AOSD’09, pp. 11–14 (2009)

  46. 46.

    Pawlak, R., Noguera, C., Petitprez, N.: Spoon: Program analysis and transformation in Java. Rapport de recherche RR-5901, INRIA (2006)

  47. 47.

    Klint, P., Lämmel, R., Verhoef, C.: Toward an engineering discipline for grammarware. ACM Trans. Softw. Eng. Methodol. (TOSEM) 14(3), 331–380 (2005)

    Article  Google Scholar 

  48. 48.

    Antkiewicz, M., Czarnecki, K., Stephan, M.: Engineering of framework-specific modeling languages. IEEE Trans. Softw. Eng. 35(6), 795–824 (2009)

    Article  Google Scholar 

  49. 49.

    Visser, E.: WebDSL: a case study in domain-specific language engineering. In: Generative and Transformational Techniques in Software Engineering II. LNCS, vol. 5235, pp. 291–373. Springer, Berlin (2008)

  50. 50.

    Herrmannsdoerfer, M., Ratiu, D., Wachsmuth, G. In: Language Evolution in Practice : The History of GMF, vol. 5969, pp. 3–22. Springer (2010)

  51. 51.

    Book, M., Gruhn, V.: A dialog flow notation for web-based applications. In: Proceedings of 7th IASTED International Conference on Software Engineering and Applications (SEA 2003), pp. 100–105. ACTA Press (2003)

  52. 52.

    Harel, D.: Statecharts: A visual formalism for complex systems. Sci. Comp. Program 8(3), 231–274 (1987). ISSN 0167-6423 doi:10.1016/0167-6423(87)90035-9

  53. 53.

    Seifert, M.: Designing round-trip systems by change propagation and model partitioning. PhD thesis, Technische Universität, Dresden (2011)

  54. 54.

    Kolovos, D.S.: An extensible platform for specification of integrated languages for model management. PhD thesis, University of York (2008)

  55. 55.

    Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and refinement of textual syntax for models. In: Proceedings of 5th European Conference on Model-Driven Architecture Foundations and Applications, ECMDA-FA’09. LNCS, vol. 5562, pp. 114–129. Springer, Heidelberg (2009)

  56. 56.

    TU Dresden, Software Technology Group: EMFText Syntax Zoo. http://www.emftext.org/zoo/ (2012)

  57. 57.

    Parr, T.J., Quong, R.W.: ANTLR: A Predicated-LL(k) Parser Generator. Soft. Prac. Exp. 25, 789–810 (1994)

    Google Scholar 

  58. 58.

    Wirth, N.: What can we do about the unnecessary diversity of notation for syntactic definitions? Commun. ACM 20(11), 822–823 (1977)

    Article  Google Scholar 

  59. 59.

    Object Management Group: Human-Usable Textual Notation (HUTN) Specification, Version 1.0. http://www.omg.org/spec/HUTN/1.0/ (2004)

  60. 60.

    Goldschmidt, T., Becker, S., Uhl, A.: Classification of concrete textual syntax mapping approaches. In: Proceedings of ECMDA-FA. LNCS, vol. 5095. Springer, Heidelberg (2008)

  61. 61.

    Bürger, C., Karol, S., Wende, C., Aßmann, U.: Reference attribute grammars for metamodel semantics. In: Proceedings of 3rd International Conference on Software Language Engineering, SLE ’10. LNCS. Springer, Heidelberg (2010)

  62. 62.

    Bürger, C., Karol, S.: Towards attribute grammars for metamodel semantics. Technical report, Technische Universität Dresden (2010)

  63. 63.

    Knuth, D.E.: Semantics of context-free languages. Math. Sys. Theory 2(2), 127–145 (1968). doi:10.1007/BF01692511

    Google Scholar 

  64. 64.

    Knuth, D.E.: Correction: Semantics of context-free languages. Math. Syst. Theory 5(1), 95–96 (1971). doi:10.1007/BF01702865

  65. 65.

    Paakki, J.: Attribute grammar paradigms–a high-level methodology in language implementation. ACM Comput. Surv. 27(2), 196–255 (1995)

    Article  Google Scholar 

  66. 66.

    Ekman, T., Hedin, G.: The JastAdd system—modular extensible compiler construction. Sci. Comput. Program 69(1–3), 14–26 (2007). ISSN 0167-6423. doi:10.1016/j.scico.2007.02.003

    Google Scholar 

  67. 67.

    Hedin, G.: Reference attributed grammars. Informatica (Slovenia) 24(3), 301–317 (2000)

    MATH  Google Scholar 

  68. 68.

    Boyland, J.T.: Remote attribute grammars. J. ACM 52(4), 627–687 (2005)

    Article  MathSciNet  Google Scholar 

  69. 69.

    Farrow, R.: Automatic generation of fixed-point-finding evaluators for circular, but well-defined, attribute grammars. In: Proceedings of SIGPLAN Symposium on Compiler construction (SIGPLAN 1986), pp. 85–98. ACM (1986)

  70. 70.

    Odersky, M., et al.: An overview of the Scala programming language. Technical Report IC/2004/64, EPFL. Lausanne, Switzerland (2004)

  71. 71.

    Chen, K., Sztipanovits, J., Abdelwalhed, S., Jackson, E.: Semantic anchoring with model transformations. In: Model Driven Architecture—Foundations and Applications. LNCS, vol. 3748, pp. 115–129. Springer, Berlin (2005)

  72. 72.

    Hußmann, H., Demuth, B., Finger, F.: Modular architecture for a Toolset supporting OCL. In: Proceedings of 3rd International Conference on The Unified Modeling Language (UML 2000). LNCS, vol. 1939, pp. 278–293. Springer, Berlin (2000)

  73. 73.

    Bräuer, M., Demuth, B.: Model-level integration of the OCL standard library using a Pivot model with generics support. In: Models in Software Engineering. LNCS, vol. 5002, pp. 182–193. Springer, Berlin (2008). doi:10.1007/978-3-540-69073-3_20

  74. 74.

    Wilke, C., Thiele, M., Wende, C.: Extending variability for OCL interpretation. In: Proceedings of ACM/IEEE 13th International Conference on Model Driven Engineering Languages and Systems (MoDELS’10). LNCS, vol. 6394, pp. 361–375. Springer, Berlin (2010)

  75. 75.

    Object Management Group: Object Constraint Language 2.2. http://www.omg.org/spec/OCL/2.2/ (2010)

  76. 76.

    Meyer, B.: Applying “Design by Contract”. Computer 25(10), 40–51 (1992)

    Article  Google Scholar 

  77. 77.

    Demuth, B., Hussmann, H., Loecher, S.: OCL as a specification language for business rules in database applications. In: UML 2001 The Unified Modeling Language. Modeling Languages, Concepts, and Tools. LNCS, vol. 2185, pp. 104–117. Springer, Berlin (2001). doi:10.1007/3-540-45441-1_9

  78. 78.

    Demuth, B., Wilke, C.: Model and object verification by using Dresden OCL. In: Proceedings of the Russian-German Workshop Innovation Information Technologies: Theory and Practice, Ufa, Russia, July 25–31, 2009, Ufa, Bashkortostan, Russia, Ufa State Aviation Technical University (July 2009) 81

  79. 79.

    Bartho, A.: Creating and maintaining tutorials with DEFT. In: Proceedings of 17th IEEE International Conference on Program Comprehension (ICPC 2009), pp. 309–310. IEEE Computer Society (2009)

  80. 80.

    Wilke, C., Bartho, A., Schroeter, J., Karol, S., Aßmann, U.: Elucidative development for model-based specification. In: TOOLS Europe 2012. LNCS, vol. 7304, pp. 321–336. Springer, Berlin (2012)

  81. 81.

    Nørmark, K.: Requirements for an elucidative programming environment. In: 8th International Workshop on Program Comprehension (2000)

  82. 82.

    Knuth, D.E.: Literate programming. Comput. J. 27(2), 97–111 (1984)

    Article  MATH  Google Scholar 

  83. 83.

    Fritzsche, M., Johannes, J.: Putting performance engineering into model-driven engineering: model-driven performance engineering. In: Workshops and Symposia at ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems, Reports and Revised Selected Papers. LNCS, vol. 5002. Springer, Berlin (2008)

  84. 84.

    Fritzsche, M., Gilani, W.: Model transformation chains to integrate performance related decision support into BPM tool chains. In: Invited Submission for the Post-Proceeding of GTTSE 2009, LNCS. Springer, Berlin (2009)

  85. 85.

    XJ Technologies: AnyLogic—multi-paradigm simulation software. http://www.xjtek.com/anylogic/ (June 2009)

  86. 86.

    Eclipse foundation ATLAS transformation language. http://www.eclipse.org/m2m/atl (2012)

  87. 87.

    Fritzsche, M., Johannes, J., Zschaler, S., Zherebtsov, A., Terekhov, A.: Application of tracing techniques in model-driven performance engineering. In: Proceedings of 4th ECMDA Traceability, Workshop ECMDA-TW, pp. 111–120 (2008)

  88. 88.

    The AMW Project Team Atlas Model Weaver. http://eclipse.org/gmt/amw/ (2012)

  89. 89.

    OMG—Object Management Group: UML profile for modeling and analysis of real-time and embedded systems. http://www.omg.org/spec/MARTE/ (2007)

  90. 90.

    Heidenreich, F., Henriksson, J., Johannes, J., Zschaler, S.: On language-independent model modularisation. In: Transactions on Aspect-Oriented Software Development VI. LNCS, vol. 5560, pp. 39–82. Springer, Berlin (2009)

  91. 91.

    Henriksson, J.: A lightweight framework for Universal Fragment Composition–with an application in the Semantic Web. PhD thesis, Technische Universität Dresden (2009)

  92. 92.

    Johannes, J.: Component-based model-driven software development. PhD thesis, Technische Universität Dresden (2010)

  93. 93.

    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: a new graph rewrite language based on the unified modeling language and Java. In: TAGT’98: Selected Papers from the 6th International Workshop on Theory and Application of Graph Transformations. LNCS, vol. 1764, pp. 296–309. Springer, Berlin (2000)

  94. 94.

    Johannes, J.: Developing a model composition framework with Fujaba—an experience Report. In: Proceedings of 7th International Fujaba Days, TU Eindhoven (2009)

  95. 95.

    Johannes, J., Fernández, M.A.: Adding abstraction and reuse to a network modelling tool using the Reuseware composition framework. In: Proceedings of 6th European Conference on Modelling Foundations and Applications, ECMFA’10. LNCS, vol. 6138. Springer, Berlin (2010)

  96. 96.

    Johannes, J., Aßmann, U.: Concern-based (de)composition of model-driven software development processes. In: Proceedings of ACM/IEEE 13th International Conference on Model Driven Engineering Languages and Systems, MoDELS’10. LNCS, vol. 6395. Springer, Berlin (2010)

  97. 97.

    Johannes, J.: Component-based model-driven software development. PhD thesis, Technische Universität Dresden (2011)

  98. 98.

    Reimann, J., Seifert, M., Aßmann, U.: Role-based generic model refactoring. In: Proceedings of ACM/IEEE 13th International Conference on Model Driven Engineering Languages and Systems, MoDELS’10, pp. 78–92 (2010)

  99. 99.

    Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring—Improving the Design of Existing Code. Addison Wesley, Reading (1999)

    Google Scholar 

  100. 100.

    Moser, R., Abrahamsson, P., Pedrycz, W., Sillitti, A., Succi, G.: A case study on the impact of refactoring on quality and productivity in an Agile Team. In: Proceedings of 2nd IFIP TC 2 Central and East European Conference on Software Engineering Techniques, CEE-SET’07, Revised Selected Papers, pp. 252–266. LNCS, vol. 5082. Springer, Berlin (2008)

  101. 101.

    Mens, T., Taentzer, G., Müller, D.: Challenges in model refactoring. In: Proceedings of 1st Workshop on Refactoring Tools, University of Berlin (2007)

  102. 102.

    Reenskaug, T., Per Wold, O.A.L.: Working with Objects: The OOram Software Engineering Method. Manning Publications, Greenwich (1996)

    Google Scholar 

  103. 103.

    Riehle, D., Gross, T.R.: Role model based framework design and integration. In: Proceedings of 13th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA ’98, pp. 117–133 (1998)

  104. 104.

    Reimann, J., Seifert, M., Aßmann, U.: On the reuse and recommendation of model refactoring specifications. Softw. Syst. Model (2012). doi:10.1007/s10270-012-0243-2

  105. 105.

    Frenzel, L.: Eclipse Language Toolkit. http://eclipse.org/articles/Article-LTK/ltk.html (2006)

  106. 106.

    Mohamed, M., Romdhani, M., Ghedira, K.: Classification of model refactoring approaches. J.Object Technol. (JOT) 8(6), 143–158 (2009). ETH Zurich

    Google Scholar 

  107. 107.

    Demuth, B., Chimiak-Opoka, J.: A feature model for an IDE4OCL. In: Proceedings of Workshop on OCL and Textual Modelling, OCL2010. Electronic Communications of the EASST, vol. 36 (2010)

  108. 108.

    Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: mapping features to models. In: Proceedings of Companion (ed.) of 30th International Conference on Software Engineering, ICSE’08, pp. 943–944. ACM, New York (2008)

  109. 109.

    Heidenreich, F., Şavga, I., Wende, C.: On controlled visualisations in software product line engineering. In: Proceedings of 2nd International Workshop on Visualisation in Software Product Line Engineering, ViSPLE’08, collocated with the 12th International Software Product Line Conference, SPLC’08 (2008)

  110. 110.

    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2002)

    Google Scholar 

  111. 111.

    Czarnecki, K., Eisenecker, U.W.: Generative Programming—Methods, Tools, and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  112. 112.

    OMG - Object Management Group: Unified Modeling Language (UML) Version 2.3. http://www.omg.org/spec/UML/2.3 (2010)

  113. 113.

    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-0211990. Software Engineering Institute (1990)

  114. 114.

    Schmidt, M., Polowinski, J., Johannes, J., Fernandez, M.A.: An Integrated facet-based library for arbitrary software components. In: Proceedings of ECMFA. LNCS, vol. 6138, pp. 261–276. Springer, Berlin (2010)

  115. 115.

    Priss, U.: Faceted knowledge representation. Electron. Trans. Artif. Intell. 4, 21–33 (2000)

    MathSciNet  Google Scholar 

  116. 116.

    Sacco, G.M., Tzitzikas, Y.: Dynamic taxonomies and faceted search: theory, practice, and experience. In: The Information Retrieval Series, vol. 25. Springer, Berlin (2009)

  117. 117.

    Polowinski, J.: Widgets for faceted browsing. In: Smith, M.J., Salvendy, G. (eds.) Human Interface, vol. 1, pp. 601–610. Springer, San Diego (2009). http://www.springerlink.com/content/978-3-642-02555-6/#section=186560&page=2&locus=27

  118. 118.

    University of California: Berkeley Flamenco. http://flamenco.berkeley.edu/ (2010)

  119. 119.

    Massachusetts Institute of Technology (MIT) Exhibit. http://simile.mit.edu/wiki/Exhibit (2010)

  120. 120.

    Object Management Group CORBA project site. http://www.corba.org (2009)

  121. 121.

    Oasis, UDDI community site. http://uddi.xml.org/ (2009)

  122. 122.

    Wende, C., Thieme, N., Zschaler, S.: A role-based approach towards modular language engineering. In: 2nd International Conference on Software Language Engineering, SLE 2009, Revised Selected Papers (2010)

  123. 123.

    Zschaler, S., Wende, C.: Collaborating languages and tools: a study in feasibility. Technical Report, Technische Universität Dresden, Germany (2008)

  124. 124.

    Wende, C., Heidenreich, F.: A model-based product-line for Scalable Ontology Languages. In Proceedings of 1st International Workshop on Model-Driven Product Line Engineering (2009)

  125. 125.

    Seifert, M., Wende, C., Aßmann, U.: Anticipating unanticipated tool interoperability using role models. In: Proceedings of First Workshop on Model Driven Interoperability, MDI 2010, Oslo, Norway (2010)

  126. 126.

    Aßmann, U.: Invasive Software Composition. Springer, Berlin (2003)

    Google Scholar 

  127. 127.

    Andersen, E.P. Conceptual modeling of objects: a role modeling approach. PhD thesis, University of Oslo, Oslo, Norway (1997)

  128. 128.

    Heidenreich, F., Johannes, J., Seifert, M., Wende, C.: Closing the gap between modelling and Java. In: Proceedings of 2nd International Conference on Software Language Engineering, SLE’09. LNCS, vol. 5969, pp. 374–383. Springer, Berlin (2010)

  129. 129.

    Heidenreich, F., Johannes, J., Seifert, M., Wende, C., Böhme, M.: Generating safe template languages. In: Proceedings of 8th International Conference on Generative Programming and Component Engineering, GPCE’09, pp. 99–108. ACM (2009)

  130. 130.

    Heidenreich, F., Johannes, J., Seifert, M., Wende, C.: Construct to reconstruct—reverse engineering Java Code with JaMoPP. In: Proceedings of International Workshop on Reverse Engineering Models from Software Artifacts, R.E.M. 2009 (October 2009)

  131. 131.

    Heidenreich, F., Johannes, J., Reimann, J., Seifert, M., Wende, C., Werner, C., Wilke, C., Aßmann, U.: Model-driven modernisation of Java programs with JaMoPP. In: Fuhr, A., Hasselbring, W., Riediger, V., Bruntink, M., Kontogiannis, K. (eds.) Joint Proceedings of the First International Workshop on Model-Driven Software Migration, MDSM 2011, and the 5th International Workshop on System Quality and Maintainability, SQM 2011, 1 March 2011, Oldenburg, Germany. CEUR Workshop Proceedings (March 2011), pp. 8–11

  132. 132.

    Heidenreich, F., Johannes, J., Seifert, M., Wende, C.: JaMoPP: The Java model parser and printer. Technical Report TUD-FI09-10, Technische Universität Dresden, Fakultät Informatik (2009)

  133. 133.

    Jakobsen, A.B., O’Duffy, M., Punter, T.: Towards a maturity model for software product evaluations. In: Proceedings of 10th European Conference on Software Cost Estimation, ESCOM 1999. Addison-Wesley (1999)

  134. 134.

    Shull, F., Singer, H., Sjoberg, D. K. (eds): Guide to Advanced Empirical Software Engineering. Springer, Berlin (2007)

  135. 135.

    Zelkowitz, M.V., Wallace, D.R., Binkley, D.W.: Experimental validation of new software technology. Ser. Softw. Eng. Knowl. Eng. 12, 229–263 (2003)

    Google Scholar 

Download references

Acknowledgments

This research is co-funded by the European Commission within the 6th and 7th Framework Programme projects MODELPLEX #034081, REWERSE #506779, and MOST #216691; the German Ministry of Education and Research (BMBF) within the Projects feasiPLe and SuReal; the German Research Foundation (DFG) within the Project HyperAdapt; the European Social Fund, Federal State of Saxony and SAP AG within the Project #080949335 and the European Social Fund and Federal State of Saxony within the Projects #080951806 (ZESSY), #80937064 and #080937065. Also, we would like to thank all our students, the research community, and our industrial project partners for their valuable feedback on all the tools we have built over the last years. Without their constructive comments and their encouraging words, building DropsBox would have not been possible. Last but not least, we thank the anonymous reviewers for their constructive and helpful feedback. Their large effort in reviewing the paper helped us in enhancing the presentation of our work and to provide a more readable paper.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Jendrik Johannes.

Additional information

Communicated by Dr. Jeff Gray, Juha-Pekka Tolvanen, and Matti Rossi.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Aßmann, U., Bartho, A., Bürger, C. et al. DropsBox: the Dresden Open Software Toolbox. Softw Syst Model 13, 133–169 (2014). https://doi.org/10.1007/s10270-012-0284-6

Download citation

Keywords

  • Domain-specific modelling environment
  • Domain-specific language
  • Language life cycle
  • Modelling tool
  • MDSD
  • EMF