Q1:

straightforward, especially in an open-book exam, nothing much to say.

Q2:

Some very good answers but also a wide spread. Marked with reference to the Informatics instantiation of the Common Marking Scheme - e.g., a C level mark (14/25 for example) would match the description "Good. The work clearly meets requirements for demonstrating the relevant learning outcomes." Note that this is pretty demanding!

Some people wrote many more words than were suggested. That was OK, but there was no particular correlation between length and marks awarded. Writing concisely gave you more time to think about what to say.

Middling to poor essays often fell into one of two categories: either they did not show much sign of familiarity with the given readings, or they included rather undigested chunks of Garcia and Cabot material (sometimes signalled by the use of quotations such that I wondered whether you *could* have expressed the same ideas in your own words or were quoting because you didn't really understand what it meant).

Distressingly, a number of people wrote things that suggested they thought MDD was the same thing as waterfall development.

Q3:

Most people got full marks on parts (a) and (b). (This is good: opening bookwork parts of a question are often clues as to whether you should be picking this question: where people got low marks on these parts, the rest of the question often didn't go well.)

From here on there were many possible right answers.

(c) was mostly well done. A common semantic error was not providing a place to store the information about how many lessons of each subject each class could have. In UML, an association class is the obvious way to do this, and that's one of the reasons the question mentioned that you could use UML in place of a specialist metamodelling language - in fact MOF does not have association classes but I did not expect you to know that, so it was fine if you used one. (Many people gave attributes that duplicated the information already contained in their associations: best not to do that, although some tooling forces it and it wasn't penalised.)

At least one person wrote their metamodel textually, in Emfatic. That was OK too.

Some people got round the problem of where to store the "how many lessons" information by having something like a class called Subject that actually had different instances on a per-Class basis. Apart from being not a great use of names, that often left you with no representation of e.g. Music - no greater connection between P12's music subject object and P3's music subject object than between the subject objects of mathematics and phonics. That did not seem faithful to the text, so did not get full marks.

(d) was partly a sense-check on what you had done for (c), though there were a few surprising errors and, even though during the course I had quite heavily signalled the need to understand instance diagrams, some people didn't.

(e) I wanted you to say that this is a matter of concrete syntax, and that, since it is possible to provide multiple concrete syntaxes for "the same" language, this could with appropriate tooling be left completely flexible, changed at run time in individual schools.

(f) To get marks here you had to do more than tell me what a bidirectional transformation is: you had to have a few words on how one could be used here. For full marks you had to give both sensible pros and sensible cons of using one. (Cons are easier than pros, I think, it's not a great idea!)