The reasons for this workshop are simple: more and more of my students create some kind of program generators during their thesis work at software companies. It looks like companies have recognized the power behind generative technologies and put some investments behind implementations. If you look at current platforms you will notice that most of them already include large generative parts, e.g. the EJB tool chain leading to installable components accompanied by meta information (deployment descriptors). Developers are no longer the final member of a development chain. Their work is finished by source code generators.
At the same time companies seem to suffer even more under inflexible software. I had a thesis work which came to a surprising conclusion at the end of a large evaluation of project management software: No package really fit the bill of this specific company. So they decided to develop their own software. Some software architects are now considering generative approaches as a way to re-design their current systems. They need to know about options, investments and risks to come to an informed decision.
And there is the group of software developers which already work with generative technologies - some of them for years already. What they need is a platform to discuss their problems. They want to discuss things like the advantages of XML modeling using topic maps or the value of UML to capture product features for production line technology.
And last but not least the university and their members: they need to know about open issues which could be worked on in seminars and thesis papers.
Bringing these groups together is one major goal for this workshop.
Being the first of this kind at our university we should not put too much focus on a single technology, e.g. how to build generators. Instead we will participants a chance to present some of their work and raise the open issues for discussion. A possible schedule:
This short section should give an overview of existing technologies, e.g. model-driven architecture and how it they relate to conventional software development.
Participants present aspects fo their current work and associated open issues. The discussion should raise alternatives and clarify critical points. Future GC users should learn about pitfalls and risks and how to differentiate hype from reality.
E.g. using topic maps for domain modeling. UML support for variations and generation etc. You can expect some hot discussions here.
here architects interested in GC will present their problems and needs.
We will discuss the open questions and what we could do to find some answers. What thesis work do we need and how should our lectures on modelling and GC cover in the future?