|Credits:||7.5 ECTS (=5.25 old credit points)|
|Period:||periode 2 (week 46 t/m 5, dwz 14-11-2005 t/m 3-2-2006; herkansing week 12)|
|Participants:||up till now 6 subscriptions|
|Schedule:||Dit is een oud rooster!
|Contents:||Managing the variability in software systems is rapidly becoming an
important factor in software development. Instead of developing and
deploying a ``fixed'' one-of-kind system, it is now common to develop
a family of systems whose members differ with respect to functionality
or technical facilities offered. As a simple example, consider a
software development environment that is delivered in a light,
professional, and enterprise version, each providing increasing
amounts of functionality. As another source for variability, modern
systems need to run on different computing platforms and provide a
user interface in different natural languages and possibly interaction
styles. Finally, systems typically offer extensive means for
configuration and customization during installation, startup, and
run-time. Again, this extends the space of actual systems of the
An important reason for explicitly introducing variability into a system is to obtain reuse of software. Building a separate system for each variant means that the overall development effort and time will increase, and that time to market will be seriously affected. In addition, having multiple systems with significant overlap among them seriously affects the programming and management effort needed in maintenance.
The realization of variability in systems can be achieved using a wide range of techniques. These techniques can be classified into generation of a specific system from a specification of its features, or configuration of a generic system in order to restrict it to the desired set of features.
In this seminar we will study the notion of variability in software systems and techniques for realization of variability, by reading and discussing key papers about the various aspects of variability management.
Participants are expected to read all papers before sessions and to give presentations about several of the papers.
|Literature:||Publications. Links to papers to be read will be made available on the website.|
|Course form:||In this year's installment of the seminar we will jointly write a survey of 'generative software development', exploring applications and techniques based on papers. In the meetings we will hold discussions about these papers, which means that students are expected to have read the material beforehand.|
|Exam form:||The grade for the seminar is based on your active participation in the discussions and in your contribution to the survey. Presence at all meetings is required.|
|Minimum effort to qualify for 2nd chance exam:||Writing of a compensating paper may be considered only in case of sufficient presence at meetings.|
|Description:||See the course description at the course website for an overview of the topics to be discussed.|