engineering self adap0ve systems an architectural
play

Engineering Self-Adap0ve Systems An Architectural Perspec0ve - PowerPoint PPT Presentation

Engineering Self-Adap0ve Systems An Architectural Perspec0ve Danny Weyns Automated So>ware Engineering ASE Lincoln, Nebraska November 9, 2015


  1. Architecture-­‑based ¡Approaches ¡ ¡ • Variety ¡of ¡goal ¡models ¡ – RELAX* ¡captures ¡uncertainty ¡(e.g. ¡“may” ¡vs. ¡“shall”) ¡ ¡ – FLAGS** ¡includes ¡fuzzy ¡goals ¡specified ¡using ¡fuzzy ¡constraints ¡ – Awareness ¡requirements*: ¡meta ¡requirements ¡ ¡ ¡ * ¡J. ¡Whisle, ¡P. ¡Sawyer, ¡N. ¡Bencomo, ¡B. ¡H. ¡Cheng, ¡and ¡J.-­‑M. ¡Bruel. ¡RELAX: ¡Incorpora0ng ¡Uncertainty ¡into ¡the ¡Specifica0on ¡of ¡Self-­‑Adap0ve ¡ Systems, ¡Requirements ¡Engineering ¡2009 ¡ ** ¡L. ¡Baresi, ¡L. ¡Pasquale, ¡and ¡P. ¡Spole0ni. ¡Fuzzy ¡goals ¡for ¡requirements-­‑driven ¡adapta0on, ¡Requirements ¡Engineering, ¡2010 ¡ *** ¡V. ¡E. ¡Silva ¡Souza, ¡A. ¡Lapouchnian, ¡W. ¡N. ¡Robinson, ¡and ¡J. ¡Mylopoulos, ¡ ¡Awareness ¡requirements ¡for ¡adap0ve ¡Systems, ¡SEAMS ¡2011 ¡ ¡

  2. Control-­‑based ¡Approaches ¡ Approximate System Model Resource Performance Allocation Error Correction Actual Performance Performance MIMO ¡systems ¡ Software Actuator Set Point Controller (Resource Allocator) System (Dio ¡et ¡al., ¡2002, ¡Lu ¡et ¡al. ¡2005) ¡ Performance Sensor Measured Performance (b) Classic PID-type control (Abdelzaher et al. 2003) ¡ Decentralized ¡control ¡ ¡ (X. ¡Wang ¡et ¡al., ¡2007; ¡R. ¡Wang ¡et ¡al ¡2012) ¡ C ( z ) Control (normal) mode Parameters Disturbances Control Simplex Measured µ ˜ + µ Setpoint 1 Error 1 signal 1 signal η output Controller Simplex P ( z ) Plant 1 O 1 ...O n O 1 − Control Setpoint n Error n Controller signal n MB Model Building mode n O n & Nested ¡and ¡layered ¡architectures ¡ Controlling ¡so>ware ¡vs. ¡hardware/resources ¡ ¡ (Zhu ¡et ¡al, ¡2006; ¡Kusic ¡et ¡al. ¡2009) ¡ (e.g. ¡Filieri ¡et ¡al. ¡2014, ¡Shevtsov ¡et ¡al. ¡2015) ¡

  3. Mo0va0on ¡for ¡Self-­‑Adapta0on ¡ • The ¡blurring ¡boundaries ¡between ¡design ¡0me ¡ and ¡run0me ¡ ¡ • What ¡is ¡self-­‑adapta0on ¡ ¡ • Why ¡do ¡we ¡need ¡self-­‑adapta0on? ¡

  4. Why ¡do ¡we ¡Need ¡Self-­‑Adapta0on? ¡ ¡ • Handling ¡uncertainty ¡upfront ¡o>en ¡infeasible ¡(or ¡very ¡expensive) ¡ hence ¡deal ¡with ¡it ¡when ¡the ¡knowledge ¡becomes ¡available ¡ ¡ • Architecture ¡offers ¡appropriate ¡level ¡of ¡abstrac0on ¡and ¡generality ¡to ¡ deal ¡with ¡adapta0on ¡ ¡ • Manage ¡complexity ¡by ¡separa0on ¡of ¡domain ¡concerns ¡from ¡ adapta0on ¡concerns ¡ – External ¡control ¡mechanisms ¡provide ¡a ¡more ¡effec0ve ¡engineering ¡ solu0on ¡than ¡internal ¡mechanisms ¡for ¡self-­‑adapta0on* ¡ • No ¡free ¡lunch: ¡very ¡challenging ¡area ¡ ¡ *D. ¡Garlan, ¡S-­‑W. ¡Cheng, ¡A.C. ¡Huang, ¡B. ¡Schmerl, ¡P. ¡Steenkiste, ¡Rainbow: ¡Architecture-­‑ ¡Based ¡Self-­‑ Adapta0on ¡with ¡Reusable ¡Infrastructure, ¡IEEE ¡Computer, ¡October ¡2004 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

  5. Outline ¡of ¡the ¡tutorial ¡ 1. Mo0va0on ¡for ¡self-­‑adapta0on ¡ 2. Architecture-­‑based ¡approaches ¡to ¡self-­‑ adapta0on ¡ 3. Assurances ¡for ¡self-­‑adap0ve ¡systems ¡ 4. Towards ¡"Design ¡for ¡Sustainability" ¡

  6. Architecture-­‑based ¡Approaches ¡to ¡ Self-­‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-­‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-­‑layer ¡model ¡ • FORMS ¡reference ¡model ¡

  7. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • “…so>ware’s ¡original ¡promise—applica0ons ¡that ¡ retain ¡full ¡plas0city ¡throughout ¡their ¡lifecycle ¡and ¡that ¡ are ¡as ¡easy ¡to ¡modify ¡in ¡the ¡field ¡as ¡they ¡are ¡on ¡the ¡ drawing ¡board.” ¡ ¡ • “…So>ware ¡engineers ¡have ¡pursued ¡many ¡techniques ¡ for ¡achieving ¡this ¡goal ¡… ¡while ¡each ¡contributes ¡to ¡the ¡ goal, ¡the ¡sum ¡total ¡s0ll ¡falls ¡short.” ¡ ¡ • “Self-­‑adap0ve ¡so>ware ¡will ¡provide ¡the ¡key.” ¡ ¡ P. ¡Oreizy, ¡M. ¡Gorlick, ¡R. ¡Taylor, ¡D. ¡Heimbigner, ¡G. ¡Johnson, ¡N. ¡Medvidovic, ¡A. ¡Quilici, ¡D. ¡Rosenblum, ¡and ¡A. ¡ Wolf, ¡An ¡Architecture-­‑Based ¡Approach ¡to ¡Self-­‑Adap0ve ¡So>ware, ¡IEEE ¡Intelligent ¡Systems, ¡May/June ¡1999 ¡

  8. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ ¡ ¡Adapta0on ¡management ¡ ¡Life ¡cycle ¡of ¡self-­‑adapta0on ¡ ¡ ¡ ¡ ¡Evolu0on ¡ management ¡ ¡Change ¡of ¡applica0on ¡so>ware ¡

  9. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ ¡ ¡ Adapta0on ¡management ¡ ¡ Life ¡cycle ¡of ¡self-­‑adapta0on ¡ ¡ ¡

  10. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Observing ¡and ¡evalua0ng ¡ applica0on’s ¡execu0on ¡ ¡ E.g., ¡performance ¡monitoring, ¡ safety ¡inspec0ons, ¡constraint ¡ verifica0on ¡ ¡ ¡

  11. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Accep0ng ¡the ¡evalua0ons ¡ ¡ Defining ¡an ¡appropriate ¡ adapta0on ¡ ¡ Construc0ng ¡a ¡blueprint ¡for ¡ execu0ng ¡that ¡adapta0on. ¡ ¡

  12. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Coordinated ¡conveyance ¡of: ¡ ¡ ¡ -­‑ change ¡descrip0ons ¡ ¡ -­‑ possibly ¡new ¡observers ¡or ¡ evaluators ¡

  13. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ ¡ ¡ Evolu0on ¡management ¡ ¡ Change ¡of ¡applica0on ¡so>ware ¡

  14. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Changes ¡to ¡the ¡architectural ¡ model ¡are ¡consistently ¡reflected ¡ in ¡modifica0ons ¡to ¡the ¡ applica0on’s ¡implementa0on ¡

  15. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Feeds ¡informa0on ¡back ¡to ¡ adapta0on ¡management ¡

  16. Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • Visionary ¡model ¡ – Run0me ¡architecture ¡model ¡ ¡ – Adapta0on ¡management ¡as ¡separate ¡concern ¡ – Integra0on ¡of ¡adapta0on ¡and ¡evolu0on ¡ – Distributed ¡perspec0ve ¡ ¡ • Some ¡notes ¡ ¡ – Conceptual ¡model ¡ ¡ – Run0me ¡model ¡focus ¡on ¡managed ¡system ¡ – Goals ¡and ¡uncertain0es ¡not ¡first ¡class ¡ci0zens ¡ ¡ – Focus ¡on ¡consistency ¡and ¡system ¡integrity ¡ ¡

  17. Architecture-­‑based ¡Approaches ¡to ¡ Self-­‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-­‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-­‑layer ¡model ¡ • FORMS ¡reference ¡model ¡

  18. MAPE-­‑K ¡Reference ¡Model ¡ • “…systems ¡manage ¡themselves ¡according ¡to ¡an ¡ administrator’s ¡goals.” ¡ ¡ • “New ¡components ¡integrate ¡as ¡effortlessly ¡as ¡a ¡new ¡ cell ¡establishes ¡itself ¡in ¡the ¡human ¡body.” ¡ ¡ • “These ¡ideas ¡are ¡not ¡science ¡fic0on, ¡but ¡elements ¡of ¡ the ¡grand ¡challenge ¡to ¡create ¡self-­‑managing ¡ compu0ng ¡systems.” ¡ ¡ ¡ Kephart ¡and ¡Chess, ¡The ¡Vision ¡of ¡Autonomic ¡Compu0ng, ¡IEEE ¡Computer, ¡January ¡2003 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

  19. MAPE-­‑K ¡Reference ¡Model ¡ ¡ Autonomic ¡manager ¡ Autonomic manager Relieves ¡humans ¡of ¡responsibility ¡ Analyze Plan of ¡ ¡directly ¡managing ¡the ¡ managed ¡element ¡ ¡ Knowledge Monitor Execute Managed ¡element ¡ From ¡hardware ¡to ¡applica0on ¡service ¡ ¡ Managed element Element ¡an ¡be ¡adapted ¡to ¡enable ¡the ¡ autonomic ¡manager ¡to ¡monitor ¡and ¡ control ¡it ¡

  20. MAPE-­‑K ¡Reference ¡Model ¡ Autonomic manager Analyze Plan Provides ¡an ¡abstrac0on ¡of ¡relevant ¡ aspects ¡of ¡the ¡managed ¡element, ¡ ¡ ¡ ¡ Knowledge its ¡execu0ng ¡environment, ¡and ¡ ¡ ¡ ¡ ¡ Monitor Execute the ¡adapta0on ¡goals ¡ Managed element

  21. MAPE-­‑K ¡Reference ¡Model ¡ Autonomic manager Analyze Plan Collects ¡data ¡from ¡the ¡managed ¡ element ¡and ¡its ¡execu0on ¡context ¡ Knowledge to ¡update ¡the ¡Knowledge. ¡ ¡ Monitor Execute Managed element

  22. MAPE-­‑K ¡Reference ¡Model ¡ Determines ¡whether ¡adapta0on ¡ Autonomic manager ac0ons ¡are ¡required ¡based ¡on ¡ Analyze Plan the ¡collected ¡data ¡and ¡ adapta0on ¡goals ¡ Knowledge Monitor Execute Managed element

  23. MAPE-­‑K ¡Reference ¡Model ¡ Responsible ¡for ¡planning ¡ Autonomic manager mi0ga0on ¡ac0ons ¡to ¡adapt ¡the ¡ managed ¡element ¡when ¡needed ¡ ¡ Analyze Plan Knowledge Monitor Execute Managed element

  24. MAPE-­‑K ¡Reference ¡Model ¡ Autonomic manager Analyze Plan Is ¡responsible ¡for ¡execu0ng ¡the ¡ Knowledge adapta0on ¡ac0ons ¡of ¡the ¡ Monitor Execute generated ¡plan ¡ ¡ Managed element

  25. MAPE-­‑K ¡Reference ¡Model ¡ • Principle ¡reference ¡model ¡for ¡self-­‑adapta0on ¡ ¡ – Primary ¡func0ons ¡of ¡self-­‑adapta0on ¡and ¡their ¡interac0ons ¡ – Design ¡= ¡mapping ¡of ¡MAPE ¡func0ons ¡to ¡components ¡ ¡ – Four ¡classes ¡of ¡self-­‑management ¡ • Self-­‑configura0on, ¡self-­‑op0miza0on, ¡self-­‑healing ¡and ¡self-­‑protec0on ¡ ¡ • Some ¡notes ¡ ¡ – Knowledge ¡abstractly ¡defined ¡ ¡ ¡ – Interac0on ¡with ¡human ¡administrator ¡implicit ¡ ¡ – Rela0onships ¡among ¡autonomic ¡elements ¡implicit ¡ – Controlling ¡hardware ¡versus ¡controlling ¡so>ware ¡

  26. Architecture-­‑based ¡Approaches ¡to ¡ Self-­‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-­‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-­‑layer ¡model ¡ • FORMS ¡reference ¡model ¡

  27. Rainbow ¡Framework ¡ • “Reusable ¡infrastructure ¡to ¡support ¡self-­‑adapta0on ¡of ¡ so>ware ¡systems.” ¡ ¡ • “The ¡use ¡of ¡external ¡adapta0on ¡mechanisms ¡allows ¡ the ¡explicit ¡specifica0on ¡of ¡adapta0on ¡strategies.” ¡ ¡ • “Using ¡a ¡system’s ¡architecture ¡as ¡a ¡control ¡model ¡can ¡ make ¡topological ¡and ¡behavioral ¡constraints ¡explicit, ¡ establishing ¡an ¡envelope ¡of ¡allowed ¡changes ¡and ¡ helping ¡to ¡ensure ¡the ¡validity ¡of ¡a ¡change.” ¡ ¡ ¡ D. ¡Garlan, ¡S-­‑W. ¡Cheng, ¡A.C. ¡Huang, ¡B. ¡Schmerl, ¡P. ¡Steenkiste, ¡Rainbow: ¡Architecture-­‑ ¡Based ¡Self-­‑ Adapta0on ¡with ¡Reusable ¡Infrastructure, ¡IEEE ¡Computer, ¡October ¡2004 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

  28. Rainbow ¡Framework ¡ ¡ Architecture ¡layer ¡ Architecture layer Adaptation Constraint Aggregates ¡informa0on ¡and ¡ engine evaluator applies ¡adapta0ons ¡when ¡needed ¡ Rules Strategies and tactics ¡ Transla0on ¡infrastructure ¡ Model Adaptation executor manager Operators Types and Mediates ¡the ¡mapping ¡of ¡ Gauges properties informa0on ¡across ¡abstrac0on ¡ Translation infrastructure gap ¡system-­‑model ¡and ¡vice ¡versa ¡ Mappings ¡ System ¡layer ¡ Resource Effectors System API Probes Discovery discovery System ¡access ¡interface ¡with ¡ Executing system infrastructure ¡that ¡implements ¡it ¡ System layer

  29. Rainbow ¡Framework ¡ Plug ¡in ¡(Hot ¡spot) ¡ Reusable ¡ ¡elements ¡ (Frozen ¡spot) ¡ ¡ Architecture ¡layer ¡ Architecture layer Adaptation Constraint Aggregates ¡informa0on ¡and ¡ engine evaluator applies ¡adapta0ons ¡when ¡needed ¡ Rules Strategies and tactics ¡ Transla0on ¡infrastructure ¡ Model Adaptation executor manager Operators Types and Mediates ¡the ¡mapping ¡of ¡ Gauges properties informa0on ¡across ¡abstrac0on ¡ Translation infrastructure gap ¡system-­‑model ¡and ¡vice ¡versa ¡ Mappings ¡ System ¡layer ¡ Resource Effectors System API Probes Discovery discovery System ¡access ¡interface ¡with ¡ Executing system infrastructure ¡that ¡implements ¡it ¡ System layer

  30. Rainbow ¡Framework ¡ Architecture layer Adaptation Constraint engine evaluator Rules Strategies and tactics Model Adaptation executor manager Operators Types and Gauges properties Translation infrastructure Mappings Measurement ¡mechanism ¡ Resource Effectors System API Probes Observes ¡and ¡measures ¡ Discovery discovery various ¡system ¡states ¡ Executing system System layer

  31. Rainbow ¡Framework ¡ Architecture layer Adaptation Constraint engine evaluator Rules Strategies and tactics Model Adaptation executor manager Operators Types and Gauges properties Translation infrastructure Mappings Measurement ¡mechanism ¡ Resource Effectors System API Probes Observes ¡and ¡measures ¡ Discovery discovery various ¡system ¡states ¡ Executing system System layer Mechanism ¡that ¡can ¡be ¡queried ¡for ¡new ¡resources ¡ based ¡on ¡e.g. ¡resource ¡type ¡

  32. Rainbow ¡Framework ¡ Architecture layer Adaptation Constraint engine evaluator Rules Strategies and tactics Model Adaptation executor manager Operators Types and Gauges properties Translation infrastructure Mappings Measurement ¡mechanism ¡ Resource Effectors System API Probes Observes ¡and ¡measures ¡ Discovery discovery various ¡system ¡states ¡ Executing system System layer Mechanism ¡carries ¡out ¡the ¡ Mechanism ¡that ¡can ¡be ¡queried ¡for ¡new ¡resources ¡ actual ¡system ¡modifica0on ¡ based ¡on ¡e.g. ¡resource ¡type ¡

  33. Rainbow ¡Framework ¡ Architecture layer Adaptation Constraint engine evaluator Strategies Rules and tactics Adaptation Model executor manager Types and Operators Gauges properties Gauges ¡aggregate ¡ informa0on ¡from ¡probes ¡to ¡ Translation infrastructure Mappings update ¡architectural ¡model ¡ ¡ Model ¡manager ¡handles ¡ Resource Effectors System API Probes Discovery discovery and ¡provides ¡access ¡to ¡the ¡ architectural ¡model ¡ Executing system System layer

  34. Rainbow ¡Framework ¡ Checks ¡the ¡model ¡ periodically ¡and ¡triggers ¡ Architecture layer adapta0on ¡if ¡a ¡constraint ¡ Adaptation Constraint viola0on ¡occurs ¡ engine evaluator Strategies Rules and tactics Adaptation Model executor manager Types and Operators Gauges properties Gauges ¡aggregate ¡ informa0on ¡from ¡probes ¡to ¡ Translation infrastructure Mappings update ¡architectural ¡model ¡ ¡ Model ¡manager ¡handles ¡ Resource Effectors System API Probes Discovery discovery and ¡provides ¡access ¡to ¡the ¡ architectural ¡model ¡ Executing system System layer

  35. Rainbow ¡Framework ¡ Determines ¡the ¡course ¡of ¡ ac0on ¡if ¡adap0on ¡is ¡required ¡ Checks ¡the ¡model ¡ periodically ¡and ¡triggers ¡ Architecture layer adapta0on ¡if ¡a ¡constraint ¡ Adaptation Constraint viola0on ¡occurs ¡ engine evaluator Strategies Rules and tactics Adaptation Model executor manager Types and Operators Gauges properties Gauges ¡aggregate ¡ informa0on ¡from ¡probes ¡to ¡ Translation infrastructure Mappings update ¡architectural ¡model ¡ ¡ Model ¡manager ¡handles ¡ Resource Effectors System API Probes Discovery discovery and ¡provides ¡access ¡to ¡the ¡ architectural ¡model ¡ Executing system System layer

  36. Rainbow ¡Framework ¡ Carries ¡out ¡the ¡necessary ¡ Determines ¡the ¡course ¡of ¡ adapta0on ¡ac0ons ¡ ac0on ¡if ¡adap0on ¡is ¡required ¡ Checks ¡the ¡model ¡ periodically ¡and ¡triggers ¡ Architecture layer adapta0on ¡if ¡a ¡constraint ¡ Adaptation Constraint viola0on ¡occurs ¡ engine evaluator Strategies Rules and tactics Adaptation Model executor manager Types and Operators Gauges properties Gauges ¡aggregate ¡ informa0on ¡from ¡probes ¡to ¡ Translation infrastructure Mappings update ¡architectural ¡model ¡ ¡ Model ¡manager ¡handles ¡ Resource Effectors System API Probes Discovery discovery and ¡provides ¡access ¡to ¡the ¡ architectural ¡model ¡ Executing system System layer

  37. Rainbow ¡Framework ¡ • Pioneering ¡realiza0on ¡of ¡architecture-­‑based ¡self-­‑ adapta0on ¡ ¡ – Maps ¡MAPE-­‑K ¡to ¡concrete ¡reusable ¡realiza0on ¡elements ¡ ¡ – Goals ¡realized ¡via ¡invariants; ¡explicit ¡adapta0on ¡strategies ¡ – Importance ¡of ¡probing ¡and ¡effec0ng ¡ • Some ¡notes ¡ ¡ – Reference ¡realiza0on ¡ ¡ ¡ – Various ¡extensions ¡(e.g., ¡S0tch ¡language ¡repair ¡strategies*) ¡ ¡ – Centralized ¡approach; ¡“heavy” ¡ ¡ *S-­‑W. ¡Cheng ¡and ¡D. ¡Garlan, ¡S0tch: ¡A ¡Language ¡for ¡Architecture-­‑Based ¡Self-­‑Adapta0on, ¡Journal ¡of ¡Systems ¡and ¡ So>ware, ¡Editors ¡Weyns ¡et ¡al., ¡Special ¡Issue ¡on ¡State ¡of ¡the ¡Art ¡in ¡Self-­‑Adap0ve ¡Systems, ¡Vol. ¡85(12), ¡December ¡2012 ¡ ¡

  38. Architecture-­‑based ¡Approaches ¡to ¡ Self-­‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-­‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-­‑layer ¡model ¡ • FORMS ¡reference ¡model ¡

  39. 3-­‑Layer ¡Model ¡ • “[A ¡self-­‑managed ¡system] ¡is ¡one ¡in ¡which ¡components ¡ automa0cally ¡configure ¡their ¡interac0on ¡in ¡a ¡way ¡that ¡ is ¡compa0ble ¡with ¡an ¡overall ¡architectural ¡ specifica0on ¡and ¡achieves ¡the ¡goals ¡of ¡the ¡system.” ¡ ¡ • “… ¡the ¡architectural ¡level ¡seems ¡to ¡provide ¡the ¡ required ¡level ¡of ¡abstrac0on ¡and ¡generality ¡to ¡deal ¡ with ¡the ¡challenges ¡posed ¡by ¡self-­‑adap0on.” ¡ ¡ ¡ Kramer ¡and ¡Magee, ¡Self-­‑adapta0on: ¡an ¡architecture ¡challenge, ¡Future ¡of ¡So>ware ¡Engineering, ¡ FOSE ¡2007 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

  40. 3-­‑Layer ¡Model ¡ ¡ Goal ¡management ¡ G G Responsible ¡for ¡re-­‑planning ¡ ¡ Goal Goal Management Management ¡ G’ G’ G” G” Change Plans Change Plans Change ¡management ¡ Plan Request Plan Request Responsible ¡for ¡execu0ng ¡ Change Change P1 P1 P2 P2 changes ¡in ¡the ¡lower ¡layer ¡ Management Management Change Actions Change Actions based ¡on ¡status ¡changes ¡ ¡ Status Status Component Component Component ¡control ¡ C1 C1 C2 C2 Control Control Accomplishes ¡the ¡applica0on ¡ Figure 1 – Three Layer Architecture Model for func0on ¡of ¡the ¡system ¡

  41. 3-­‑Layer ¡Model ¡ G G Goal Goal Management Management G’ G’ G” G” Change Plans Change Plans Plan Request Plan Request Change Change P1 P1 P2 P2 Management Management Change Actions Change Actions Status Status Set ¡of ¡interconnected ¡ Component Component components ¡accomplishing ¡ C1 C1 C2 C2 Control Control the ¡applica0on ¡func0on ¡ ¡ Figure 1 – Three Layer Architecture Model for Facili0es ¡to ¡report ¡current ¡ status ¡of ¡components ¡and ¡ perform ¡adapta0ons ¡

  42. 3-­‑Layer ¡Model ¡ G G Goal Goal Management Management G’ G’ G” G” Change Plans Change Plans Reacts ¡to ¡changes ¡in ¡state ¡ Plan Request Plan Request of ¡the ¡lower ¡level ¡by ¡ Change Change P1 P1 P2 P2 execu0on ¡ac0ons ¡to ¡handle ¡ Management Management Change Actions Change Actions the ¡new ¡situa0on ¡ ¡ Status Status Set ¡of ¡interconnected ¡ Component Component components ¡accomplishing ¡ C1 C1 C2 C2 Control Control the ¡applica0on ¡func0on ¡ ¡ Figure 1 – Three Layer Architecture Model for Facili0es ¡to ¡report ¡current ¡ status ¡of ¡components ¡and ¡ perform ¡adapta0ons ¡

  43. 3-­‑Layer ¡Model ¡ Handles ¡requests ¡from ¡the ¡layer ¡ below ¡and ¡introduc0on ¡new ¡goals ¡ ¡ Takes ¡state ¡and ¡high-­‑level ¡goal ¡to ¡ G G produce ¡plan ¡to ¡achieve ¡goal ¡ ¡ Goal Goal Management Management G’ G’ G” G” Change Plans Change Plans Reacts ¡to ¡changes ¡in ¡state ¡ Plan Request Plan Request Change Change of ¡the ¡lower ¡level ¡by ¡ P1 P1 P2 P2 Management Management execu0on ¡ac0ons ¡to ¡handle ¡ Change Actions Change Actions the ¡new ¡situa0on ¡ ¡ Status Status Component Component C1 C1 C2 C2 Control Control Components ¡accomplishing ¡the ¡ applica0on ¡func0on ¡ Figure 1 – Three Layer Architecture Model for ¡ Facili0es ¡to ¡report ¡current ¡status ¡ and ¡perform ¡adapta0ons ¡

  44. 3-­‑Layer ¡Model ¡ • Ra0onal ¡for ¡self-­‑adapta0on ¡at ¡the ¡architecture ¡level ¡ ¡ • Dis0nc0on ¡between ¡adapta0on ¡and ¡goal ¡management ¡ ¡ – Goals ¡as ¡first-­‑class ¡ci0zens ¡ ¡ – Different ¡layers ¡work ¡on ¡different ¡0me ¡scales ¡ • Some ¡notes ¡ ¡ – Based ¡on ¡robo0cs ¡model ¡of ¡Gat* ¡ – Focus ¡in ¡planning ¡ ¡ – Recent ¡related ¡effort: ¡MORPH ¡model ¡-­‑ ¡dis0nc0on ¡between ¡ dynamic ¡reconfigura0on ¡and ¡behavior ¡adapta0on** ¡ ¡ ¡ * ¡E. ¡Gat, ¡Three-­‑layer ¡Architectures, ¡Ar0ficial ¡Intelligence ¡and ¡Mobile ¡Robots, ¡MIT/AAAI ¡Press, ¡1997 ¡ ** ¡hsp://arxiv.org/pdf/1504.08339v1.pdf ¡

  45. Architecture-­‑based ¡Approaches ¡to ¡ Self-­‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-­‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-­‑layer ¡model ¡ • FORMS ¡reference ¡model ¡

  46. FORMS ¡ ¡ FOrmal ¡Reference ¡Model ¡for ¡Self-­‑adapta0on ¡ ¡ • “… ¡lack ¡of ¡a ¡precise ¡vocabulary ¡to ¡describe ¡and ¡reason ¡ about ¡key ¡architectural ¡characteris0cs ¡of ¡self-­‑adap0ve ¡ systems.” ¡ ¡ • “… ¡exis0ng ¡frameworks ¡do ¡not ¡provide ¡encompassing ¡ perspec0ve ¡on ¡different ¡concerns ¡[of ¡self-­‑adapta0on]” ¡ ¡ • “[FORMS] ¡provides ¡rigor ¡in ¡the ¡manner ¡such ¡systems ¡ can ¡be ¡described ¡and ¡reasoned ¡about” ¡ ¡ D. ¡Weyns, ¡S. ¡Malek, ¡J. ¡Andersson, ¡ ¡FORMS: ¡Formal ¡reference ¡model ¡for ¡self-­‑adapta0on, ¡ACM ¡Transac0ons ¡ on ¡Autonomous ¡and ¡Adap0ve ¡Systems, ¡TAAS ¡7(1), ¡2012 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

  47. FORMS ¡Reference ¡Model ¡ • Integrates ¡different ¡perspec0ves ¡on ¡self-­‑ adapta0on ¡ – Reflec0on ¡perspec0ve ¡ ¡ – MAPE-­‑K ¡perspec0ve ¡ – Distribu0on ¡perspec0ve ¡ • UML ¡models ¡with ¡formal ¡specifica0on ¡in ¡Z ¡ language ¡

  48. FORMS: ¡Running ¡Example ¡ Traffic ¡jam ¡monitoring ¡ ¡ D. ¡Weyns, ¡R. ¡Haesevoets, ¡A. ¡Helleboogh, ¡T. ¡Holvoet, ¡W. ¡Joosen, ¡The ¡MACODO ¡Middleware ¡for ¡Context-­‑Driven ¡ Dynamic ¡Agent ¡Organza0ons, ¡ACM ¡Transac0on ¡on ¡Autonomous ¡and ¡Adap0ve ¡Systems, ¡5(1):3.1–3.29, ¡2010. ¡ ¡ 72 ¡

  49. Running ¡Example: ¡traffic ¡jam ¡monitoring ¡ 73 ¡

  50. Running ¡Example: ¡traffic ¡jam ¡monitoring ¡ 74 ¡

  51. FORMS ¡Reflec0on ¡Perspec0ve ¡ 75 ¡

  52. FORMS ¡Reflec0on ¡Perspec0ve ¡ Self-­‑adap0ve ¡system ¡ 76 ¡

  53. FORMS ¡Reflec0on ¡Perspec0ve ¡ Self-­‑adap0ve ¡system ¡ 77 ¡

  54. FORMS ¡Reflec0on ¡Perspec0ve ¡ Environment ¡ 78 ¡

  55. FORMS ¡Reflec0on ¡Perspec0ve ¡ Environment ¡ 79 ¡

  56. FORMS ¡Reflec0on ¡Perspec0ve ¡ Base-­‑Level ¡Subsystem ¡ 80 ¡

  57. FORMS ¡Reflec0on ¡Perspec0ve ¡ Base-­‑Level ¡Subsystem ¡ 81 ¡

  58. FORMS ¡Reflec0on ¡Perspec0ve ¡ Reflec0ve ¡Subsystem ¡ 82 ¡

  59. FORMS ¡Reflec0on ¡Perspec0ve ¡ Reflec0ve ¡Subsystem ¡ 83 ¡

  60. FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ 84 ¡

  61. FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Local ¡Self-­‑Adap0ve ¡System ¡ 85 ¡

  62. FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Local ¡Managed ¡System ¡– ¡Self-­‑Adap0ve ¡Unit ¡ 86 ¡

  63. FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Local ¡Managed ¡System ¡– ¡Self-­‑Adap0ve ¡Unit ¡ 87 ¡

  64. FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Coordina0on ¡Mechanism ¡ 88 ¡

  65. FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Coordina0on ¡Mechanism ¡ ping/echo ¡messages ¡ 89 ¡

  66. FORMS ¡MAPE ¡Perspec0ve ¡ 90 ¡

  67. FORMS ¡MAPE ¡Perspec0ve ¡ Local ¡Reflec0ve ¡Computa0ons ¡ 91 ¡

  68. FORMS ¡MAPE ¡Perspec0ve ¡ Local ¡Reflec0ve ¡Computa0ons ¡ 92 ¡

  69. FORMS ¡MAPE ¡Perspec0ve ¡ Local ¡Reflec0ve ¡Computa0ons ¡ perceive ¡ sense ¡ adapt ¡ 93 ¡

  70. FORMS ¡MAPE ¡Perspec0ve ¡ Reflec0on ¡Models ¡ 94 ¡

  71. FORMS ¡MAPE ¡Perspec0ve ¡ Reflec0on ¡Models ¡ 95 ¡

  72. (A ¡glimpse ¡of) ¡FORMS ¡in ¡ac0on ¡ 96 ¡

  73. ������� ����� ��� ���� ���� � � � ���������� ���������� ����� ����������� ������������ ����������� ��������� ������������� ������ ���������� ������ ����� �������� ����� ���� �� ���������� ������� ��� ���� � � ����������� ���������� ������������ ������������ ������ �������� ����� ���� � � � ����� � ������������ ������������ ����� ������ ������������� ������� ��������� ������ ��������� ������ ��������� ����� � � � ����� ������������� ������� ���� ������������ ������� ������ ������� ������� �������� ��� ������� ����� ������� � � � ���������� ������������ ������ �������� � � � ������������ �������� � ������������� � ��� �������������� ����� ������� ����� ������� � ��������� ��� � � ����� �������� ����������� ������� � � � ������� ����������� ������ (A ¡glimpse ¡of) ¡FORMS ¡in ¡ac0on ¡ ����� ������� ����� � ������� ����� ������������ � �������������� ��� ���� ���� ����� � � � ������ ����������� ���������� ����� ����������� ������� ������������ ����������� ����������� ����������� ��������� Environment attributes : P Attribute processes : P Process attributes 6 = ∅ tra ffi c domain attributes == { camera 1 , camera 2 , camera 3 , freeflow zone 1 , congested zone 1 , freeflow zone 2 , congested zone 2 , freeflow zone 3 , congested zone 3 } tra ffi c domain processes == { tra ffi c 1 , tra ffi c 2 , tra ffi c 3 , monitor camera 1 , monitor camera 2 , monitor camera 3 , transmit } Tra ffi cEnvironment Environment attributes ✓ tra ffi c domain attributes processes ✓ tra ffi c domain processes The traffic environment at T0 in the example (Figure 0 ?? ) is defined as: Tra ffi cEnvironment T 0 Tra ffi cEnvironment attributes = { camera 1 , camera 2 , camera 3 , freeflow zone 1 , freeflow zone 2 , congested zone 3 } 97 ¡ processes = tra ffi c domain processes

  74. FORMS ¡in ¡ac0on ¡ ... ¡ ... ¡ ... ¡ 98 ¡

  75. FORMS ¡in ¡ac0on ¡ 99 ¡

  76. FORMS ¡in ¡ac0on ¡ ... ¡

Recommend


More recommend