+ All Categories
Home > Documents > Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon...

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

Date post: 13-Jan-2016
Category:
Upload: amelia-potter
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
15
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University
Transcript
Page 1: Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.

Ævol : A Tool for Planning Architecture EvolutionDavid Garlan & Bradley Schmerl

Carnegie Mellon University

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

© David Garlan & Bradley Schmerl

2ICSE 2009

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

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

© David Garlan & Bradley Schmerl

3ICSE 2009

Architecture Examples

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

© David Garlan & Bradley Schmerl

4ICSE 2009

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

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

© David Garlan & Bradley Schmerl

5ICSE 2009

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?

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

© David Garlan & Bradley Schmerl

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

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

© David Garlan & Bradley Schmerl

7ICSE 2009

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

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

© David Garlan & Bradley Schmerl

8

Architecture Evolution

Current System

Target System

Time

path

ICSE 2009

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

© David Garlan & Bradley Schmerl

9ICSE 2009

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

benefitscosts

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

© David Garlan & Bradley Schmerl

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 2009

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

© David Garlan & Bradley Schmerl

11

Ævol Extension Points

Ævol Framework

algo

rithm

algo

rithm

Co

mp

arison

alg

orith

m

algorithmalgorithmProperties

algo

rithm

algo

rithm

Path

An

alysis

Diagramming

Architecture Tool

ICSE 2009

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

© David Garlan & Bradley Schmerl

12ICSE 2009

Ævol Demo

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

© David Garlan & Bradley Schmerl

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

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

© David Garlan & Bradley Schmerl

14ICSE 2009

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

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

© David Garlan & Bradley Schmerl

15ICSE 2009

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.


Recommended