Model-Based Code-Generators and Compilers - Track Introduction

  • Uwe Aßmann
  • Jens Knoop
  • Wolf Zimmermann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8802)

Abstract

In the last years, model-based software development received more and more attraction [8,22]. Often, models are expressed in a formal language - often a domain specific language (short: DSL) [7,17,24] -, and implementations are derived by model-based code generators [12]. There are toolboxes for defining domainspecific languages and generating compilers for them such as the Eclipse Modeling Framework (short: EMF) [10,23]. DSLs are defined by a Meta-Model [14] and their compilation is by model-transformations [4,13,16,21]. From these specifications, code generators can be generated. In addition, the toolboxes often generate editors, debuggers and embeddings in programming environments such as Eclipse [5]. Meta models are frequently denoted by a graphical notation analogous to UML class diagrams or by context-free grammars. Consistency constraints are then specified by OCL [20] or similar languages. Often, the generated code is manually improved. Therefore, some research focuses on the consistency between models and their implementations.

Keywords

Model Transformation Eclipse Modeling Framework Consistency Constraint Attribute Grammar Abstract Syntax Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley (2007)Google Scholar
  2. 2.
    Berg, C., Zimmermann, W.: DSL implementation for model-based development of pumps. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 391–406. Springer, Heidelberg (2014)Google Scholar
  3. 3.
    Birken, K.: Building Code Generators for DSLs Using a Partial Evaluator for the Xtend Language. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 407–424. Springer, Heidelberg (2014)Google Scholar
  4. 4.
    Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems Journal, special issue on Model-Driven Software Development 45(3), 621–646 (2006)Google Scholar
  5. 5.
    Eclipse, https://www.eclipse.org/ (Online. Last accessed July 25, 2014)
  6. 6.
    Eli, http://eli-project.sourceforge.net/ (Online. Last accessed July 25, 2014)
  7. 7.
    Fowler, M.: Domain-Specific Languages. Addison-Wesley (2011)Google Scholar
  8. 8.
    France, R., Rumpe, B.: Model-driven Development of Complex Software: A Research Roadmap. In: Proceedings 2007 Future of Software Engineering (FOSE 2007), pp. 37–54. IEEE Computer Society (2007)Google Scholar
  9. 9.
    Gray, R.W., Heuring, V.P., Levi, S.P., Sloane, A.M., Waite, W.M.: Eli: A Complete, Flexible Compiler Construction System. Communications of the ACM 35(2), 121–131 (1992)CrossRefGoogle Scholar
  10. 10.
    Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2009)Google Scholar
  11. 11.
    Jörges, S., Steffen, B.: Back-To-Back Testing Of Model-Based Code Generators. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 425–444. Springer, Heidelberg (2014)Google Scholar
  12. 12.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. John Wiley & Sons (2008)Google Scholar
  13. 13.
    Kleppe, A.: Software Language Engineering: Creating Domain-Specific Languages Using Metamodels. Addison-Wesley (2008)Google Scholar
  14. 14.
    Kühne, T.: Matters of (Meta-)Modeling. Software and System Modeling 5(4), 369–385 (2006)CrossRefGoogle Scholar
  15. 15.
    Lepper, M., Widemann, B.T.y.: Rewriting Object Models With Cycles and Nested Collections: A Model-Based Metaprogramming Problem. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 445–460. Springer, Heidelberg (2014)Google Scholar
  16. 16.
    Mens, T., Van Gorp, P.: A Taxonomy of Model Transformation. Electronic Notes in Theoretical Computer Science 152, 125–142 (2006)CrossRefGoogle Scholar
  17. 17.
    Mernik, M., Heering, J., Sloane, A.M.: When and How to Develop Domain-Specific Languages. ACM Computing Surveys 37(4), 316–344 (2005)CrossRefGoogle Scholar
  18. 18.
    Motika, C., Smyth, S., von Hanxleden, R.: Compiling SCCharts — A Case-Study on Interactive Model-Based Compilation. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 461–480. Springer, Heidelberg (2014)Google Scholar
  19. 19.
    Naujokat, S., Traonouez, L.-M., Isberner, M., Steffen, B., Legay, A.: Domain-Specific Code Generator Modeling: A Case Study for Multi-Faceted Concurrent Systems. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 481–498. Springer, Heidelberg (2014)Google Scholar
  20. 20.
    OCL, http://www.omg.org/spec/OCL/ (Online. Last accessed July 25, 2014)
  21. 21.
    Sendall, S., Kozaczynski, W.: Model Transformation – the Heart and Soul of Model-Driven Software Development. IEEE Software 20(5), 42–45 (2003)CrossRefGoogle Scholar
  22. 22.
    Stahl, T., Völter, M., Bettin, J., Haase, A., Helsen, S.: Model-driven Software Development – Technology, Engineering, Management. John Wiley & Sons (2006)Google Scholar
  23. 23.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2008)Google Scholar
  24. 24.
    Völter, M., Benz, S.: Dietrich, C., Engelmann, B., Helander, M., Kats, L., Visser, E., Wachsmuth, G.: DSL Engineering – Designing, Implementing and Using Domain-Specific Languages. dslbook.org (2013)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Uwe Aßmann
    • 1
  • Jens Knoop
    • 2
  • Wolf Zimmermann
    • 3
  1. 1.Institut für Software- und MultimediatechnikTU DresdenDresdenGermany
  2. 2.Institut für ComputersprachenTU WienViennaAustria
  3. 3.Institut für InformatikMartin-Luther-Universität Halle-WittenbergHalle (Saale)Germany

Personalised recommendations