Incremental Design: Programming with Holes and Evolvers

  • Chapter
Dependable and Historic Computing

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6875))

  • 1247 Accesses

Abstract

Incremental design allows the system developer to define the system software in convenient stages. Often when all the parts of the system are defined the system is ready for deployment. However it is possible to delay the definition of some parts of the system definition to when it is more convenient post-deployment. In this paper we will explore a unifying approach to incremental design that accommodates both pre-deployment and post-deployment but more importantly outlines a system structuring for incremental design. It will contain the notion of holes and evolvers in incremental system design along with other concepts and technologies that are required to support it. The contribution of this paper comprises: a study of the intrinsic nature of programming with holes and evolvers including increments; static and dynamic systems; E-P structuring; and autonomic and emergent change.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now
Chapter
EUR 29.95
Price includes VAT (Germany)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
EUR 42.79
Price includes VAT (Germany)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
EUR 53.49
Price includes VAT (Germany)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Dasgupta, S.: Design Theory and Computer Science. Cambridge University Press, Cambridge (1991)

    Book  Google Scholar 

  2. Warboys, B.C.: The Software Paradigm. ICL Technical Journal 10(1), 71–80 (1995)

    Google Scholar 

  3. Wirth, N.: Program Development by Stepwise Refinement. Comm. ACM. 14(4), 221–227 (1971)

    Article  MATH  Google Scholar 

  4. Beck, K., Andres, C.: Extreme Programming Explained. Addison-Wesley, Reading (2005)

    Google Scholar 

  5. Morrison, R., Balasubramaniam, D., Kirby, G.N.C., Mickan, K., Warboys, R., Greenwood, W., Robertson, I., Snowdon, R.: A Framework for Supporting Dynamic Systems Co evolution. Automated Software Engineering 14(3), 261–292 (2007)

    Article  Google Scholar 

  6. Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  7. Witkowski, M.M., Standley, S.: Collaborative Risk Management for the Cassini-Huygens Probe Mission. In: IEEE Aerospace Conference, pp. 111–119 (2005)

    Google Scholar 

  8. Losavio, F., Levy, N., Davari, P., Colonna, F.: The ArchWare Tower: The Implementation of an Active Software Engineering Environment using a (π-calculus based Architecture Description Language. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 94–112. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. Beer, S.: The Brain of the Firm. Wiley, Chichester (1981)

    Google Scholar 

  10. Herring, C., Kaplan, S.: A Viable System Architecture. In: Proc. 34th Hawaii International Conference on System Sciences, pp. 1–10 (2001)

    Google Scholar 

  11. Lehman, M.M.: Laws of Software Evolution Revisited. In: Montangero, C. (ed.) EWSPT 1996. LNCS, vol. 1149, pp. 108–124. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  12. Shaw, M.: Beyond Objects: A Software Design Paradigm based on Process Control. ACM Software Engineering Notes 20(1), 27–38 (1995)

    Article  Google Scholar 

  13. Kaplan, S. (ed.): Working Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia (2001)

    Google Scholar 

  14. Yeomans, B.S.: A Process-Based Environment for the Evolutionary Development of Large Software Systems. M. Res Thesis, University of Manchester UK (1997)

    Google Scholar 

  15. Mickan, K.: A Meta-Programming Framework for Software Evolution, Ph.D. Thesis, University of St. Andrews (2006)

    Google Scholar 

  16. Barringer, H., Rydeheard, D., Warboys, B., Gabbay, D.: A Revision-Based Logical Framework for Evolvable Software. In: Proc. International Conference on Software Engineering, pp. 78–83 (2007)

    Google Scholar 

  17. Stemple, D., Fegaras, L., Stanton, R.B., Sheard, T., Philbrow, P., Cooper, R.L., Atkinson, M.P., Morrison, R., Kirby, G.N.C., Connor, R.C.H., Alagic, S.: Type-safe Linguistic Reflection: A Generator Technology. In: Atkinson, M.P., Welland, R. (eds.) Fully Integrated Data Environments, pp. 158–188. Springer, Heidelberg (1999)

    Google Scholar 

  18. Randell, B., Xu, J.: The Evolution of the Recovery Block Concept. In: Lyu, M. (ed.) Software Fault Tolerance. Trends in Software, pp. 1–22. J. Wiley, Chichester (1994)

    Google Scholar 

  19. Horning, J.J., Lauer, H.C., Melliar-Smith, P.M., Randell, B.: A Program Structure for Error Detection and Recovery. LNCS, vol. 16, pp. 177–193 (1974)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Morrison, R., Balasubramaniam, D., Warboys, B. (2011). Incremental Design: Programming with Holes and Evolvers. In: Jones, C.B., Lloyd, J.L. (eds) Dependable and Historic Computing. Lecture Notes in Computer Science, vol 6875. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24541-1_28

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24541-1_28

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24540-4

  • Online ISBN: 978-3-642-24541-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics

Navigation