The design and implementation of a framework for configurable software
- 23 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 136-143
- https://doi.org/10.1109/cds.1996.509355
Abstract
Software systems are typically composed of numerous components, each of which is responsible for a different function. Different implementations of a component may be possible, with each implementation tailored for a specific set of applications or environments. Being able to reconfigure software systems to make use of these different implementations with the minimum of effect on existing users and applications is desirable. Configurable software systems are also important for a number of other reasons: additional components or modifications to those currently available, may be required. For example, new versions of software components may be necessary due to the discovery of design flaws in a component; a RPC which provider unreliable message delivery may be suitable for an application in a local area network, but if the application is to be used in a wide area network, a different RPC implementation, which guarantees message delivery, may be necessary. Therefore, software is often required to be configurable, enabling modifications to occur with minimal effect on existing users. To allow this configurability, components should only be available through interfaces that are clearly separated from their implementations, allowing users to be isolated from any implementation changes. Object-oriented programming techniques offer a good basis upon which this separation can be provided. This paper describes a model for constructing configurable software based upon this separation, and illustrates this with a software development system.Keywords
This publication has 16 references indexed in Scilit:
- Specification and implementation of reconfigurable distributed applicationsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Planning for change: a reconfiguration language for distributed systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Towards a new model of abstraction in software engineeringPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Implementing fault-tolerant distributed applications using objects and multi-coloured actionsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Designing an Extensible Distributed Language with a Meta-Level ArchitecturePublished by Springer Nature ,2000
- Structuring fault-tolerant object systems for modularity in a distributed environmentIEEE Transactions on Parallel and Distributed Systems, 1994
- Using interface inheritance to address problems in system software evolutionPublished by Association for Computing Machinery (ACM) ,1994
- Transparency and reflection in distributed systemsACM SIGOPS Operating Systems Review, 1993
- Profile models of the diffuse attenuation coefficientEnvironmental Software, 1992
- An overview of the Arjuna distributed programming systemIEEE Software, 1991