Dynamically Replaceable Software: A design method
The usual maintenance techniques are not useful when dealing with nonstop software systems. It is not possible to stop the system execution to update some of its components. Dynamic software replacement is a mechanism that allows components updating without stopping the whole system. For this purpose, the Software Replaceable Unit (SWRU) concept has been introduced.
In this paper we present a design method for software systems including replaceable components. The executable unit (i.e. the process) is selected as the minimal software unit (SWRU) that can be dynamically replaced. This way, the strong relation between SWRU based software and distributed software is shown. This fact is used to extend the HOOD method in order to design SWRU based systems.
A replacement model is defined to implement the above concepts. The requirements that a SWRU has to fulfil, according to the above model, are identified. Finally, a method and a set of support modules to assist in the detailed design and coding phases are presented.
Key wordsdynamic replacement maintenance non-stop systems distributed systems design methods
Unable to display preview. Download preview PDF.
- [Ada 83]DoD, Ada Language Reference Manual, ANSI/MIL-STD-1815A-1983.Google Scholar
- [Amador 88]J. Amador, J. Campos, SWRU Concept for ARTT, GMV, Madrid, Spain, Doc. No. COL-GMV-ARTT2-TNSWRU, 1988.Google Scholar
- [Antler 87]J. Antler, W. Häbel, SWRU End-to-end Concept, MBB/ERNO, Bremen, West Germany, 1987.Google Scholar
- [Atkinson et al 88]C. Atkinson, T. Moreton, A. Natali, Ada for distributed systems, Cambridge University Press, 1988.Google Scholar
- [Bal et al 89]H.E. Bal, J.G. Steiner, A.S. Tanenbaum, “Programming Languages for Distributed Systems”, ACM Computing Surveys, vol. 21, no. 3, p. 261–322, 1989.Google Scholar
- [Booch 86]G. Booch, Software Engineering with Ada, 2nd Edition, Benjamin Cummings, 1986.Google Scholar
- [Booch 90]G. Booch, Object Oriented Design with Applications, 1st Edition, Benjamin Cummings, 1990.Google Scholar
- [Burns 89]A. Burns and A.J. Wellings, “Dynamic Change Management and Ada”, Software Maintenance: Research and Practice, vol.1, no.2, p121–131 (December 1989)Google Scholar
- [Burns 90]A. Burns and A.J. Wellings, Real Time Systems and their Programming Languages, Addison-Wesley, 1990.Google Scholar
- [COLUMBUS 90]European Space Agency (ESA), COLUMBUS System Requirements Document, Doc. No. COL-RQ-ESA-001, 1990.Google Scholar
- [Goldberg 83]A. Goldberg, D. Robson, Smalltalk-80: The language and its implementation, Addison-Wesley, 1983.Google Scholar
- [HRM 89]HOOD Reference Manual, Issue 3.0, HOOD Working Group, 1989.Google Scholar
- [HUM 89]HOOD User Manual, Issue 3.0, HOOD Working Group, 1989.Google Scholar
- [Jha et al 89]R. Jha, J.M. Kamrad, D.T. Cornhill, “Ada Program Partitioning Language: A Notation for Distributing Ada Programs”, IEEE Transactions on Software Engineering, vol. 15, no.3, p. 271–280, 1989.Google Scholar
- [Kramer 88]J. Kramer, J. Magee, “A Model for Change Management”, IEEE Conference on Distributed Computing Systems in the 90's, Hong Kong, September 1988.Google Scholar
- [Kramer 89]J. Kramer, J. Magee, “Constructing Distributed Systems in CONIC”, IEEE Transactions on Software Engineering, p663–676, June 1989.Google Scholar
- [Laws 87]R. Laws, M. Shopland, Implications of SWRUs implemented in Ada for On-board Software, Logica Space and Defence Systems, Cobham, England, 1987.Google Scholar
- [Meyer 88]B. Meyer, Object-Oriented Software Construction, Prentice Hall, 1988.Google Scholar
- [Sommerville 89]I. Sommerville; Software Engineering, 3rd edition; Addison-Wesley, 1989.Google Scholar
- [Stadel 91]M. Stadel, “Object Oriented Programming Techniques to Replace Software Components on the Fly in a Running Program”, ACM SIGPLAN Notices, vol. 26, no. 1, p. 99–108, January 1991.Google Scholar
- [Stroustrup 86]B. Stroustrup, The C++ programming language, Addison-Wesley, 1986.Google Scholar
- [Tindell 90]K. Tindell, “Dynamic Code Replacement and Ada”, Ada Letters, vol. X, no. 7, p. 47–54, 1990.Google Scholar
- [Volz et al]R.A. Volz, T.N. Mudge, G.D. Buzzard, P. Krishnan, “Translation and Execution of Distributed Ada Programs: Is it Still Ada?”, IEEE Transactions on Software Engineering, vol.15, no.3, p. 281–292, 1989.Google Scholar