Runtime Controller Synthesis for Self-Adaptation: Be Discrete! (Keynote)

Self-adaptation is often defined as the ability of systems to alter at runtime their behaviour in response to changes in their environment, capabilities and goals. In this talk I will argue that this definition is too broad and that it dilutes a very real need for a particular quality of today's software systems. I will postulate that a more refined definition of adaptation should emphasise the need for systems to have the ability to react to changes that were originally unforseen at design time, and to provide assurances on the correctness of these adaptations. How can systems be designed to account for what is unforseen? I will argue that a key design decision for achieving self-adaptation is to endow systems with the capability of synthesising at runtime discrete event controllers. Indeed, reactive systems that are requirements and assumptions aware, if extended with run time controller synthesis capabilities are equipped with a powerful infrastructure towards achieving assured self-adaptation.

[1]  Carlo Ghezzi,et al.  Synthesizing dynamically updating controllers from changes in scenario-based specifications , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[2]  Kees M. van Hee,et al.  Workflow Management: Models, Methods, and Systems , 2002, Cooperative information systems.

[3]  Marco Pistore,et al.  Weak, strong, and strong cyclic planning via symbolic model checking , 2003, Artif. Intell..

[4]  Katsumi Inoue,et al.  Learning revised models for planning in adaptive systems , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[5]  Yuriy Brun,et al.  Self-assembly for discreet, fault-tolerant, and scalable computation on internet-sized distributed networks , 2008 .

[6]  Victor Braberman,et al.  Assured and Correct Dynamic Update of Controllers , 2016, 2016 IEEE/ACM 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[7]  Amir Pnueli,et al.  On the synthesis of a reactive module , 1989, POPL '89.

[8]  Nenad Medvidovic,et al.  PLASMA: a plan-based layered architecture for software model-driven adaptation , 2010, ASE '10.

[9]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[10]  Sebastián Uchitel,et al.  Synthesis of live behaviour models for fallible domains , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[11]  B. Cheng,et al.  Specifying adaptation semantics , 2005, WADS@ICSE.

[12]  Robi Malik,et al.  Compositional synthesis of discrete event systems using synthesis abstraction , 2011, 2011 Chinese Control and Decision Conference (CCDC).

[13]  Sebastián Uchitel,et al.  MORPH: a reference architecture for configuration and behaviour self-adaptation , 2015, CTSE@SIGSOFT FSE.

[14]  Jeff Magee,et al.  FlashMob: distributed adaptive self-assembly , 2011, SEAMS '11.

[15]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[16]  Paola Inverardi,et al.  Synthesizing self-adaptive connectors meeting functional and performance concerns , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[17]  Jana Kosecka,et al.  Control of Discrete Event Systems , 1992 .

[18]  Krishnendu Chatterjee,et al.  A survey of stochastic ω-regular games , 2012, J. Comput. Syst. Sci..

[19]  Michael Jackson,et al.  The World and the Machine , 1995, 1995 17th International Conference on Software Engineering.

[20]  Henry Hoffmann,et al.  Automated design of self-adaptive software with control-theoretical formal guarantees , 2014, Software Engineering & Management.

[21]  van der Wmp Wil Aalst,et al.  Dealing with workflow change: identification of issues and solutions , 2000 .

[22]  Sebastián Uchitel,et al.  Controllability in Partial and Uncertain Environments , 2014, 2014 14th International Conference on Application of Concurrency to System Design.

[23]  Lee J. White,et al.  Testing of User-Configurable Software Systems Using Firewalls , 2012, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[24]  David Garlan,et al.  Reasoning about Human Participation in Self-Adaptive Systems , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[25]  Y. Brim,et al.  A Discreet, Fault-Tolerant, and Scalable Software Architectural Style for Internet-Sized Networks , 2007, ICSE 2007.

[26]  Amir Pnueli,et al.  Synthesis of Reactive(1) designs , 2006, J. Comput. Syst. Sci..

[27]  Sebastián Uchitel,et al.  Synthesizing nonanomalous event-based controllers for liveness goals , 2013, TSEM.

[28]  Sebastián Uchitel,et al.  The Modal Transition System Control Problem , 2012, FM.

[29]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[30]  Eric A. Brewer,et al.  Adapting to network and client variability via on-demand dynamic distillation , 1996, ASPLOS VII.

[31]  Christian J. Muise,et al.  Improved Non-Deterministic Planning by Exploiting State Relevance , 2012, ICAPS.

[32]  Ufuk Topcu,et al.  Strategy Synthesis for Stochastic Games with Multiple Long-Run Objectives , 2015, TACAS.

[33]  Marin Litoiu,et al.  Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems , 2013, ICSE 2013.

[34]  Robert J. Stroud,et al.  Implementing fault tolerant applications using reflective object-oriented programming , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[35]  Sebastián Uchitel,et al.  Hope for the best, prepare for the worst: multi-tier control for adaptive systems , 2014, ICSE.

[36]  Marsha Chechik,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2016, Lecture Notes in Computer Science.

[37]  Jun Han,et al.  A systematic survey on the design of self-adaptive software systems using control engineering approaches , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[38]  Grzegorz Rozenberg,et al.  Dynamic change within workflow systems , 1995, COCS '95.