a framework for model-driven evolution in families of software architectures

52
Lero© 2011 A Framework for Model-Driven Evolution in Families of Software Architectures Pooyan Jamshidi Lero - The Irish Software Engineering Research Centre, School of Computing, Dublin City University http://www.computing.dcu.ie/~pjamshidi/ [email protected] upervisor: Claus Pahl tart Date: Dec. 2010

Upload: pooyan-jamshidi

Post on 23-Dec-2014

491 views

Category:

Technology


3 download

DESCRIPTION

Lero Doctoral Symposium

TRANSCRIPT

Page 1: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

A Framework for Model-Driven Evolution in Families of Software Architectures

Pooyan JamshidiLero - The Irish Software Engineering Research Centre,

School of Computing, Dublin City University http://www.computing.dcu.ie/~pjamshidi/

[email protected]

Supervisor: Claus PahlStart Date: Dec. 2010

Page 2: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Overview• Context: During software lifecycle the

models at different levels such as process and architecture may evolve independently.

• Problem: Considering the evolution in families of software architectures then the changes at different abstraction become intertwined. Unfortunately, architects have few tools to help plan and execute such complicated changes. Therefore, the architecture “stays behind” (drifts) and becomes eroded!

• Objective: How to specify such changes and how to enable the architecture evolution in an automated fashion

• Tangible Outcome: Framework that support the automated architecture evolution 2

Page 3: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Agenda Motivations Background and Context Research Problem Research Method Summary of research to date Plan for next 12 months

3

Page 4: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Motivation behind Architecture Evolution

• Capability — to support new features or changes to existing features

• Reusability — to cut and make artifacts for reuse in other software applications

• Extensibility — to accommodate the potential future extensions

• Maintainability — to reduce the cost of software maintenance through restructuring

4

Page 5: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Architecture Evolution Questions

• How should we execute the evolution to achieve our goals, given limited resources?

• How can we be certain that intermediate releases do not break existing architectural constraints?

• How can we make tradeoffs between time, cost, development effort, risk, etc.?

• How can we represent and communicate an architecture evolution plan?

5

Page 6: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

A Model of Architecture Evolution

6

[David Garlan et al.]

Page 7: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Product Line Evolution in 2 Dimensions

7

P1V1

P2V1

P2V2

PmV1

PmV3

P2V3

P1V3

PmV2

PmVn

P2Vn

P1Vn

P1V2

New Releases

New

Pro

duct

s

Page 8: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

What We Can Do: Capture and Reuse it!

• Architectural evolution is a costly yet unavoidable

• Architecture evolution appear to follow certain common patterns [Evolution Style by David Garlan et al.] [Tamzalit et al.], particularly for families of applications.

• By taking advantage of this, we can provide automated assistance for capturing and reusing knowledge about architectural evolution.

8

Page 9: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Tangible Example: Change Pattern

9

[David Garlan et al.]

Page 10: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Potential Benefits

• Raising the level of abstraction of evolution, reuse, decision automation, and formal guarantees of correctness. Moreover, in the context of SPL, this is necessary to reason about how the change could impact the commonality, variability, and their interdependence.

• The ultimate objective: to facilitate controlled architecture modifications through reusable change patterns

10

Page 11: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Agenda Motivations Background and Context Research Problem Research Method Summary of research to date Plan for next 12 months

11

Page 12: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

State of the Art

12

• State-based PLAs: explicitly captures the versions of artifacts in terms of revisions and variants, which are stored in a repository (SCM system). Examples: Ménage, Mae

• Change-based PLAs: stores the deltas resulting from changes in the repository, Examples: EASEL, COVAMOF

• Hybrid Approach: At the PLA level, change sets represent collections of related changes across architectural elements, at the SCM level, the variation introduced at the architectural level is kept in a configuration model, Example: CHS

Page 13: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Addressed Challenges

• Mapping Architecture to Code: through a configuration model that is mapped onto source code

