graf graph based runtime adaptation framework
play

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


  1. GRAF: Graph-based Runtime Adaptation Framework SEAMS 2011 Waikiki, Honolulu, Hawaii, USA Mahdi Derakhshanmanesh 1 , Mehdi Amoui 2 , Greg O’Grady 2 Jürgen Ebert 1 , Ladan Tahvildari 2 1 Institute for Software Technology, University of Koblenz-Landau, Germany 2 Software Technologies Applied Research (STAR) Lab, University of Waterloo, Canada

  2. Agenda I. Introduction II. Graph-based Runtime Adaptation Framework (GRAF) III. Case Study: Jake2 IV. Conclusions and Future Work 2

  3. Introduction What is this talk all about? 3

  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

  5. Challenges and Goals Support two engineering paths  Migration towards self-adaptivity  Development from scratch Realize adaptation approach using existing model-driven techniques 5

  6. Model-Centric Approach Reflective Architecture Adaptation of model first Five adaptation scenarios at runtime 6

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

  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

  9. External Controller Managed Software 9

  10. Adaptable Software Contains business logic Can be constructed  by migration  from scratch Must expose essential interfaces to framework 10

  11. Adaptable Software Interfaces Access to  state variables  points in control flow  atomic actions Behavior description in runtime model (subset of UML activity) 11

  12. Adaptation Middleware Layer Propagation of state variable values  to runtime model  back to adaptable software Execution of behavioral (sub-) models 12

  13. Runtime Model Layer Encapsulation of runtime model for  queries  transformations  constraint validation Model history as a trace of runtime model states 13

  14. Adaptation Management Layer Repository of predefined adaptation rules  Event (change type)  Condition (query)  Action (transformation) MAPE-loop [IBM05] 14

  15. GReQL + Generated Java API (using JGraLab) UML Class Diagrams + query language (GReQL) TGraphs Java Reflection JBoss AOP Java Annotations 15

  16. Case Study: Jake2 How did we put GRAF into practice ? 16

  17. Jake2 Screenshot Artificial player (Bot) Human player 17

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

  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

  20. Extract of Behavioral Model 20

  21. Adapted Behavioral Model 21

  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 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 22

  23. Execution Times (checkAttack) 23

  24. Conclusions & Future Work What are the lessons learned, and which areas need further research? 24

  25. Conclusions Model-centric runtime adaptivity is feasable  Query / Transform / Interpret approach  Separation of concerns Current technology is well-suited  Special need for performance & tools 25

  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

  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

  28. Runtime Model Schema (excerpt) 28

Recommend


More recommend