Software & Systems Modeling

, Volume 13, Issue 1, pp 133–169 | Cite as

DropsBox: the Dresden Open Software Toolbox

Domain-specific modelling tools beyond metamodels and transformations
  • Uwe Aßmann
  • Andreas Bartho
  • Christoff Bürger
  • Sebastian Cech
  • Birgit Demuth
  • Florian Heidenreich
  • Jendrik Johannes
  • Sven Karol
  • Jan Polowinski
  • Jan Reimann
  • Julia Schroeter
  • Mirko Seifert
  • Michael Thiele
  • Christian Wende
  • Claas Wilke
Theme Section Paper

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.

Keywords

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

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)Google Scholar
  2. 2.
    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37, 316–344 (2005)CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)CrossRefMATHGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  28. 28.
    Roychoudhury, S.: GenAWeave: a generic aspect weaver framework based on model-driven program transformation. PhD thesis, University of Alabama, Birmingham (2008)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  35. 35.
    Kästner, C.: Virtual separation of concerns: toward preprocessors 2.0. PhD thesis, University of Magdeburg (2010)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  42. 42.
    Dmitriev, S.: Language oriented programming: the next programming paradigm. JetBrains onBoard 1(2) (2005)Google Scholar
  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)Google Scholar
  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)Google Scholar
  46. 46.
    Pawlak, R., Noguera, C., Petitprez, N.: Spoon: Program analysis and transformation in Java. Rapport de recherche RR-5901, INRIA (2006)Google Scholar
  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)CrossRefGoogle Scholar
  48. 48.
    Antkiewicz, M., Czarnecki, K., Stephan, M.: Engineering of framework-specific modeling languages. IEEE Trans. Softw. Eng. 35(6), 795–824 (2009)CrossRefGoogle 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)Google Scholar
  50. 50.
    Herrmannsdoerfer, M., Ratiu, D., Wachsmuth, G. In: Language Evolution in Practice : The History of GMF, vol. 5969, pp. 3–22. Springer (2010)Google Scholar
  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)Google Scholar
  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)Google Scholar
  54. 54.
    Kolovos, D.S.: An extensible platform for specification of integrated languages for model management. PhD thesis, University of York (2008)Google Scholar
  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)Google Scholar
  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)CrossRefGoogle 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)Google Scholar
  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)Google Scholar
  62. 62.
    Bürger, C., Karol, S.: Towards attribute grammars for metamodel semantics. Technical report, Technische Universität Dresden (2010)Google Scholar
  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)CrossRefGoogle 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)MATHGoogle Scholar
  68. 68.
    Boyland, J.T.: Remote attribute grammars. J. ACM 52(4), 627–687 (2005)CrossRefMathSciNetGoogle 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)Google Scholar
  70. 70.
    Odersky, M., et al.: An overview of the Scala programming language. Technical Report IC/2004/64, EPFL. Lausanne, Switzerland (2004)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)CrossRefGoogle 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) 81Google Scholar
  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)Google Scholar
  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)Google Scholar
  81. 81.
    Nørmark, K.: Requirements for an elucidative programming environment. In: 8th International Workshop on Program Comprehension (2000)Google Scholar
  82. 82.
    Knuth, D.E.: Literate programming. Comput. J. 27(2), 97–111 (1984)CrossRefMATHGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  92. 92.
    Johannes, J.: Component-based model-driven software development. PhD thesis, Technische Universität Dresden (2010)Google Scholar
  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)Google Scholar
  94. 94.
    Johannes, J.: Developing a model composition framework with Fujaba—an experience Report. In: Proceedings of 7th International Fujaba Days, TU Eindhoven (2009)Google Scholar
  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)Google Scholar
  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)Google Scholar
  97. 97.
    Johannes, J.: Component-based model-driven software development. PhD thesis, Technische Universität Dresden (2011)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  102. 102.
    Reenskaug, T., Per Wold, O.A.L.: Working with Objects: The OOram Software Engineering Method. Manning Publications, Greenwich (1996)MATHGoogle 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)Google Scholar
  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 ZurichGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  115. 115.
    Priss, U.: Faceted knowledge representation. Electron. Trans. Artif. Intell. 4, 21–33 (2000)MathSciNetGoogle 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)Google Scholar
  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)Google Scholar
  123. 123.
    Zschaler, S., Wende, C.: Collaborating languages and tools: a study in feasibility. Technical Report, Technische Universität Dresden, Germany (2008)Google Scholar
  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)Google Scholar
  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) Google Scholar
  126. 126.
    Aßmann, U.: Invasive Software Composition. Springer, Berlin (2003)CrossRefMATHGoogle Scholar
  127. 127.
    Andersen, E.P. Conceptual modeling of objects: a role modeling approach. PhD thesis, University of Oslo, Oslo, Norway (1997)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  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–11Google Scholar
  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)Google Scholar
  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)Google Scholar
  134. 134.
    Shull, F., Singer, H., Sjoberg, D. K. (eds): Guide to Advanced Empirical Software Engineering. Springer, Berlin (2007)Google Scholar
  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

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Uwe Aßmann
    • 1
  • Andreas Bartho
    • 1
  • Christoff Bürger
    • 1
  • Sebastian Cech
    • 1
  • Birgit Demuth
    • 1
  • Florian Heidenreich
    • 1
  • Jendrik Johannes
    • 1
  • Sven Karol
    • 1
  • Jan Polowinski
    • 1
  • Jan Reimann
    • 1
  • Julia Schroeter
    • 1
  • Mirko Seifert
    • 1
  • Michael Thiele
    • 1
  • Christian Wende
    • 1
  • Claas Wilke
    • 1
  1. 1.Institut für Software- und MultimediatechnikTechnische Universität Dresden, GermanyBerlinGermany

Personalised recommendations