• Maintaining Architectural Consistency: through restricting the kinds of changes that the developer can make to code

• Evolving the Architecture: through reorganizing the code base to maintain consistency with the new PLA

• Deriving Products: through automated product derivation process based on SCM

13

Page 14: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Shortcomings and ChallengesI. State-based PLAs track the evolution of both individual

elements and the overall PLA instead of enabling it.II. Invalid products may be composed out of change sets that

contain conflicting or dependent changes.III. Planning evolution would be a pure technical activity since

the change-sets are at the technical architecture against problem space artifacts such as feature models.

IV. Those approaches that considers feature based evolution suppose a 1-to-1 relationship to PLA.

V. Both approaches have not considered the architectural constraints that should be preserved during evolution.

14

Page 15: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Primary Research Question

RQ0: “How to manage property preserving architectural changes in families of architectures modeled in different description languages effectively (change pattern) and efficiently (automated)?"

15

Page 16: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Property=Architectural Constraint

Concepts in architecture

Constraint

Architecture Model

Use

Satisfy

Conform

Meta-model (MM)

Use

Each architecture model satisfies specific sets of constraints which are described by some kind of formalism mostly as a logic language interweave with the architectural concepts.

16

Page 17: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Characteristics of architectural constraints

• Scope: Global or Local• Level of obligation: obligatory or tentative• Level of rigour: informal or semi-formal or

formal• Instances: primitive, pattern, micro-structure,

style, choice, design pattern, invariant, decision, crosscutting concern, coordination, temporal, pre-post- condition

17

Page 18: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Intertwined Changes in Families of Software Architectures

18

Architecture-centric evolution in SPL:• Impact of each variable

feature on the software architecture (derivation of the product’s architecture)

• Evolving the architecture to address the feature (after original deployment)

Page 19: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Motivating Example: Core Platform (V1)

19

Page 20: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Product 1 (V1)

20

Changed models: BPM, FM

A violation of a well-formed-ness constraint in the BPM

Page 21: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Core Platform (V1)

21

Page 22: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Product 2 (V1)

22

Changed models: FM, ADM

Page 23: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Core Platform (V1)

23

Page 24: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Core Platform (V1.1)

24

Page 25: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Agenda Motivations Background and Context Research Problem Research Method Summary of research to date Plan for next 12 months

25

Page 26: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Hypothesis

H1: Capturing the change description and store them into an integrated meta-model regarding these diverse models consisting of elements with heterogeneous types could enable the property-preserving architectural change management in families of architectures.

26

Page 27: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Hypothesis

H2: The implementation of the integrated meta-model and application of a formal approach to architecture evolution process could ensure verification of evolved architectural properties.

27

Page 28: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Example: change pattern, architectural constraints, preservation, formal foundation

[Costa-Soria and Heckel 2009] 28

Page 29: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Detailed Research Questions

• RQ1: How to preserve the architectural constraints during the PLA evolution?

• RQ2: How to support identification and application of reusable changes during the PLA evolution?

• RQ3: How to determine proper consequential changes during the PLA evolution?

29

Page 30: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Architectural Constraint Preservation

30

Page 31: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Solution Components

• SC1: Integrated meta-model that facilitates capturing the evolution

• SC2: Integrated environment (prototype) that supports managing the evolution

• SC3: Formal foundations based on typed graph transformation systems to describe the semantics of the evolution

31

Page 32: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Project Objectives

• Productivity: the automation of consequential changes and also analysis of them with appropriate architect’s intervention

• Changeability: To provide mechanisms to change the several aspects of families of related products seamlessly

• Reusability: specifying change patterns that allows for possible reuse of architectural change operations over families of related architectures

32

Page 33: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Agenda Motivations Background and Context Research Problem Research Method Summary of research to date Plan for next 12 months

33

Page 34: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Research Method

Unfreezing : Diagnosis, Action Planning(Problem Identification, Project Scope)

Changing: Intervention (Deliverables)

