Teaching Computer Language Handling - From Compiler Theory to Meta-modelling

  • Terje Gjøsæter
  • Andreas Prinz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6491)


Most universities teach computer language handling by mainly focussing on compiler theory, although MDA (model-driven architecture) and meta-modelling are increasingly important in the software industry as well as in computer science. In this article, we investigate how traditional compiler theory compares to meta-modelling with regard to formally defining the different aspects of a language, and how we can expand the focus in computer language handling courses to also include meta-model-based approaches. We give an outline of a computer language handling course that covers both paradigms, and share some experiences from running a course based on this outline at the University of Agder.


Operational Semantic Graph Transformation Abstract Syntax Graph Grammar Graphical Notation 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling. Wiley Interscience, Hoboken (2008)CrossRefGoogle Scholar
  2. 2.
    Henriques, P.R., Pereira, M.J., Mernik, M., Lenič, M.: Automatic generation of language-based tools. In: Second Workshop on Language Descriptions, Tools and Applications, LDTA 2002. Electronic Notes in Theoretical Computer Science, vol. 65, pp. 77–96. Elsevier Science Publishers, Amsterdam (2002)Google Scholar
  3. 3.
    Kleppe, A.: A language is more than a metamodel. In: ATEM 2007 Workshop (2007),
  4. 4.
    Nytun, J.P., Prinz, A., Tveit, M.S.: Automatic generation of modelling tools. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 268–283. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Griffin, C.: Using EMF. Technical report, IBM: Eclipse Corner Article (2003),
  6. 6.
    Sethi, R.: Programming Languages Concepts and Constructs. Addison-Wesley, Reading (1996)zbMATHGoogle Scholar
  7. 7.
    van Eijk, P., Belinfante, A., Eertink, H., Alblas, H.: The Term Processor Generator Kimwitu. CTIT Technical report 96-49, University of Twente (1996),
  8. 8.
    OMG Editor: Meta Object Facility (MOF) Specification. Technical report, Object Management Group (2002),
  9. 9.
    OMG Editor: Revised Submission to OMG RFP ad/2003-04-07: Meta Object Facility (MOF) 2.0 Core Proposal. Technical report, Object Management Group (2003),
  10. 10.
    d’Anjou, J., Fairbrother, S., Kehn, D., Kellermann, J., McCarthy, P.: The Java Developer’s Guide to Eclipse. Addison-Wesley, Reading (2004)Google Scholar
  11. 11.
    Prinz, A., Scheidgen, M., Tveit, M.S.: A Model-based Standard for SDL. In: Gaudin, E., Najm, E., Reed, R. (eds.) SDL 2007. LNCS, vol. 4745, pp. 1–18. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  12. 12.
    Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G.: Handbook of Graph Grammars and Computing by Graph Transformation. Applications, Languages and tools, vol. 2. World Scientific, Singapore (1999)CrossRefzbMATHGoogle Scholar
  13. 13.
    Efftinge, S., Friese, P., Haase, A., Hübner, D., Kadura, C., Kolb, B., Köhnlein, J., Moroff, D., Thoms, K., Völter, M., Schönbach, P., Eysholdt, M.: OpenArchitectureWare User Guide (2008),
  14. 14.
    Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the Specification of Textual Concrete Syntaxes in Model Engineering. In: Proceedings of the Fifth International Conference on Generative Programming and Component Engineering, GPCE 2006, pp. 249–254 (2006)Google Scholar
  15. 15.
    Scheidgen, M.: Textual Editing Framework (2008),
  16. 16.
    Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and refinement of textual syntax for models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 114–129. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  17. 17.
    GMF developers: Eclipse Graphical Modeling Framework (2008),
  18. 18.
    GEF developers: GEF documentation (2008),
  19. 19.
    JET developers: JET Tutorial part 1 (2004),
  20. 20.
    Musset, J., Juliot, É., Lacrampe, S.: Acceleo User Guide (2008),
  21. 21.
    Plotkin, G.D.: A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, University of Aarhus, University of Aarhus (1981)Google Scholar
  22. 22.
    Grunske, L., Geiger, L., Zündorf, A., Eetvelde, V., Van Gorp Niels, P., Varró, D.: Using Graph Transformation for Practical Model Driven Software Engineering. In: Model Driven Software Engineering, pp. 91–118. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    Scheidgen, M., Fischer, J.: Human comprehensible and machine processable specifications of operational semantics. In: Akehurst, D.H., Vogel, R., Paige, R.F. (eds.) ECMDA-FA. LNCS, vol. 4530, pp. 157–171. Springer, Heidelberg (2007)Google Scholar
  24. 24.
    Sadilek, D.A., Wachsmuth, G.: Prototyping visual interpreters and debuggers for domain-specific modelling languages. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 63–78. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  25. 25.
    Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley, Reading (2007)zbMATHGoogle Scholar
  26. 26.
    Clark, T., Sammut, P., Willans, J.: Applied Metamodeling – A Foundation for Language Driven Development, 2nd edn. Ceteva (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Terje Gjøsæter
    • 1
  • Andreas Prinz
    • 1
  1. 1.Faculty of Engineering and ScienceUniversity of AgderGrimstadNorway

Personalised recommendations