+ All Categories
Home > Technology > MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

Date post: 05-Dec-2014
Category:
Upload: heiko-koziolek
View: 675 times
Download: 5 times
Share this document with a friend
Description:
Managing the cost-effective evolution of industrial software systems is a challenging task because of their complexity and long lifetimes. Limited pro-active evolution planning and software architecture erosion often lead to huge maintenance costs in such systems. However, formerly researched approaches for evolution scenario analysis and architecture enforcement are only reluctantly applied by practitioners due to their perceived overhead and high costs. We have applied several recent sustainability evaluation and improvement approaches in a case study to the software architecture of a large industrial software system currently under development at ABB. We combined our selection of approaches in a lightweight method called MORPHOSIS, for which this paper presents experiences and lessons learned. We found that reasonable sustainability evaluation and improvement is possible already with limited efforts.
11
MORPHOSIS A Case Study on Lightweight Architecture Sustainability Analysis Heiko Koziolek, Dominik Domis, Thomas Goldschmidt, Philipp Vorst, Roland Weiss ABB Corporate Research, Ladenburg, Germany © ABB August 24, 2012 | Slide 1
Transcript
Page 1: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

MORPHOSISA Case Study on Lightweight Architecture Sustainability Analysis

Heiko Koziolek, Dominik Domis, Thomas Goldschmidt, Philipp Vorst, Roland WeissABB Corporate Research, Ladenburg, Germany

© ABBAugust 24, 2012 | Slide 1

Page 2: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

Large-scale Industrial Control SystemsChallenge: Software Architecture Erosion

© ABB August 24, 2012 | Slide 2

Circles = components, Colors = subsystems, Size = lines of code, Arrows = dependencies

Page 3: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

MORPHOSISMulti-perspective SW Architecture Analysis Method

© ABB August 24, 2012 | Slide 3

Page 4: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

Evolution Scenario AnalysisMethod

H. KoziolekSustainability evaluation of software architectures: A systematic review. Proc. QoSA'11, p. 3-12, ACM, June 2011.

P. Bengtsson, N. Lassing, J. Bosch, and H. van Vliet,Architecture-level modifiability analysis (ALMA)Journal of Systems and Software, vol. 69, no. 1-2, pp. 129–147, 2004

P. Clements, R. Kazman, and M. Klein, Evaluating software architectures: methods and case studies. Addison-Wesley, Reading, MA, 2002.

1. Literature search:sustainability

evaluation of software architectures

2. Top Down Elicitation:

8 interviews with domain experts

3. Bottom Up Elicitation:

3-month job rotation, document analysis

Selected method: (enhanced) ALMA

List of 31 generic evolution scenarios

4. Artifact analysis:Models, code, docs; additional interviews

7 refined, priorized evolution scenarios

7 evolution scenarios most

relevant for SUS

© ABB August 24, 2012 | Slide 4

Page 5: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

Evolution Scenario AnalysisResults

2011 2012 2013 2014 2015 2016 20170

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Scenario 3

Scenario 4

Scenario 5

Scenario 6

Scenario 7

Scenario 1

Scenario 2

Year when the evolution scenario becomes relevant

Oc

cu

rre

nc

e P

rob

ab

ility

Status:

mid 2011

2013

In research

2016

Unlikely in 2013

Discarded

Project started

In research

mid 2012

© ABB August 24, 2012 | Slide 5

Page 6: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

Architectural Enforcement Derived Module Dependency Rules from UML Tool

Goal: Automatic checking of allowed dependencies

Derived dependency rules from UML layer diagrams

Created name mapping from modules in UML to code

Constructed CQL rule for each module

class Module Structure: Operations Client

«layer»Runtime System Access

«layer»Operations Client Libraries and APIs

«layer»Portability Layer

«layer»Presentation Layer

«layer»Hardware Platform

«layer».NET Framework Core

«layer».NET Framework WCF

«layer».NET Framework WPF

«layer»Windows Operating System

«layer»BCL

«group»Operation Client Serv ices

«group»Presentation Element

«group»Workplace

«module»RuntimeSystemAccessDefinitions

«module»RuntimeSystemAccessCore

«module»RuntimeObjectModel «

allo

we

d to

use

»

«allow to use»

«allowed to use»

«allowed to use»

«a

llow

ed

to u

se

»

«a

llow

ed

to u

se

»«allow to use»

«allowed to use»

«allow to use»

«a

llow

ed

to u

se

»

«allowed to use»

«allowed to use»

Enterprise Architect UML model NDepend CQL rule(Code Query Language)

© ABB August 24, 2012 | Slide 6

Page 7: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

Architecture-level Metric Tracking

© ABB August 24, 2012 | Slide 7

Page 8: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

Architecture-level Metric TrackingExample: Module Interaction Stability

Characterizes software according to the principle of Maximization of Stand-Alone Extensibility

Promotes the use of stable modules in lower layers

Layer 4

Layer 3

Layer 2

Layer 1

Modules m depends on

Instability of a module

1 1

0.660.5

0 0 0

0.5 0.6 0.5 Modules that depend on m

Set of stable dependencies to lower layers

For all modules

S. Sarkar, G. M. Rama, and A. C. Kak, “API-based and information-theoretic metrics for measuring the quality of software modularization,” IEEE Trans. Softw. Eng., vol. 33, pp. 14–32, January 2007.

© ABB August 24, 2012 | Slide 8

Page 9: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

MORPHOSISLessons learned

Perceived good cost / benefit ratio

Low analysis overhead, high automation

However: benefits are not quantified yet

Quantifying the costs for evolution scenarios is hard

Impact prediction difficult if code not available

Externalizing and prioritizing evolution scenarios provides focus to plan mitigation measures

Architecture enforcement raises developer awareness

Higher regard for the architecture description

High developer interest in metrics

Desire to improve quality, less concerned about being judged

© ABB August 24, 2012 | Slide 1

Page 10: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

MORPHOSISConclusions

Evolution Scenario Analysis

Provided detailed description template

Architecture Enforcement

Integrated rules from UML model into build process

Architecture-level Metrics Tracking

Automated tracking of novel architecture metrics

Future Work

Re-evaluate / add evolution scenarios

Conduct a longitudinal study correlating metrics to actual maintenance costs

© ABB August 24, 2012 | Slide 1

Page 11: MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis

Recommended