Issues in Architecture Evolution: Using Design Intent in Maintenance and Controlling Dynamic Evolution
Issues in Architecture Evolution: 1) Using design intent in maintenance & 2) Controlling dynamic evolution In this keynote talk I will address two issues in software architecture evolution. In Alex Wolf’s and my original architecture model, we proposed rationale as one of the major components. Over the years very little has been explored about this issue. The primary purpose of rationale was to record architecture design intent: why are things the way they are? It is only recently that architecture researchers have become interested in capturing design intent. Unfortunately the focus has been (as it was in the 80’s on capturing design decisions) on what can we capture and how. I will focus instead on the problem of what design intent do we need when we evolve the architecture design and discuss the work I am doing with my student Paul Grisham. There are a number of interesting contexts where the dynamic evolution of software architectures are of critical importance - for example, self-managing, self-adapting systems, etc. Another interesting context is that of simulating very large, very complex systems. In all these cases, the control of dynamic architecture evolution is a critical issue. In the case of complex simulations we have foreknowledge (indeed, control) of the desired architecture evolution. I will focus on our approach in handling this issue in this context. While this is a fairly narrow context, I believe our approach has applicability in a wider context.