Sle1617 Assignment2

Summary

Develop a machine-checked megamodel of a metaprogramming technology.

Logistics

  • Dates: see course webpage.
  • All deadlines are firm.
  • Each team models the team's metaprogramming technology from the 1st assignment.
  • We use the MegaL/Text checker: https://github.com/softlang/megalib
  • You submit your megamodel to the svn repo for this course.
  • Your presentation is simply a renarration of your megamodel.

Guideline for megamodeling and renarration

  • Your megamodeling should be driven by a scenario of technology usage; this should be preferably your use case from the 1st assignment.
  • Make sure to order your declarations in the megamodel in a manner that your renarration can simply go through all declarations from top to bottom.
  • Form small groups of declarations in a manner that they belong closely together.
  • Add appropriate (not too chatty) comments to each block of declarations.
  • Make sure to link all subtypes and entities to appropriate online resources.
  • There is no absolute metric for the complexity of your model, but here is some intuition:
    • You are likely to exercise nearly all of the most basic entity types from the Prelude (immediate subtypes of "Entity").
    • You are likely to exercise nearly all of the relationship symbols from the Prelude.
    • We look forward to hear from you whether you feel the need for additional subtypes.
    • Don't feel any urge to drive up the number of entities and relationships in your model.
  • Find the documentation of MegaL/Text and the checker here: https://github.com/softlang/megalib/tree/master/docs

Constraints

  • Your presentation must be almost ready by the time of consultation.
  • Presentations should be done collaboratively by team members.
  • Each of the three assignments counts 33% towards your grade.
  • You can contact Marcel Heinz over Skype (Marcel.Heinz591) or possibly over email (ed.znelbok-inu|znieh#ed.znelbok-inu|znieh) to get help on MegaL/Text and the checker.