Table of Contents
|
Topic
Participate in a research effort on linguistic architecture
Description
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.
Pointers
- A paper on MegaL: [.pdf]
- Code base on new MegaL implementation: [GitHub]
- Recent Sattose 2013 presentation on MegaL: http://www.slideshare.net/Dr.Gigabit/sattose2013-mega
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.
Teams
- 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)