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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Dasgupta, S.: Design Theory and Computer Science. Cambridge University Press, Cambridge (1991)
Warboys, B.C.: The Software Paradigm. ICL Technical Journal 10(1), 71–80 (1995)
Wirth, N.: Program Development by Stepwise Refinement. Comm. ACM. 14(4), 221–227 (1971)
Beck, K., Andres, C.: Extreme Programming Explained. Addison-Wesley, Reading (2005)
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)
Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. Computer 36(1), 41–50 (2003)
Witkowski, M.M., Standley, S.: Collaborative Risk Management for the Cassini-Huygens Probe Mission. In: IEEE Aerospace Conference, pp. 111–119 (2005)
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)
Beer, S.: The Brain of the Firm. Wiley, Chichester (1981)
Herring, C., Kaplan, S.: A Viable System Architecture. In: Proc. 34th Hawaii International Conference on System Sciences, pp. 1–10 (2001)
Lehman, M.M.: Laws of Software Evolution Revisited. In: Montangero, C. (ed.) EWSPT 1996. LNCS, vol. 1149, pp. 108–124. Springer, Heidelberg (1996)
Shaw, M.: Beyond Objects: A Software Design Paradigm based on Process Control. ACM Software Engineering Notes 20(1), 27–38 (1995)
Kaplan, S. (ed.): Working Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia (2001)
Yeomans, B.S.: A Process-Based Environment for the Evolutionary Development of Large Software Systems. M. Res Thesis, University of Manchester UK (1997)
Mickan, K.: A Meta-Programming Framework for Software Evolution, Ph.D. Thesis, University of St. Andrews (2006)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)