Configuration programming-a framework for the development of distributable systems
- 4 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
The underlying model commonly used to describe an application domain is that of processing components, loosely coupled by communication streams for each of the different types of information produced or consumed. The underlying model used for implementing distributed and parallel systems is usually similar, consisting of distributable processes communicating by message passing. Why then should different models be introduced in the intervening phases of software development? Configuration programming advocates the use of the same underlying interconnected-component model throughout the software process, from requirements through design and construction to evolution. The description of system structure, as a set of components and their interconnections, is separated from the functional description of individual component behaviour. This general approach has been used in the Conic Environment for the development of distributable software. This has shown that the approach is readily usable, leads to clear and flexible designs, and produces systems which are comprehensible, maintainable and amenable to change. The approach is considered "constructive" since it emphasises the satisfaction of system requirements by composition of components. In this paper we describe the principles which underlie the configuration programming approach and illustrate their usefulness by describing examples of some of the features of the existing Conic environment. As an indication of the future research directions, we then describe the work of the REX project: a recent collaborative ESPRIT II project which is based on the principles of configuration programming, and which intends to improve and extend the supported facilities.Keywords
This publication has 32 references indexed in Scilit:
- The Inscape EnvironmentPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2005
- STATEMATE: a working environment for the development of complex reactive systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- A software design method for distributed real-time applicationsJournal of Systems and Software, 1989
- A case study in structure specification: a grid description of ScribeIEEE Transactions on Software Engineering, 1989
- Network programming with MUPPETJournal of Parallel and Distributed Computing, 1988
- Automatic programming: myths and prospectsComputer, 1988
- Key Concepts of the INCAS Multicomputer ProjectIEEE Transactions on Software Engineering, 1987
- Reusing and Interconnecting Software ComponentsComputer, 1986
- A Calculus of Communicating SystemsLecture Notes in Computer Science, 1980
- Structured designIBM Systems Journal, 1974