Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.

Similar presentations


Presentation on theme: "Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University."— Presentation transcript:

1 Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University

2 ICSE 2009 © David Garlan & Bradley Schmerl 2 Software Architecture Software architectures are an important part of software development  Bridge requirements and implementations  Provide models that can be analyzed for various quality attributes  Effectively communicate system to clients and developers

3 ICSE 2009 © David Garlan & Bradley Schmerl 3 Architecture Examples

4 ICSE 2009 © David Garlan & Bradley Schmerl 4 Architecture Evolution (AE) Increasingly, businesses must evolve their architectures  From A to C, through a series of incremental architectures B, B’, B’’  E.g., migrate batch-oriented systems to web-based interactive system; or migrate client-server system to service-oriented architecture (SOA). Little existing support available to …  Plan how to make the transition from A to C  Characterize feasible architecture evolution paths  Ensure that architecture evolution plans are technically sound  Make engineering tradeoffs between alternative paths of evolution

5 ICSE 2009 © David Garlan & Bradley Schmerl 5 Questions we might like to answer How can we stage the evolution to achieve business goals, given limited development resources? Are there technical constraints on how we stage the evolution? How can we make principled tradeoffs between benefits, time, development cost, and risk? Which kinds of changes can be made independently, and which require coordinated system-wide modifications? How can an evolution plan be represented and communicated within an organization?

6 Observations There are many facets to this problem  Business and organizational context  Architectural structures  Software structures  Technology In this work we focus on Architectural Structures  Specifically, component and connector architectures  Support for high-level planning  Provide bridge between business requirements and software/implementation structure ICSE 2009 © David Garlan & Bradley Schmerl 6

7 ICSE 2009 © David Garlan & Bradley Schmerl 7 Foundations We can characterize AE as path selection in a large state machine  nodes represent individual architectures  arcs represent transformations between architectures  the initial state is the architecture of the current system  the final states are desirable target architectures  an evolution path is a path from the initial state to a final state

8 Architecture Evolution 8 Current System Target System Time path ICSE 2009 © David Garlan & Bradley Schmerl

9 ICSE 2009 © David Garlan & Bradley Schmerl 9 Analysis of Evolution Paths Annotate paths with cost/benefit properties  Benefits of nodes; costs of transitions Benefits  Capabilities delivered, quality attributes, evolvability Costs  Time, effort, $ We can then calculate utility of paths  Economic (e.g., Options); Planning (Markov chains) The problem: select a path from the initial state to a final state that maximizes utility benefits costs

10 Ævol A tool that allows an architect to  Construct architecture evolution paths Nodes linked to architecture representations  Compare architecture instances on those paths Identify differences between two nodes  Associate properties with nodes and arcs Appropriate to domain and business context  Analyze paths Using one or more analyses A framework ICSE 200910 © David Garlan & Bradley Schmerl

11 Ævol Extension Points Ævol Framework algorithm Comparison algorithm algorithm Properties algorithm Path Analysis Diagramming Architecture Tool ICSE 200911 © David Garlan & Bradley Schmerl

12 ICSE 2009 © David Garlan & Bradley Schmerl 12 Ævol Demo

13 On-going Work Evolution styles  Define families of evolution paths with similar characteristics  Provide domain-specific transformation operators  Enforce path constraints  Support specialized analysis Linkages to  cost estimation tools  code management tools Automated path generation and exploration ICSE 2009 © David Garlan & Bradley Schmerl 13

14 ICSE 2009 © David Garlan & Bradley Schmerl 14 Related Work Software evolution  Lots of work in this area – mostly focused on code structures: refactoring, configuration management, dependency analysis, etc. Architecture evolution  Architecture differencing and variation tracking Architecture transformation  Dynamic ADLs, graph grammars, etc. Planning  Project management tools  AI  Economics

15 ICSE 2009 © David Garlan & Bradley Schmerl 15 For more information “Evolution Styles: Formal foundations and tool support for software architecture evolution.” David Garlan. CMU-CS-08-142, June 2008. “Towards Engineered Architecture Evolution” Sagar Chaki, Andres Diaz-Pace, David Garlan, Arie Gurfinkel, Ipek Ozkaya. ICSE MiSE 2009.


Download ppt "Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University."

Similar presentations


Ads by Google