SLE SS 2013 Assignment 3


Participate in a research effort on linguistic architecture


The Software Languages Team in collaboration with external partners develops MegaL, a domain-specific modeling language for megamodeling or linguistic architecture. The design of the language is still evolving; the implementation of MegaL is only emerging; the evaluation of the language in terms of powerful examples has only started. Thus, the assignment is meant to involve the SLE course participants in this language design, implementation, and evaluation journey. The idea is that each team (1-3 students) makes a small contribution with the help of substantial supervision provided by Andrei Varanovich and Ralf Lämmel.


Conceivable MegaL contributions

These and possibly other options are to be discussed during the initial meeting for this assignment:

  • Evaluate MegaL design and implementation with example models:
    • O/X mapping with JAXB
    • O/R mapping with Hibernate
    • Model transformation with ATL
    • Model transformation with EMF
    • Parser implementation with ANTLR
    • DSL implementation with JastAdd
    • Compiler backend implementation with LLVM
    • Web-based development with Ruby on Rails
  • Provide additional entity and relationship types for megamodeling:
    • Correspondence between XML schemas and Java packages (JAXB).
    • Correspondence between XML schemas and C# classes (xsd.exe).
    • Correspondence between Hibernate mapping files and Java classes.
  • Implement infrastructural components for the language:
    • Advance web-based reporting for megamodel execution.
    • Web-based editor for megamodels
    • MegaL server
    • ….

It is perfectly understood that there is a learning curve associated with MegaL. Thus, this assignment will rely on heavy supervision, as it is also in the interest of the supervisors to involve more people in the MegaL development, thereby diversifying the evaluation of the language and possibly identifying 1-2 students who like to continue on this topic, even if the initial contributions during the SLE course will be rather small.

General logistics

See the course page for deadlines and conditions on successfully completing the assignments.


  • Christoph Ehlen, Kilian Pirl: MegaL Server
  • Matthias Barde, Florian Bernd: Web-based editor for MegaL
  • Jan Rüther, Tobias Keweloh: Hibernate megamodel
  • Erwin Schens: "Web-based development with Ruby on Rails" megamodel
  • Eduard Schleining, Jan-Hendrik Borth: "DSL implementation with JastAdd megamodel" megamodel
  • Kevin Keul, Freya Surberg: Correspondence between XML schemas and Java packages (JAXB)