FIREworks

Feature Integration in Requirements Engineering

ESPRIT Working Group 23531


Background

An increasingly common way of creating new products is by adding features to old ones, rather than designing them from scratch. A `feature' is a small modification or extension of a system, which usually the user perceives as having a self-contained functional role. For example, the following could be features of a printer: has serial interface; understands PostScript; can print double-sided; can print colour.

Until recently the importance of this incremental approach to software development has been underestimated. In the last few years, however, the telecommunications industry has identified the notion of feature as the central one; there, they wish to offer new services by adding features (such as call forwarding abilities, voice mail facilities, etc.) to traditional services, and they have identified the `feature interaction problem' as an important issue. Careful specification methodologies are required to ensure that features to not interact in unpredictable and unintuitive ways. The feature interaction problem means that naive specification of these features will lead to unwanted interactions between them when they are introduced together.
(For more examples where features and feature interactions may be relevant, please look at our suggested case studies.)

Objectives

FIREworks will address the problem of adding features to specifications of complex software products, in particular software for telecommunication services and banking. It will provide a feature-oriented approach to software design including requirements specification languages and verification logics, as well as a method for their usage. The aim is to provide a method with which companies can build products by taking an existing product and adding, removing, or respecifying some features.

Deliverables

This Working Group will provide a framework for overcoming the difficulties of manipulating features and studying their interactions. This has two main strands: upgrading existing specification languages to enable them to describe feature-oriented systems; and providing techniques for verifying the specifications. The Working Group will deliver feature-oriented specification languages (based on several existing languages). It will also deliver verification methods for detecting and explaining conflicts between features; deducing consequences of feature combinations; and methods for constructing test suites for feature combinations, and providing typical scenarios. There will also be several case studies assessing the adequacy of the languages and tools. Further details on FIREworks are available from the Coordinator: Mark Ryan, School of Computer Science, University of Birmingham, B15 2TT, United Kingdom. M.D.Ryan@cs.bham.ac.uk.

The proposal. Keywords: features, feature interactions, verification, specification, combining systems.

Cost statement (for FIREworks members to claim expenses)


Page created by Malte Plath and maintained by Mark Ryan
Last modified: Oct 20, 2000