Refreezing: Evaluation, Reflection (Validation)

Planning Action ResultState of the Art

Motivation Example

Research Problem:Research questions, Hypothesis, Solution componentsTheoretical foundations

Initial structure of the solution

Evaluation:Case studyFormal Proofs

Write-up

Integrated meta-model

Integrated environment (proof of concept)

Formal foundations (Theory)

Cyclical Process Model (CPM): • Attempts at solving a real world problem • Simultaneously investigating the experience and improving the solution

34

Page 35: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Agenda Motivations Background and Context Research Problem Research Method Summary of research to date Plan for next 12 months

35

Page 36: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Summary of research to date

• Literature has been reviewed with a systematic approach.

• Research problem has been identified: main research question, hypothesis, subsequent research questions, and solution component have been stabilized.

• Theoretical foundations have been investigated.• Initial structure of the framework has been

designed.

36

Page 37: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Agenda Motivations Background and Context Research Problem Research Method Summary of research to date Plan for next 12 months

37

Page 38: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Plan for next 12 months

• Finalizing the elements in the constituting models

• Devising mechanisms for formal architectural constraint representation and constraint preserving evolution according to the framework

• Identifying catalogue of patterns for changes • Discovering the relationships of the change

patterns

38

Page 39: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Plan for next 12 months

• To utilize consistency and validation rules to verify the evolved models and to handle inconsistencies

• Investigation of the tools that are existed in the domain of SPL

• Investigation of the repositories storing the SPL development data

• Deep investigation of the formalism that we are going to adopt

39

Page 40: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Any Questions

?!

40

Page 41: A Framework for Model-Driven Evolution in Families of Software Architectures

Lero© 2011

Backup Materials

41

Page 42: A Framework for Model-Driven Evolution in Families of Software Architectures

Definitions: Change, Software Architecture

• Micro-Level– Code: =, ==– Implementation level decisions: bug-fixing• Macro-Level– Design elements: class, relationships…– API design, References problems, Exception-Handling• Architecture-Level: (Shaw, Garlan, and Taylor)– Components, Connectors, configuration– Adding, removing, updating architecturally significant elements

42

Page 43: A Framework for Model-Driven Evolution in Families of Software Architectures

EShop monolithic architecture

43

[Tamzalit et al. ]

Page 44: A Framework for Model-Driven Evolution in Families of Software Architectures

Evolved client-server EShop architecture

44

Page 45: A Framework for Model-Driven Evolution in Families of Software Architectures

Tangible Example

45

[David Garlan et al.]

Page 46: A Framework for Model-Driven Evolution in Families of Software Architectures

levels of modeling and constraints

M1 M2

MM1 MM2

PM1 PM2

PM1’ PM2’

C1

C1’’

C1’

C1

C2

C2’’

C2’

C2

DefinesDefines

AugmentsAugmentsAugments

Augments

Validates

Validates

Validates Validates

Validates

Validates

MM/ML1 MM/ML 2CL1 CL2

46

Page 47: A Framework for Model-Driven Evolution in Families of Software Architectures

Research questions, hypothesis, solution components

RQ0

H1 H2

RQ1 RQ2 RQ3

SC1 SC2-3

47

Page 48: A Framework for Model-Driven Evolution in Families of Software Architectures

48

The Constituting Models and Their Associated Meta-models

Page 49: A Framework for Model-Driven Evolution in Families of Software Architectures

49

Software Architecture Evolution Environment (Black Box)

Page 50: A Framework for Model-Driven Evolution in Families of Software Architectures

50

Software Architecture Evolution Environment (structure viewpoint)

Page 51: A Framework for Model-Driven Evolution in Families of Software Architectures

51

Change-Sets Example

[Scott A. Hendrickson and André van der Hoek]

Page 52: A Framework for Model-Driven Evolution in Families of Software Architectures

52

State-based Example

[ROSHANAK ROSHANDEL, et al.]