Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
COM00111M
Model-Driven Engineering (MODE)
Open Individual Assessment
Rubric:
Your submission should include a report and an implementation. You must submit a single zip
file containing your report in PDF, and your implementation files. Submissions in a different
format (e.g. a Microsoft Word document in a RAR archive), will be penalised. Note the page
limits: parts of answers that go beyond the page limit may not be marked. Use IEEE citation and
referencing: references must be listed at the end of the document and do not count towards the
page limit.
Page 1 of 8
Module Code
COM00111M
1 The Exercise
You are to develop and document a domain-specific language (DSL) and supporting tools for
designing and implementing questionnaires, such as the one in Figure 1.
Figure 1: ACME Questionnaire
Each questionnaire can consist of multiple questions, grouped into sections. Three types of
questions must be supported:
• Yes/no questions (like Q1 and Q4 in the example of Figure 1).
• Multiple-choice questions (like Q2 and Q6).
• Free-text questions where users can type in their answer (like Q3 and Q5).
Questions can be mandatory (like Q1, Q4 and Q5, which are marked with a red star) or optional.
Two types of multiple-choice questions must be supported: one where users can select only up
to one option (like Q2) and one where users can potentially select more than one option (like
Q6).
Page 2 of 8
Module Code
COM00111M
The DSL must also support conditional visibility of questions and sections. That is, questions (or
entire sections) can be shown/hidden, depending on the answer of the user to another question.
For example:
• Unless the user selects “Yes” in Q1, all other questions in the questionnaire must be
hidden.