Skip to main content

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

  • Chapter
Generative and Transformational Techniques in Software Engineering III (GTTSE 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6491))

Abstract

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling. Wiley Interscience, Hoboken (2008)

    Book  Google Scholar 

  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. Kleppe, A.: A language is more than a metamodel. In: ATEM 2007 Workshop (2007), http://megaplanet.org/atem2007/ATEM2007-18.pdf

  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)

    Chapter  Google Scholar 

  5. Griffin, C.: Using EMF. Technical report, IBM: Eclipse Corner Article (2003), http://www.eclipse.org/articles/Article-UsingEMF/using-emf.html

  6. Sethi, R.: Programming Languages Concepts and Constructs. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  7. van Eijk, P., Belinfante, A., Eertink, H., Alblas, H.: The Term Processor Generator Kimwitu. CTIT Technical report 96-49, University of Twente (1996), http://fmt.cs.utwente.nl/kimwitu/

  8. OMG Editor: Meta Object Facility (MOF) Specification. Technical report, Object Management Group (2002), http://www.omg.org/docs/formal/02-04-03.pdf

  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), http://www.omg.org/docs/formal/06-01-01.pdf

  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. 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)

    Chapter  Google Scholar 

  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)

    Book  MATH  Google Scholar 

  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), http://www.eclipse.org/gmt/oaw/doc/4.3/html/contents/index.html

  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. Scheidgen, M.: Textual Editing Framework (2008), http://www2.informatik.hu-berlin.de/sam/meta-tools/tef/documentation.html

  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)

    Chapter  Google Scholar 

  17. GMF developers: Eclipse Graphical Modeling Framework (2008), http://www.eclipse.org/gmf

  18. GEF developers: GEF documentation (2008), http://www.eclipse.org/gef/reference/documentation.php

  19. JET developers: JET Tutorial part 1 (2004), http://www.eclipse.org/articles/ArticleJET/jet_tutorial1.html

  20. Musset, J., Juliot, É., Lacrampe, S.: Acceleo User Guide (2008), http://acceleo.org/doc/obeo/en/acceleo-2.6-user-guide.pdf.2.6edn

  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. 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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  25. Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley, Reading (2007)

    MATH  Google Scholar 

  26. Clark, T., Sammut, P., Willans, J.: Applied Metamodeling – A Foundation for Language Driven Development, 2nd edn. Ceteva (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Gjøsæter, T., Prinz, A. (2011). Teaching Computer Language Handling - From Compiler Theory to Meta-modelling. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds) Generative and Transformational Techniques in Software Engineering III. GTTSE 2009. Lecture Notes in Computer Science, vol 6491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-18023-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-18023-1_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-18022-4

  • Online ISBN: 978-3-642-18023-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics