Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel...

62
Model-Driven Instrumentation for Dynamic Analysis of Legacy Software Systems André van Hoorn 1 , Holger Knoche 2 , Wolfgang Goerigk 2 , and Wilhelm Hasselbring 1 1 Software Engineering Group, University of Kiel, Germany 2 b+m Informatik AG, Melsdorf, Germany May 03, 2011 @ WSR 2011, Bad Honnef

Transcript of Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel...

Page 1: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Model-Driven Instrumentationfor Dynamic Analysis

of Legacy Software Systems

André van Hoorn1, Holger Knoche2,Wolfgang Goerigk2, and Wilhelm Hasselbring1

1Software Engineering Group, University of Kiel, Germany2b+m Informatik AG, Melsdorf, Germany

May 03, 2011 @ WSR 2011, Bad Honnef

May 03, 2011 @ WSR, Bad Honnef

hc
Schreibmaschinentext
hc
Schreibmaschinentext
Preprint: van Hoorn, A., Knoche, H., Goerigk, W. and Hasselbring, W. (2011) Model-Driven Instrumentation for Dynamic Analysis of Legacy Software Systems [Paper] In: 13th Workshop Software-Reengineering(WSR 2011), May 2-4, 2011, Bad Honnef, Germany.
hc
Schreibmaschinentext
hc
Schreibmaschinentext
hc
Schreibmaschinentext
hc
Schreibmaschinentext
hc
Schreibmaschinentext
hc
Schreibmaschinentext
hc
Rechteck
Page 2: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Context — DynaMod ProjectContext & Motivation

Dynamic Analysis forModel-Driven Software Modernization

WP 7 Project Management WP 8 Publication of Results

Static Analysis

Dynamic Analysis

Model-BasedTesting

Code Generation

Definition of Transformations

Evaluation

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 2 / 15

Page 3: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Context — DynaMod ProjectContext & Motivation

Dynamic Analysis forModel-Driven Software Modernization

Project Consortium:

1 b+m Informatik AG(Development partner, consortium leader)

• Comprehensive MDSD know-how• Initiated openArchitectureWare (oAW)

2 Software Engineering Group, Univ. Kiel(Research partner)

3 Dataport(Associated partner)

4 HSH Nordbank AG(Associated partner)

b+m Informatik AG, Melsdorfhttp://www.bmiag.de/

Software Engineering GroupUniversity of Kiel, Kielhttp://se.informatik.uni-kiel.de/

HSH Nordbank AG, Kielhttp://www.hsh-nordbank.de/

Dataport, Altenholzhttp://www.dataport.de/

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 2 / 15

Page 4: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Context — DynaMod ProjectContext & Motivation

Dynamic Analysis forModel-Driven Software Modernization

Project Consortium:

1 b+m Informatik AG(Development partner, consortium leader)

• Comprehensive MDSD know-how• Initiated openArchitectureWare (oAW)

2 Software Engineering Group, Univ. Kiel(Research partner)

• Model-driven engineering, operation,and evolution of software systems

• Emphasis on software quality (of service)

3 Dataport(Associated partner)

4 HSH Nordbank AG(Associated partner)

b+m Informatik AG, Melsdorfhttp://www.bmiag.de/

Software Engineering GroupUniversity of Kiel, Kielhttp://se.informatik.uni-kiel.de/

HSH Nordbank AG, Kielhttp://www.hsh-nordbank.de/

Dataport, Altenholzhttp://www.dataport.de/

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 2 / 15

Page 5: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Context — DynaMod ProjectContext & Motivation

Dynamic Analysis forModel-Driven Software Modernization

Project Consortium:

1 b+m Informatik AG(Development partner, consortium leader)

• Comprehensive MDSD know-how• Initiated openArchitectureWare (oAW)

2 Software Engineering Group, Univ. Kiel(Research partner)

• Model-driven engineering, operation,and evolution of software systems

• Emphasis on software quality (of service)

3 Dataport(Associated partner)

• Provides ICT services for public/taxadministrations

4 HSH Nordbank AG(Associated partner)

b+m Informatik AG, Melsdorfhttp://www.bmiag.de/

Software Engineering GroupUniversity of Kiel, Kielhttp://se.informatik.uni-kiel.de/

HSH Nordbank AG, Kielhttp://www.hsh-nordbank.de/

Dataport, Altenholzhttp://www.dataport.de/

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 2 / 15

Page 6: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Context — DynaMod ProjectContext & Motivation

Dynamic Analysis forModel-Driven Software Modernization

Project Consortium:

1 b+m Informatik AG(Development partner, consortium leader)

• Comprehensive MDSD know-how• Initiated openArchitectureWare (oAW)

2 Software Engineering Group, Univ. Kiel(Research partner)

• Model-driven engineering, operation,and evolution of software systems

• Emphasis on software quality (of service)

3 Dataport(Associated partner)

• Provides ICT services for public/taxadministrations

4 HSH Nordbank AG(Associated partner)

• Leading bank for corporate and private clients innorthern Germany

b+m Informatik AG, Melsdorfhttp://www.bmiag.de/

Software Engineering GroupUniversity of Kiel, Kielhttp://se.informatik.uni-kiel.de/

HSH Nordbank AG, Kielhttp://www.hsh-nordbank.de/

Dataport, Altenholzhttp://www.dataport.de/

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 2 / 15

Page 7: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Context — DynaMod ProjectContext & Motivation

Dynamic Analysis forModel-Driven Software Modernization

Project Consortium:

1 b+m Informatik AG(Development partner, consortium leader)

2 Software Engineering Group, Univ. Kiel(Research partner)

3 Dataport(Associated partner)

4 HSH Nordbank AG(Associated partner)

Funding:

• BMBF “KMU-innovativ”

• 2 years (01/11–12/12)

Under grant no. 01IS10051

Read More:• http://kosse-sh.de/dynamod/

• MDSM @ CSMR 2011 [vHFG+11]

b+m Informatik AG, Melsdorfhttp://www.bmiag.de/

Software Engineering GroupUniversity of Kiel, Kielhttp://se.informatik.uni-kiel.de/

HSH Nordbank AG, Kielhttp://www.hsh-nordbank.de/

Dataport, Altenholzhttp://www.dataport.de/

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 2 / 15

Page 8: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Context — DynaMod ProjectContext & Motivation

Dynamic Analysis forModel-Driven Software Modernization

WP 7 Project Management WP 8 Publication of Results

Static Analysis

Dynamic Analysis

Model-BasedTesting

Code Generation

Definition of Transformations

Evaluation

b+m Informatik AG, Melsdorfhttp://www.bmiag.de/

Software Engineering GroupUniversity of Kiel, Kielhttp://se.informatik.uni-kiel.de/

HSH Nordbank AG, Kielhttp://www.hsh-nordbank.de/

Dataport, Altenholzhttp://www.dataport.de/

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 2 / 15

Page 9: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Dynamic Analysis of Software Runtime Behavior

Context & Motivation

Motivation

Static analysis is not sufficient to study a system’s architecture comprehensively

How to Gather Runtime Data from Executing Systems? — Instrumentation

• Profiling — employed in development environments; considerable performance overhead

• Monitoring — employed in production environments; captures real usage profile

Use Cases — Online & Offline Analysis

The obtained monitoring data can, for instance, be used for

• Performance evaluation (e.g., bottleneck detection)• (Self-)adaptation control (e.g., capacity management)• Application-level failure detection and diagnosis• Service-level management• Software reengineering: (architecture) reconstruction, modernization

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 3 / 15

Page 10: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Dynamic Analysis of Software Runtime Behavior

Context & Motivation

Motivation

Static analysis is not sufficient to study a system’s architecture comprehensively

How to Gather Runtime Data from Executing Systems? — Instrumentation

• Profiling — employed in development environments; considerable performance overhead

• Monitoring — employed in production environments; captures real usage profile

Use Cases — Online & Offline Analysis

The obtained monitoring data can, for instance, be used for

• Performance evaluation (e.g., bottleneck detection)• (Self-)adaptation control (e.g., capacity management)• Application-level failure detection and diagnosis• Service-level management• Software reengineering: (architecture) reconstruction, modernization

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 3 / 15

Page 11: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Dynamic Analysis of Software Runtime Behavior

Context & Motivation

Motivation

Static analysis is not sufficient to study a system’s architecture comprehensively

How to Gather Runtime Data from Executing Systems? — Instrumentation

• Profiling — employed in development environments; considerable performance overhead

• Monitoring — employed in production environments; captures real usage profile

Use Cases — Online & Offline Analysis

The obtained monitoring data can, for instance, be used for

• Performance evaluation (e.g., bottleneck detection)• (Self-)adaptation control (e.g., capacity management)• Application-level failure detection and diagnosis• Service-level management

• Software reengineering: (architecture) reconstruction, modernization

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 3 / 15

Page 12: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Dynamic Analysis of Software Runtime Behavior

Context & Motivation

Motivation

Static analysis is not sufficient to study a system’s architecture comprehensively

How to Gather Runtime Data from Executing Systems? — Instrumentation

• Profiling — employed in development environments; considerable performance overhead

• Monitoring — employed in production environments; captures real usage profile

Use Cases — Online & Offline Analysis

The obtained monitoring data can, for instance, be used for

• Performance evaluation (e.g., bottleneck detection)• (Self-)adaptation control (e.g., capacity management)• Application-level failure detection and diagnosis• Service-level management• Software reengineering: (architecture) reconstruction, modernization

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 3 / 15

Page 13: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AgendaAgenda

1 Context & Motivation

2 Model-Driven Instrumentation for Dynamic Analysis

3 AOP for Legacy Languages

4 Monitoring Instrumentation

5 Conclusions

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 4 / 15

Page 14: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AgendaModel-Driven Instrumentation for Dynamic Analysis

1 Context & Motivation

2 Model-Driven Instrumentation for Dynamic Analysis

3 AOP for Legacy Languages

4 Monitoring Instrumentation

5 Conclusions

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 5 / 15

Page 15: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

OverviewModel-Driven Instrumentation for Dynamic Analysis

Imple

men

tation

Arc

hite c

ture

Dom

ain

AST

Code

DSL

ADL

Shop

search()

Instr.code

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 6 / 15

Page 16: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

OverviewModel-Driven Instrumentation for Dynamic Analysis

Imple

men

tation

Arc

hite c

ture

Dom

ain

AST

Code

DSL

ADL

Shop

search()

Instr.code

Model

- Drive

nSoftw

a re

Dev

elopm

e nt

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 6 / 15

Page 17: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

OverviewModel-Driven Instrumentation for Dynamic Analysis

Imple

men

tation

Arc

hite c

ture

Dom

ain

AST

Code

DSL

ADL

Shop

search()

Instr.code

Model

- Drive

nSoftw

a re

Dev

elopm

e nt

Sta

tic

Anal

ysi s

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 6 / 15

Page 18: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

OverviewModel-Driven Instrumentation for Dynamic Analysis

Imp

lem

enta

tio

nA

rch

ite c

ture

Do

mai

n

AST

Code

DSL

ADL

Shop

search()

Instr.code

Mo

del

- Dri

ven

So

ftw

a re

Dev

elo

pm

e nt

Sta

tic

An

alys

i s

Queries

AnalysisMeasures

InstrumentationDirectives

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 6 / 15

Page 19: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

OverviewModel-Driven Instrumentation for Dynamic Analysis

Imp

lem

enta

tio

nA

rch

ite c

ture

Do

mai

n

AST

Code

DSL

ADL

Shop

search()

Instr.code

Mo

del

- Dri

ven

So

ftw

a re

Dev

elo

pm

e nt

Sta

tic

An

alys

i s

Queries

AnalysisMeasures

InstrumentationDirectives

<<OpExecProbe>>

<<RespTReq>>

<<AvgRespT>>

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 6 / 15

Page 20: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

OverviewModel-Driven Instrumentation for Dynamic Analysis

Imp

lem

enta

tio

nA

rch

ite c

ture

Do

mai

n

AST

Code

DSL

ADL

Shop

search()

Instr.code

Mo

del

- Dri

ven

So

ftw

a re

Dev

elo

pm

e nt

Sta

tic

An

alys

i s

Queries

AnalysisMeasures

InstrumentationDirectives

<<OpExecProbe>>

<<RespTReq>>

<<AvgRespT>>

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 6 / 15

Page 21: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

OverviewModel-Driven Instrumentation for Dynamic Analysis

Imp

lem

enta

tio

nA

rch

ite c

ture

Do

mai

n

AST

Code

DSL

ADL

Shop

search()

Instr.code

Mo

del

- Dri

ven

So

ftw

a re

Dev

elo

pm

e nt

Sta

tic

An

alys

i s

Queries

AnalysisMeasures

InstrumentationDirectives

<<OpExecProbe>>

<<RespTReq>>

<<AvgRespT>>

Mo

del

- Dri

ven

Inst

rum

enta

tio

n

'@intercept#Call:CallProbe[]Call bookstore.searchBook

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 6 / 15

Page 22: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

OverviewModel-Driven Instrumentation for Dynamic Analysis

Imp

lem

enta

tio

nA

rch

ite c

ture

Do

mai

n

AST

Code

DSL

ADL

Shop

search()

Instr.code

Mo

del

- Dri

ven

So

ftw

a re

Dev

elo

pm

e nt

Sta

tic

An

alys

i s

Queries

AnalysisMeasures

InstrumentationDirectives

<<OpExecProbe>>

<<RespTReq>>

<<AvgRespT>>

Mo

del

- Dri

ven

Inst

rum

enta

tio

n

'@intercept#Call:CallProbe[]Call bookstore.searchBook

Dyn

amic

An

alys

is

MonitoringEvents

Measure-ments

:AvgRTval=730

:EvalResval=true

:OpExectin=211tout=955

Results

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 6 / 15

Page 23: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 24: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 25: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 26: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

CatalogBookstore

searchBook()

DADL (DynaMod ADL)

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 27: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

CatalogBookstore

searchBook()

DADL (DynaMod ADL)DMeasures

:OperationInvocationCountMeasure

:AvgOperationRTMeasure

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 28: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

CatalogBookstore

searchBook()

DADL (DynaMod ADL)DMeasures

:OperationInvocationCountMeasure

:AvgOperationRTMeasure

DInstrumentation

:OperationExecutionProbe

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 29: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

CatalogBookstore

searchBook()

DADL (DynaMod ADL)DMeasures

:OperationInvocationCountMeasure

:AvgOperationRTMeasure

DInstrumentation

:OperationExecutionProbe

+AST

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 30: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

CatalogBookstore

searchBook()

DADL (DynaMod ADL)DMeasures

:OperationInvocationCountMeasure

:AvgOperationRTMeasure

DInstrumentation

:OperationExecutionProbe

+AST

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook","CRM", "getOffers"]

Instrumented

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 31: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

CatalogBookstore

searchBook()

DADL (DynaMod ADL)DMeasures

:OperationInvocationCountMeasure

:AvgOperationRTMeasure

DInstrumentation

:OperationExecutionProbe

+AST

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook","CRM", "getOffers"]

Instrumented

MonitoringRecord MonitoringEvents

:OperationExecutionRecord

tin=34tout=38

class="CRM"operation="getOffers"

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 32: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

CatalogBookstore

searchBook()

DADL (DynaMod ADL)DMeasures

:OperationInvocationCountMeasure

:AvgOperationRTMeasure

DInstrumentation

:OperationExecutionProbe

+AST

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook","CRM", "getOffers"]

Instrumented

MonitoringRecord MonitoringEvents

:OperationExecutionRecord

tin=34tout=38

class="CRM"operation="getOffers"

DEvent MonitoringEvents

:OperationExecution

tin=34tout=38

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 33: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Overview—DynaMod ExamplesModel-Driven Instrumentation for Dynamic Analysis

Public Sub searchBook()...

crm.getOffersEnd Sub

Code

e[]k

AST

CatalogBookstore

searchBook()

DADL (DynaMod ADL)DMeasures

:OperationInvocationCountMeasure

:AvgOperationRTMeasure

DInstrumentation

:OperationExecutionProbe

+AST

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook","CRM", "getOffers"]

Instrumented

MonitoringRecord MonitoringEvents

:OperationExecutionRecord

tin=34tout=38

class="CRM"operation="getOffers"

DEvent MonitoringEvents

:OperationExecution

tin=34tout=38

DMeasurementst

:AvgOperationRT

avgRTMillis=5676

Measurements

count=67643:OperationInvocationCount

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 7 / 15

Page 34: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AgendaAOP for Legacy Languages

1 Context & Motivation

2 Model-Driven Instrumentation for Dynamic Analysis

3 AOP for Legacy Languages

4 Monitoring Instrumentation

5 Conclusions

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 8 / 15

Page 35: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 36: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook", "CRM", "getOffers"]

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 37: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook", "CRM", "getOffers"]

before(IcptOpCall)after(IcptOpCall)

OpCallIcptr

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 38: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook", "CRM", "getOffers"]

before(IcptOpCall)after(IcptOpCall)

OpCallIcptr

callerClass:StringcallerMethod:StringcalleeClass:StringcalleeMethod:Stringobject:Variant

IcptOpCall

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 39: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook", "CRM", "getOffers"]

before(IcptOpCall)after(IcptOpCall)

OpCallIcptr

callerClass:StringcallerMethod:StringcalleeClass:StringcalleeMethod:Stringobject:Variant

IcptOpCall

Private Sub Class_Initialize()...

End Sub

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 40: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook", "CRM", "getOffers"]

before(IcptOpCall)after(IcptOpCall)

OpCallIcptr

callerClass:StringcallerMethod:StringcalleeClass:StringcalleeMethod:Stringobject:Variant

IcptOpCall

Private Sub Class_Initialize()...

End Sub

'@intercept"Class_Initialize"]

#Execution:OpExecIcptr["Bookstore",

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 41: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook", "CRM", "getOffers"]

before(IcptOpCall)after(IcptOpCall)

OpCallIcptr

callerClass:StringcallerMethod:StringcalleeClass:StringcalleeMethod:Stringobject:Variant

IcptOpCall

Private Sub Class_Initialize()...

End Sub

'@intercept"Class_Initialize"]

#Execution:OpExecIcptr["Bookstore",

before(IcptOpExec)after(IcptOpExec)

OpExecIcptr

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 42: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook", "CRM", "getOffers"]

before(IcptOpCall)after(IcptOpCall)

OpCallIcptr

callerClass:StringcallerMethod:StringcalleeClass:StringcalleeMethod:Stringobject:Variant

IcptOpCall

Private Sub Class_Initialize()...

End Sub

'@intercept"Class_Initialize"]

#Execution:OpExecIcptr["Bookstore",

before(IcptOpExec)after(IcptOpExec)

OpExecIcptr

class:Stringmethod:Stringobject:String

IcptOpExec

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 43: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AOP Framework—VB6 ExampleAOP for Legacy Languages

Public Sub searchBook()...

crm.getOffersEnd Sub

'@intercept#Call:OpCallIcptr["Bookstore", "searchBook", "CRM", "getOffers"]

before(IcptOpCall)after(IcptOpCall)

OpCallIcptr

callerClass:StringcallerMethod:StringcalleeClass:StringcalleeMethod:Stringobject:Variant

IcptOpCall

Private Sub Class_Initialize()...

End Sub

'@intercept"Class_Initialize"]

#Execution:OpExecIcptr["Bookstore",

before(IcptOpExec)after(IcptOpExec)

OpExecIcptr

class:Stringmethod:Stringobject:String

IcptOpExec

Public Sub searchBook()…Dim iCall0 As IcptOpCallSet iCall0 = New IcptOpCallCall iCall0.init("Bookstore", "searchBook", "CRM", "getOffers")Call opCallIntcptr.before(iCall0)crm.getOffersCall opCallIntcptr.after(iCall0)

End Sub

AVB6C

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 9 / 15

Page 44: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AVB6C — IDE IntegrationAOP for Legacy Languages

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 10 / 15

Page 45: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AVB6C — IDE IntegrationAOP for Legacy Languages

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 10 / 15

Page 46: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AVB6C — IDE IntegrationAOP for Legacy Languages

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 10 / 15

Page 47: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AVB6C — IDE IntegrationAOP for Legacy Languages

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 10 / 15

Page 48: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AVB6C — IDE IntegrationAOP for Legacy Languages

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 10 / 15

Page 49: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AVB6C — IDE IntegrationAOP for Legacy Languages

Acknowledgment : Our DynaMod student assistants, Eike Schulz and Benjamin Schnoor,are responsible for large parts of the implementation!

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 10 / 15

Page 50: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AgendaMonitoring Instrumentation

1 Context & Motivation

2 Model-Driven Instrumentation for Dynamic Analysis

3 AOP for Legacy Languages

4 Monitoring Instrumentation

5 Conclusions

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 11 / 15

Page 51: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Kieker Monitoring & Analysis FrameworkMonitoring Instrumentation

Analysis Plug-In

Monitoring log

e.g., file system, database, message-oriented middleware

e.g., trace information, workload, response times, resource utilization, loop counts

Monitoring Record

M

M

M

M

M

M

e.g., AOP-based method call interception

M

e.g., architecture reconstruction,performance evaluation, online adaptation control, failure diagnosis

Kieker.Monitoring Kieker.Analysis

Kieker Framework — Core Characteristics [vHRH+09]

• Flexible architecture (custom probes, readers, writers, analysis plug-ins)• Integrated & extensible record type model for monitoring & analysis• Logging, reconstruction, analysis/visualization of (distributed) traces• Low overhead (designed for continuous operation in multi-user systems)• Evaluated in industry case studies

http://kieker.sourceforge.net

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 12 / 15

Page 52: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Kieker Monitoring & Analysis FrameworkMonitoring Instrumentation

Analysis Plug-In

Monitoring log

e.g., file system, database, message-oriented middleware

e.g., trace information, workload, response times, resource utilization, loop counts

Monitoring Record

M

M

M

M

M

M

e.g., AOP-based method call interception

M

e.g., architecture reconstruction,performance evaluation, online adaptation control, failure diagnosis

Kieker.Monitoring

Monitoring Probe

Monitoring Controller

Monitoring Log Writer

Kieker.Analysis

MonitoringRecord

Consumer

AnalysisController

Monitoring Log Reader

Kieker Framework — Core Characteristics [vHRH+09]

• Flexible architecture (custom probes, readers, writers, analysis plug-ins)• Integrated & extensible record type model for monitoring & analysis• Logging, reconstruction, analysis/visualization of (distributed) traces• Low overhead (designed for continuous operation in multi-user systems)• Evaluated in industry case studies

http://kieker.sourceforge.net

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 12 / 15

Page 53: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Instrumentation of Legacy LanguagesMonitoring Instrumentation

Monitoring log

e.g., file system, database, message-oriented middleware

Monitoring Record

Kieker.Monitoring(Java)

• Goal: Reuse existing Java-based Kieker.Monitoring component

• Requires communication bridge among legacy language and Java• Instantiation of presented AOP framework for monitoring probes• Developed proof-of-concept implementation for VB6

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 13 / 15

Page 54: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Instrumentation of Legacy LanguagesMonitoring Instrumentation

Monitoring log

e.g., file system, database, message-oriented middleware

Monitoring Record

Kieker.Monitoring(Java)

Kieker.Monitoring(DLL)

• Goal: Reuse existing Java-based Kieker.Monitoring component• Requires communication bridge among legacy language and Java

• Instantiation of presented AOP framework for monitoring probes• Developed proof-of-concept implementation for VB6

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 13 / 15

Page 55: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Instrumentation of Legacy LanguagesMonitoring Instrumentation

Monitoring log

e.g., file system, database, message-oriented middleware

Monitoring Record

Kieker.Monitoring(Java)

Kieker.Monitoring(DLL)

M

M

M

M

M

M

M

• Goal: Reuse existing Java-based Kieker.Monitoring component• Requires communication bridge among legacy language and Java• Instantiation of presented AOP framework for monitoring probes

• Developed proof-of-concept implementation for VB6

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 13 / 15

Page 56: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Instrumentation of Legacy LanguagesMonitoring Instrumentation

Monitoring log

e.g., file system, database, message-oriented middleware

Monitoring Record

Kieker.Monitoring(Java)

Kieker.Monitoring(DLL)

M

M

M

M

M

M

M

Public Sub searchBook()...'@intercept#Call:OpCallIcptr["Bookstore", "searchBook",

"CRM", "getOffers"]crm.getOffers

End Sub

• Goal: Reuse existing Java-based Kieker.Monitoring component• Requires communication bridge among legacy language and Java• Instantiation of presented AOP framework for monitoring probes• Developed proof-of-concept implementation for VB6

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 13 / 15

Page 57: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Instrumentation of Legacy LanguagesMonitoring Instrumentation

Monitoring log

e.g., file system, database, message-oriented middleware

Monitoring Record

Kieker.Monitoring(Java)

Kieker.Monitoring(DLL)

M

M

M

M

M

M

M

Public Sub searchBook()...'@intercept#Call:OpCallIcptr["Bookstore", "searchBook",

"CRM", "getOffers"]crm.getOffers

End Sub

Public Sub before(icptOpExec As IcptOpExec)Dim tin As Varianttin = monitoringCtrl.currentTimeNanosicptOpExec.object = tin

End Sub

Public Sub after(icptOpExec As IcptOpExec)Dim r As OperationExecutionRecordDim tin, tout As VariantSet r = New OperationExecutionRecordtin = icptOpExec.objecttout = monitoringCtrl.currentTimeNanosCall r.initFields(icptOpExec.class, icptOpExec.class, icptOpExec.class, tin, tout)Call monitoringCtrl.writeRecord(r)

End Sub

before(IcptOpExec)after(IcptOpExec)

OpExecProbe

class:Stringmethod:Stringobject:String

IcptOpExec

• Goal: Reuse existing Java-based Kieker.Monitoring component• Requires communication bridge among legacy language and Java• Instantiation of presented AOP framework for monitoring probes• Developed proof-of-concept implementation for VB6

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 13 / 15

Page 58: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

AgendaConclusions

1 Context & Motivation

2 Model-Driven Instrumentation for Dynamic Analysis

3 AOP for Legacy Languages

4 Monitoring Instrumentation

5 Conclusions

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 14 / 15

Page 59: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

ConclusionsConclusions

Summary

• Context: DynaMod project for model-driven modernization

• Model-driven instrumentation for dynamic analysis

• AOP for legacy languages

• Monitoring instrumentation employing AOP framework and Kieker

• Current focus on Visual Basic 6

Future Work

• Refine and extend meta-models for queries, measures, instrumentation etc.

• Development of corresponding tool support — e.g., M2M/M2Code transformations

• Evaluate approach on other abstraction layers — e.g., DSLs, ASTs

• Additional AOP features — e.g., loops, branches

• Additional programming languages — e.g., COBOL, Natural, Structured Text

• Study performance overhead

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 15 / 15

Page 60: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

ConclusionsConclusions

Summary

• Context: DynaMod project for model-driven modernization

• Model-driven instrumentation for dynamic analysis

• AOP for legacy languages

• Monitoring instrumentation employing AOP framework and Kieker

• Current focus on Visual Basic 6

Future Work

• Refine and extend meta-models for queries, measures, instrumentation etc.

• Development of corresponding tool support — e.g., M2M/M2Code transformations

• Evaluate approach on other abstraction layers — e.g., DSLs, ASTs

• Additional AOP features — e.g., loops, branches

• Additional programming languages — e.g., COBOL, Natural, Structured Text

• Study performance overhead

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 15 / 15

Page 61: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

ConclusionsConclusions

Summary

• Context: DynaMod project for model-driven modernization

• Model-driven instrumentation for dynamic analysis

• AOP for legacy languages

• Monitoring instrumentation employing AOP framework and Kieker

• Current focus on Visual Basic 6

Future Work

• Refine and extend meta-models for queries, measures, instrumentation etc.

• Development of corresponding tool support — e.g., M2M/M2Code transformations

• Evaluate approach on other abstraction layers — e.g., DSLs, ASTs

• Additional AOP features — e.g., loops, branches

• Additional programming languages — e.g., COBOL, Natural, Structured Text

• Study performance overhead

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 15 / 15

Page 62: Model-Driven Instrumentation for Dynamic Analysis of ... · Software Engineering Group, Univ. Kiel (Research partner) Model-driven engineering, operation, and evolution of software

Literature

Thomas Stahl and Markus Völter.

Model-Driven Software Development – Technology, Engineering, Management.Wiley & Sons, 2006.

André van Hoorn, Sören Frey, Wolfgang Goerigk, Wilhelm Hasselbring, Holger Knoche, Sönke Köster, Harald Krause, Marcus Porembski, Thomas

Stahl, Marcus Steinkamp, and Norman Wittmüss.DynaMod project: Dynamic analysis for model-driven software modernization.In Andreas Fuhr, Wilhelm Hasselbring, Volker Riediger, Magiel Bruntink, and Kostas Kontogiannis, editors, Joint Proceedings of the 1stInternational Workshop on Model-Driven Software Migration (MDSM 2011) and the 5th International Workshop on Software Quality andMaintainability (SQM 2011), volume 708 of CEUR Workshop Proceedings, pages 12–13, March 2011.Invited paper.

André van Hoorn, Holger Knoche, Wolfgang Goerigk, and Wilhelm Hasselbring.

Model-driven instrumentation for dynamic analysis of legacy software systems.In Proceedings of the 13. Workshop Software-Reengineering (WSR ’11), 2011.

André van Hoorn, Matthias Rohr, Wilhelm Hasselbring, Jan Waller, Jens Ehlers, Sören Frey, and Dennis Kieselhorst.

Continuous monitoring of software services: Design and application of the Kieker framework.Technical Report TR-0921, Department of Computer Science, University of Kiel, Germany, November 2009.

v. Hoorn, Knoche, Goerigk, Hasselbring Model-Driven Instrumentation for Dynamic Analysis May 03, 2011 16 / 15