There is no doubt that generative technologies are becoming more and more important in the software industry. Every development environment contains lots of generative steps and technologies like Model-Driven-Architecture are hotly debated. This means that we have to make sure that students understand the core concepts and tools in this area and that is why I started a new lecture with the title "generative computing".
I know a couple of industry projects - mostly those where my students work or write their thesis - which use or could use generative technologies. In one project a student performs a problem analysis, creates model and meta-model information and finally writes a generator for database testing. Another large scale project involves internationalization and different business logic for different countries. This is currently a project maintenance nightmare as the necessary artifacts for e.g. the new spanish version are not explicitly stated. Here one of my students started with a problem analysis which should uncover the information that needs to be known for a reliable project plan of new releases or versions. Once this is done we will think about creating a model and meta-model and also begin generating some code. Because of the size of the problem and its complexity we do not shoot after a completely automized solution. Instead, the combination of meta-data, generation and best organizational practices should do the trick. Interestingly, this project uses the Xtreme Programming Methodology event though it is fairly large and the results where good so far.
As it was the industry which brought the topic of generation back onto my radar and since I have a couple of real projects running there I thought about leveraging those circumstances to create a new kind of university event: a mixture of lecture and exercises with industry participation. In between technology sessions we would look at the current projects, analyze and try to improve them. This brings technologies and applications in a close relation. But it means that somebody from those projects needs to participate in the event. We will see if this is a realistic assumption.
I plan to introduce the following generative technologies and tools:
Our workshops on generative computing