Dynamically Replaceable Software: A design method

  • Jorge Amador
  • Belén de Vicente
  • Alejandro Alonso
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 550)


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 words

dynamic replacement maintenance non-stop systems distributed systems design methods 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Ada 83]
    DoD, Ada Language Reference Manual, ANSI/MIL-STD-1815A-1983.Google Scholar
  2. [Amador 88]
    J. Amador, J. Campos, SWRU Concept for ARTT, GMV, Madrid, Spain, Doc. No. COL-GMV-ARTT2-TNSWRU, 1988.Google Scholar
  3. [Antler 87]
    J. Antler, W. Häbel, SWRU End-to-end Concept, MBB/ERNO, Bremen, West Germany, 1987.Google Scholar
  4. [Atkinson et al 88]
    C. Atkinson, T. Moreton, A. Natali, Ada for distributed systems, Cambridge University Press, 1988.Google Scholar
  5. [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
  6. [Booch 86]
    G. Booch, Software Engineering with Ada, 2nd Edition, Benjamin Cummings, 1986.Google Scholar
  7. [Booch 90]
    G. Booch, Object Oriented Design with Applications, 1st Edition, Benjamin Cummings, 1990.Google Scholar
  8. [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
  9. [Burns 90]
    A. Burns and A.J. Wellings, Real Time Systems and their Programming Languages, Addison-Wesley, 1990.Google Scholar
  10. [COLUMBUS 90]
    European Space Agency (ESA), COLUMBUS System Requirements Document, Doc. No. COL-RQ-ESA-001, 1990.Google Scholar
  11. [Goldberg 83]
    A. Goldberg, D. Robson, Smalltalk-80: The language and its implementation, Addison-Wesley, 1983.Google Scholar
  12. [HRM 89]
    HOOD Reference Manual, Issue 3.0, HOOD Working Group, 1989.Google Scholar
  13. [HUM 89]
    HOOD User Manual, Issue 3.0, HOOD Working Group, 1989.Google Scholar
  14. [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
  15. [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
  16. [Kramer 89]
    J. Kramer, J. Magee, “Constructing Distributed Systems in CONIC”, IEEE Transactions on Software Engineering, p663–676, June 1989.Google Scholar
  17. [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
  18. [Meyer 88]
    B. Meyer, Object-Oriented Software Construction, Prentice Hall, 1988.Google Scholar
  19. [Sommerville 89]
    I. Sommerville; Software Engineering, 3rd edition; Addison-Wesley, 1989.Google Scholar
  20. [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
  21. [Stroustrup 86]
    B. Stroustrup, The C++ programming language, Addison-Wesley, 1986.Google Scholar
  22. [Tindell 90]
    K. Tindell, “Dynamic Code Replacement and Ada”, Ada Letters, vol. X, no. 7, p. 47–54, 1990.Google Scholar
  23. [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

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Jorge Amador
    • 1
  • Belén de Vicente
    • 2
  • Alejandro Alonso
    • 3
  1. 1.GMV S.A. Isaac Newton, s/nMadridSpain
  2. 2.Teice Control General RodrigoMadridSpain
  3. 3.E.T.S.I de Telecomunicación Ciudad UniversitariaUniversidad Politécnica de MadridMadridSpain

Personalised recommendations