Universität Paderborn - Home Universität Paderborn
Die Universität der Informationsgesellschaft

Generating Software from Specifications WS 2013/14 - Assignment 11

Published: Jan 15, 2014; turn in Jan 22 at 12h

What to turn in: see Assignment 1

Exercise 29 (Project: Specification of the transformation phase)

Begin to specify the transformation phase of your DSL. It is recommended to work along the following steps:

  1. Make sure that you have developed manually enough pairs of input-output files such that every construct of your DSL is covered, and the output files can be correctly processed, and yield the desired results.
  2. Study the specification of the transformation phase given in Exercise 27, and use it as an example for your specification here.
  3. Decompose the structure of an output file. Rewrite the outer level into a PTG pattern specification. Associate it to a context in the abstract syntax, where a call of that pattern may be located to compute the Code attribute for that context.
  4. In certain cases you may recognize that some information needed in a pattern application is not available in the context, where the pattern application is to be created. Then you may consider to propagate that information through the tree, or to store the required information as a property of an entity, and access it from the context of the pattern application.
  5. Apply Step 3 in a top-down fashion through the abstract syntax.
  6. You may temporarily ignore certain sub-structures of the abstract syntax: Just set the Code attribute of that part of the tree to PTGNULL. That allows you to check the specification for consistency, and to check the output produced for certain parts of the tree, before all aspects of the transformation are implemented.
  7. Apply these steps until all language constructs are correctly translated.
  8. Test the translation of the processor for all available examples.

(Here is the Solution for Exercise 29)

Exercise 30 (Describe your project)

Prepare a presentation (duration 20 min) of your project. Be prepared to give the presentation during one of the final lecture hours.

  1. Describe the domain and the purpose of the DSL.
  2. Present the DSL using a few examples.
  3. Describe briefly what the input is translated to.
  4. Interesting aspects of implementing this language.
  5. What is the status of the project?
Turn the file with your presentation in (preferably PDF).

(Here is the Solution for Exercise 30)

Do not forget to take notes on what you did, what you learned, and which problems you encountered, and turn them in.

Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 15.01.2014