Long Term Course Structure

The course "generative computing" has a different focus every summer term:

Automated, professional devlopement environment and methodology

Covers automated builds, source code control, extensible IDEs like eclipse (plug-in approach), collaborative features like wiki's, bug reporting etc. The technical means are embedded into a concept of agile development with continuous integration, unit test and so on. The flexibility goals of generative computing are achieved through automated scripts (e.g. ant), plug-ins and simple code generation (source code completion, IDE templates, Javadoc/XDoclets)

Code Generation Technologies

Covers advanced code generation technologies (templates, transformational, meta-programming) and the theory behind (frame processing). Code generators will be used and examined. Goal is to enable participants to build their own generators. Models and meta-models play a central role as input for generation. Domain engineering is shown to give participants a complete picture of CG but is not explained with its theoretical foundations.

Domain Engineering

Covers feature analysis, Domain Specific Languages, production line architectures etc. How are conceptual models created? What is the connection between component architectures and domain configurations?

The course is also part of current research activities in the area of development and runtime environments for mobile and embedded systems. It is also tightly related to the seminar "design patterns" (simple patterns, architectural patterns, pattern use e.g. to support extensibility and performance in eclipse, generative patterns etc.)