ABSTRACT

Features of software systems

Mark Ryan, University of Birmingham

A feature is a piece of functionality. For example, possible features of a printer include paper-out detection, duplex printing, and colour printing. Often, new systems are developed by adding features to old ones, a practice which we call feature integration. When several features are integrated into the same system, they may interfere with each other in undesirable ways; this is called the feature interaction problem.

I will start by reviewing some known examples of feature interaction which have arisen in telecommunications, and some of the approaches to detecting and resolving it. Then I will describe the approach taken by Malte Plath and I, which consists of defining a new language construct for defining features, and the case studies we have examined.

The feature construct allows the programmer to override behaviour of the base system. I will describe some of the properties of the non-monotonic inference relation that this induces and perhaps examine feature integration in a more abstract setting.


Computer Science Home Page
Maintained by rbennett@cs.ucl.ac.uk