A feature is a semantically
cohesive unit of behavior of a software system. Features are used for
the specification of commonalities and variabilities of software
systems. For example, in the domain of data management there are
features such as transaction management, storage management, and
It would be easier to develop software if its features would be explicit in design and code and if software could be generated solely by composing features. This methodology is called Feature-Oriented Software Development (FOSD). Currently, there is a multitude of different methods, languages, and tools for FOSD that -- despite their common aim -- are difficult to compare and integrate. For a recent survey see the paper An Overview of Feature-Oriented Software Development.
This web site acts as a portal for different projects in FOSD research.
Links on this site: