GRAF: Graph-based Runtime Adaptation Framework SEAMS 2011 Waikiki, - - PowerPoint PPT Presentation

graf graph based runtime adaptation framework
SMART_READER_LITE
LIVE PREVIEW

GRAF: Graph-based Runtime Adaptation Framework SEAMS 2011 Waikiki, - - PowerPoint PPT Presentation

GRAF: Graph-based Runtime Adaptation Framework SEAMS 2011 Waikiki, Honolulu, Hawaii, USA Mahdi Derakhshanmanesh 1 , Mehdi Amoui 2 , Greg OGrady 2 Jrgen Ebert 1 , Ladan Tahvildari 2 1 Institute for Software Technology, University of


slide-1
SLIDE 1

GRAF: Graph-based Runtime Adaptation Framework

SEAMS 2011 Waikiki, Honolulu, Hawaii, USA

Mahdi Derakhshanmanesh1, Mehdi Amoui2, Greg O’Grady2 Jürgen Ebert1, Ladan Tahvildari2

1 Institute for Software Technology, University of Koblenz-Landau, Germany 2 Software Technologies Applied Research (STAR) Lab,

University of Waterloo, Canada

slide-2
SLIDE 2
  • I. Introduction
  • II. Graph-based Runtime Adaptation

Framework (GRAF)

  • III. Case Study: Jake2
  • IV. Conclusions and Future Work

Agenda

2

slide-3
SLIDE 3

Introduction

What is this talk all about?

3

slide-4
SLIDE 4

Motivation

Engineering self-adaptive software is difficult

  • How to expose sensors & effectors?
  • How to build the adaptation manager?
  • How to encode adaptation steps?

 Using generic frameworks can help!

4

slide-5
SLIDE 5

Challenges and Goals

Support two engineering paths

  • Migration towards self-adaptivity
  • Development from scratch

Realize adaptation approach using existing model-driven techniques

5

slide-6
SLIDE 6

Model-Centric Approach

Reflective Architecture Adaptation of model first Five adaptation scenarios at runtime

6

slide-7
SLIDE 7

What is the Graph-based Runtime Adaptation Framework (GRAF)?

7

slide-8
SLIDE 8

Background

Developed to support the migration of non- adaptive software towards self-adaptive software systems [ADET11, Der10]

  • Adaptivity via querying, transforming,

and interpreting a runtime model

  • Extendable, flexible architecture

8

slide-9
SLIDE 9

9

External Controller Managed Software

slide-10
SLIDE 10

Adaptable Software

Contains business logic Can be constructed

  • by migration
  • from scratch

Must expose essential interfaces to framework

10

slide-11
SLIDE 11

Adaptable Software Interfaces

Access to

  • state variables
  • points in control flow
  • atomic actions

Behavior description in runtime model (subset of UML activity)

11

slide-12
SLIDE 12

Adaptation Middleware Layer

Propagation of state variable values

  • to runtime model
  • back to adaptable

software Execution of behavioral (sub-)models

12

slide-13
SLIDE 13

Runtime Model Layer

Encapsulation of runtime model for

  • queries
  • transformations
  • constraint validation

Model history as a trace of runtime model states

13

slide-14
SLIDE 14

Adaptation Management Layer

Repository of predefined adaptation rules

  • Event (change type)
  • Condition (query)
  • Action (transformation)

MAPE-loop [IBM05]

14

slide-15
SLIDE 15

15

GReQL + Generated Java API (using JGraLab)

TGraphs Java Annotations Java Reflection UML Class Diagrams + query language (GReQL) JBoss AOP

slide-16
SLIDE 16

Case Study: Jake2

How did we put GRAF into practice?

16

slide-17
SLIDE 17

Jake2 Screenshot

17

Artificial player (Bot) Human player

slide-18
SLIDE 18

Adaptation Requirement

“As the game is in progress, bots must adapt their attack behavior, according to the expertise of the human player.”

18

slide-19
SLIDE 19

Jake2 and GRAF Setup Tasks

Identify how to

  • measure “expertise“  health, score
  • adjust game difficulty  cloning

Prepare Jake2 (migration process [ADET11])

  • annotate code, write adaptation rules, …

19

slide-20
SLIDE 20

Extract of Behavioral Model

20

slide-21
SLIDE 21

Adapted Behavioral Model

21

slide-22
SLIDE 22

Setup and Memory Utilization

System Variations S0 S1 S2 S3 S4 Atomic Actions & Annotations

  • X

X X X Start GRAF & Runtime Model

  • X

X X Interpretation

  • X

X Adaptation Rules

  • X

22

Metrics S0 S1 S2 S3 S4 Max Used (MB) 103 104 174 174 179 Max Committed (MB) 112 112 214 213 226 #Loaded Classes 3799 3799 5648 5660 5754

slide-23
SLIDE 23

Execution Times (checkAttack)

23

slide-24
SLIDE 24

Conclusions & Future Work

What are the lessons learned, and which areas need further research?

24

slide-25
SLIDE 25

Conclusions

25

Model-centric runtime adaptivity is feasable

  • Query / Transform / Interpret approach
  • Separation of concerns

Current technology is well-suited

  • Special need for performance & tools
slide-26
SLIDE 26

Future Work (excerpt)

Tool support, e.g., Eclipse workbench Extension of the rule engine Generalization of the runtime model

  • Which model types are (when) suitable?

26

slide-27
SLIDE 27

References

[ADET11] Mehdi Amoui, Mahdi Derakhshanmanesh, Jürgen Ebert, and Ladan Tahvildari. Software Evolution Towards Model-Centric Runtime

  • Adaptivity. In Proceedings of the 15th European Conference on Software Maintenance and Reengineering, Oldenburg, Germany, 2011.

[DAET11] Mahdi Derakhshanmanesh, Mehdi Amoui, Jürgen Ebert, and Ladan Tahvildari. GRAF: Graph-based Runtime Adaptation Framework. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Waikiki, Honolulu, Hawaii, USA, 2011. To appear. [Der10] Mahdi Derakhshanmanesh. Leveraging Model-Based Techniques for Runtime Adaptivity in Software Systems. Master’s thesis, University of Koblenz-Landau, Germany, 2010. [ERW08] Jürgen Ebert, Volker Riediger, and Andreas Winter. Graph Technology in Reverse Engineering, the TGraph Approach. In Rainer Gimnich, Uwe Kaiser, Jochen Quante, and Andreas Winter, editors, 10th Workshop Software Reengineering (WSR 2008), volume 126 of GI Lecture Notes in Informatics, pages 67–81, Bonn, 2008. GI. [FS09] Franck Fleurey and Arnor Solberg. A Domain Specific Modeling Language Supporting Specification, Simulation and Execution of Dynamic Adaptive Systems. In Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems, pages 606–621, 2009. [IBM05] IBM. An Architectural Blueprint for Autonomic Computing. Autonomic Computing, 2005. White Paper. [OGT+99] Peyman Oreizy, Michael M. Gorlick, Richard N. Taylor, Dennis Heimbigner, Gregory Johnson, Nenad Medvidovic, Alex Quilici, David

  • S. Rosenblum, and Alexander L. Wolf. An architecture-based approach to self-adaptive software. Intelligent Systems and their Applications,

IEEE, 14(3):54-62, 1999.

27

slide-28
SLIDE 28

Runtime Model Schema (excerpt)

28