( http://www.dagstuhl.de/11021 )
09.01.11 - 14.01.11, Seminar 11021
Feature-Oriented Software Development (FOSD)
Organizers
Sven Apel (Universität Passau, DE)
William R. Cook (University of Texas - Austin, US)
Krzysztof Czarnecki (University of Waterloo, CA)
Oscar Nierstrasz (Universität Bern, CH)
For support, please contact
Motivation
Feature orientation is an emerging paradigm of software development. It supports the largely (possibly completely) automatic generation of large software systems from a (possibly large) set of units of functionality, so-called features. The key idea of feature orientation is to emphasize the similarities of a family of software systems for a given application domain (e.g., database systems, banking software, text processing systems) with the goal of reusing software artifacts among the family members.
Features are used to distinguish different members of the family. For example, features of a database system could be transaction management, query optimization, and multi-user operation, those of a banking software could be account management, authentication, and financial transactions, and those of a text processing system could be printing, spell checking, and document format conversion.
The software engineering challenge is that a feature does not map cleanly to an isolated module of code. Rather it may affect (“cut across”) many components of a modular software system. This has been termed the problem of crosscutting concerns. For example, the feature transaction management would affect many parts of a database system, e.g., query processing, logical and physical optimization, and buffer and storage management.
The concept of feature orientation is still in its infancy. However, about a dozen researchers have been working on it for years, and there are related, more well-known concepts of software engineering with well-populated research communities, e.g., software product lines, aspect-oriented software development, service-oriented architecture, and model-driven engineering.
In all, the set of people that are working on ideas of feature orientation is growing continuously and already large enough to warrant the conduct this Dagstuhl seminar. A main goal of the Dagstuhl seminar on FOSD is to strengthen the identity of the feature orientation community.
Classification
- Programming languages
- Program generation
- Software engineering
Keywords
- Software product lines
- Domain engineering
- Software composition
- Program synthesis
- Generative programming
- Feature modeling
- Feature-oriented programming
- Separation of concerns
- Feature modularity
- Feature interaction
- Software specification
- Software verification








