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 ¡ ¡
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) ¡
Mo0va0on ¡for ¡Self-‑Adapta0on ¡ • The ¡blurring ¡boundaries ¡between ¡design ¡0me ¡ and ¡run0me ¡ ¡ • What ¡is ¡self-‑adapta0on ¡ ¡ • Why ¡do ¡we ¡need ¡self-‑adapta0on? ¡
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 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
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" ¡
Architecture-‑based ¡Approaches ¡to ¡ Self-‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-‑layer ¡model ¡ • FORMS ¡reference ¡model ¡
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 ¡
Oreizy ¡et ¡al. ¡pioneering ¡work ¡ ¡ ¡Adapta0on ¡management ¡ ¡Life ¡cycle ¡of ¡self-‑adapta0on ¡ ¡ ¡ ¡ ¡Evolu0on ¡ management ¡ ¡Change ¡of ¡applica0on ¡so>ware ¡
Oreizy ¡et ¡al. ¡pioneering ¡work ¡ ¡ ¡ Adapta0on ¡management ¡ ¡ Life ¡cycle ¡of ¡self-‑adapta0on ¡ ¡ ¡
Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Observing ¡and ¡evalua0ng ¡ applica0on’s ¡execu0on ¡ ¡ E.g., ¡performance ¡monitoring, ¡ safety ¡inspec0ons, ¡constraint ¡ verifica0on ¡ ¡ ¡
Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Accep0ng ¡the ¡evalua0ons ¡ ¡ Defining ¡an ¡appropriate ¡ adapta0on ¡ ¡ Construc0ng ¡a ¡blueprint ¡for ¡ execu0ng ¡that ¡adapta0on. ¡ ¡
Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Coordinated ¡conveyance ¡of: ¡ ¡ ¡ -‑ change ¡descrip0ons ¡ ¡ -‑ possibly ¡new ¡observers ¡or ¡ evaluators ¡
Oreizy ¡et ¡al. ¡pioneering ¡work ¡ ¡ ¡ Evolu0on ¡management ¡ ¡ Change ¡of ¡applica0on ¡so>ware ¡
Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Changes ¡to ¡the ¡architectural ¡ model ¡are ¡consistently ¡reflected ¡ in ¡modifica0ons ¡to ¡the ¡ applica0on’s ¡implementa0on ¡
Oreizy ¡et ¡al. ¡pioneering ¡work ¡ Feeds ¡informa0on ¡back ¡to ¡ adapta0on ¡management ¡
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 ¡ ¡
Architecture-‑based ¡Approaches ¡to ¡ Self-‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-‑layer ¡model ¡ • FORMS ¡reference ¡model ¡
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 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
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 ¡
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
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
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
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
MAPE-‑K ¡Reference ¡Model ¡ Autonomic manager Analyze Plan Is ¡responsible ¡for ¡execu0ng ¡the ¡ Knowledge adapta0on ¡ac0ons ¡of ¡the ¡ Monitor Execute generated ¡plan ¡ ¡ Managed element
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 ¡
Architecture-‑based ¡Approaches ¡to ¡ Self-‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-‑layer ¡model ¡ • FORMS ¡reference ¡model ¡
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 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
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
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
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
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 ¡
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 ¡
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
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
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
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
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 ¡ ¡
Architecture-‑based ¡Approaches ¡to ¡ Self-‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-‑layer ¡model ¡ • FORMS ¡reference ¡model ¡
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 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
Architecture-‑based ¡Approaches ¡to ¡ Self-‑adapta0on ¡ • Oreizy ¡et ¡al. ¡pioneering ¡work ¡ • MAPE-‑K ¡reference ¡model ¡ • Rainbow ¡framework ¡ ¡ • 3-‑layer ¡model ¡ • FORMS ¡reference ¡model ¡
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 ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
FORMS ¡Reference ¡Model ¡ • Integrates ¡different ¡perspec0ves ¡on ¡self-‑ adapta0on ¡ – Reflec0on ¡perspec0ve ¡ ¡ – MAPE-‑K ¡perspec0ve ¡ – Distribu0on ¡perspec0ve ¡ • UML ¡models ¡with ¡formal ¡specifica0on ¡in ¡Z ¡ language ¡
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 ¡
Running ¡Example: ¡traffic ¡jam ¡monitoring ¡ 73 ¡
Running ¡Example: ¡traffic ¡jam ¡monitoring ¡ 74 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ 75 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ Self-‑adap0ve ¡system ¡ 76 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ Self-‑adap0ve ¡system ¡ 77 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ Environment ¡ 78 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ Environment ¡ 79 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ Base-‑Level ¡Subsystem ¡ 80 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ Base-‑Level ¡Subsystem ¡ 81 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ Reflec0ve ¡Subsystem ¡ 82 ¡
FORMS ¡Reflec0on ¡Perspec0ve ¡ Reflec0ve ¡Subsystem ¡ 83 ¡
FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ 84 ¡
FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Local ¡Self-‑Adap0ve ¡System ¡ 85 ¡
FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Local ¡Managed ¡System ¡– ¡Self-‑Adap0ve ¡Unit ¡ 86 ¡
FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Local ¡Managed ¡System ¡– ¡Self-‑Adap0ve ¡Unit ¡ 87 ¡
FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Coordina0on ¡Mechanism ¡ 88 ¡
FORMS ¡Distributed ¡Coordina0on ¡Perspec0ve ¡ Coordina0on ¡Mechanism ¡ ping/echo ¡messages ¡ 89 ¡
FORMS ¡MAPE ¡Perspec0ve ¡ 90 ¡
FORMS ¡MAPE ¡Perspec0ve ¡ Local ¡Reflec0ve ¡Computa0ons ¡ 91 ¡
FORMS ¡MAPE ¡Perspec0ve ¡ Local ¡Reflec0ve ¡Computa0ons ¡ 92 ¡
FORMS ¡MAPE ¡Perspec0ve ¡ Local ¡Reflec0ve ¡Computa0ons ¡ perceive ¡ sense ¡ adapt ¡ 93 ¡
FORMS ¡MAPE ¡Perspec0ve ¡ Reflec0on ¡Models ¡ 94 ¡
FORMS ¡MAPE ¡Perspec0ve ¡ Reflec0on ¡Models ¡ 95 ¡
(A ¡glimpse ¡of) ¡FORMS ¡in ¡ac0on ¡ 96 ¡
������� ����� ��� ���� ���� � � � ���������� ���������� ����� ����������� ������������ ����������� ��������� ������������� ������ ���������� ������ ����� �������� ����� ���� �� ���������� ������� ��� ���� � � ����������� ���������� ������������ ������������ ������ �������� ����� ���� � � � ����� � ������������ ������������ ����� ������ ������������� ������� ��������� ������ ��������� ������ ��������� ����� � � � ����� ������������� ������� ���� ������������ ������� ������ ������� ������� �������� ��� ������� ����� ������� � � � ���������� ������������ ������ �������� � � � ������������ �������� � ������������� � ��� �������������� ����� ������� ����� ������� � ��������� ��� � � ����� �������� ����������� ������� � � � ������� ����������� ������ (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
FORMS ¡in ¡ac0on ¡ ... ¡ ... ¡ ... ¡ 98 ¡
FORMS ¡in ¡ac0on ¡ 99 ¡
FORMS ¡in ¡ac0on ¡ ... ¡
Recommend
More recommend