Ageless Software evolves, to meet new requirements, without reducing its efficiency or understandability. Here we introduce a methodology called Informed Evolution for supporting the construction and evolution of ageless software. This methodology integrates the software architecture (structure and constraints) and the system implementation (behaviour) within system execution. Evolution is effected by evolution patterns which are in turn guided by constraints specified in the software architecture. The availability of the software architecture and implementation at run-time ensures that changes are informed by design and implementation decisions, thus preserving efficiency and understandability. In this paper, we outline Informed Evolution, and describe how evolution patterns may be expressed for systems developed using this methodology.
KeywordsEvolution Pattern Software Architecture Structural Constraint Software Implementation System Execution
Unable to display preview. Download preview PDF.
- 1.Parnas, D.L.: Software aging. In: Proceedings of the 16th International Conference on Software Engineering, pp. 279–287 (1994)Google Scholar
- 2.Oquendo, F., Warboys, B., Morrison, R., Dindeleux, R., Gallo, F., Garavel, H., Occhipinti, C.: ARCHWARE: architecting evolvable software. In: Proceedings of the First European Workshop on Software Architecture, pp. 257–271 (2004)Google Scholar
- 3.Garlan, D., Monroe, R.T., Wile, D.: ACME: Architectural Description of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)Google Scholar
- 4.Joolia, A., Batista, T., Coulson, G., Gomes, A.T.: Mapping adl specifications to an efficient and reconfigurable runtime component platform. In: Working IEEE/IFIP Conference on Software Architecture (WICSA) (2005)Google Scholar
- 5.Mickan, K., Morrison, R., Kirby, G.: Using generative programming to visualise hypercode in complex and dynamic systems. In: Australian Computer Science Conference, pp. 377–386 (2004)Google Scholar