skip to main content
10.1145/2568225.2568264acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Hope for the best, prepare for the worst: multi-tier control for adaptive systems

Published: 31 May 2014 Publication History

Abstract

Most approaches for adaptive systems rely on models, particularly behaviour or architecture models, which describe the system and the environment in which it operates. One of the difficulties in creating such models is uncertainty about the accuracy and completeness of the models. Engineers therefore make assumptions which may prove to be invalid at runtime. In this paper we introduce a rigorous, tiered framework for combining behaviour models, each with different associated assumptions and risks. These models are used to generate operational strategies, through techniques such controller synthesis, which are then executed concurrently at runtime. We show that our framework can be used to adapt the functional behaviour of the system: through graceful degradation when the assumptions of a higher level model are broken, and through progressive enhancement when those assumptions are satisfied or restored.

References

[1]
Appendix. http://www.doc.ic.ac.uk/˜su2/tmp/shl.pdf.
[2]
The Labelled Transition System Analyser (LTSA). http://www.doc.ic.ac.uk/ltsa/.
[3]
Workshop on Models at Runtime Series. ACM/IEEE, 2006–2013.
[4]
ICSE Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS. ACM/IEEE, 2006-2013.
[5]
P. E. Agre and D. Chapman. What are plans for? Robotics and Autonomous Systems, 6(1-2):17 – 34, 1990. Designing Autonomous Agents.
[6]
N. Arshad, D. Heimbigner, and A. L. Wolf. Deployment and dynamic reconfiguration planning for distributed software systems. Software Quality Journal, 15(3):265–281, 2007.
[7]
L. Baresi, L. Pasquale, and P. Spoletini. Fuzzy goals for requirements-driven adaptation. In Requirements Engineering Conference (RE), 2010 18th IEEE International, pages 125–134, 2010.
[8]
S. Bernardi, J. Merseguer, and D. C. Petriu. Dependability modeling and assessment in uml-based software development. The Scientific World Journal, 2012, 2012.
[9]
G. Berry and G. Gonthier. The esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Program., 19(2):87–152, 1992.
[10]
P. Bertoli, A. Cimatti, M. Pistore, M. Roveri, and P. Traverso. MBP: a model based planner. In Proceedings of the IJCAI’01 Workshop on Planning under Uncertainty and Incomplete Information, 2001.
[11]
R. I. Brafman and G. Shani. Replanning in domains with partial information and sensing actions. J. Artif. Intell. Res. (JAIR), 45:565–600, 2012.
[12]
A. Carzaniga, A. Gorla, A. Mattavelli, N. Perino, and M. Pezze. Automatic recovery from runtime failures. In Proceedings of the 2013 International Conference on Software Engineering, pages 782–791. IEEE Press, 2013.
[13]
L. Checiu, B. Solomon, D. Ionescu, M. Litoiu, and G. Iszlai. Observability and controllability of autonomic computing systems for composed web services. In Applied Computational Intelligence and Informatics (SACI), 2011 6th IEEE International Symposium on, pages 269–274, 2011.
[14]
B. H. Cheng, R. Lemos, H. Giese, P. Inverardi, J. Magee, J. Andersson, B. Becker, N. Bencomo, Y. Brun, B. Cukic, G. Marzo Serugendo, S. Dustdar, A. Finkelstein, C. Gacek, K. Geihs, V. Grassi, G. Karsai, H. M. Kienle, J. Kramer, M. Litoiu, S. Malek, R. Mirandola, H. A. Muller, S. Park, M. Shaw, M. Tichy, M. Tivoli, D. Weyns, and J. Whittle. Software engineering for self-adaptive systems: A research roadmap. In B. H. Cheng, R. Lemos, H. Giese, P. Inverardi, and J. Magee, editors, Software Engineering for Self-Adaptive Systems, volume 5525 of Lecture Notes in Computer Science, pages 1–26. Springer Berlin Heidelberg, 2009.
[15]
A. Computing et al. An architectural blueprint for autonomic computing. IBM White Paper, 2006.
[16]
C. E. da Silva and R. de Lemos. Using dynamic workflows for coordinating self-adaptation of software systems. Software Engineering for Adaptive and Self-Managing Systems, International Workshop on, 0:86–95, 2009.
[17]
L. de Alfaro and T. A. Henzinger. Interface automata. In ESEC / SIGSOFT FSE, pages 109–120. ACM, 2001.
[18]
N. R. D’Ippolito, V. Braberman, N. Piterman, and S. Uchitel. Synthesis of live behaviour models. In Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering, FSE ’10, pages 77–86, New York, NY, USA, 2010. ACM.
[19]
A. Elkhodary, N. Esfahani, and S. Malek. Fusion: a framework for engineering self-tuning self-adaptive software systems. In Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering, pages 7–16. ACM, 2010.
[20]
I. Epifani, C. Ghezzi, R. Mirandola, and G. Tamburrelli. Model evolution by run-time parameter adaptation. In Software Engineering, 2009. ICSE 2009. IEEE 31st International Conference on, pages 111–121. IEEE, 2009.
[21]
N. Esfahani and S. Malek. Uncertainty in self-adaptive software systems. In R. de Lemos, H. Giese, H. A. Müller, and M. Shaw, editors, Software Engineering for Self-Adaptive Systems, volume 7475 of Lecture Notes in Computer Science, pages 214–238. Springer, 2010.
[22]
E. Gat. Three-layer Architectures, Artificial Intelligence and Mobile Robots. MIT/AAAI Press, 1997.
[23]
C. Ghezzi, L. S. Pinto, P. Spoletini, and G. Tamburrelli. Managing non-functional uncertainty via model-driven adaptivity. In Proceedings of the 2013 International Conference on Software Engineering, pages 33–42. IEEE Press, 2013.
[24]
D. Giannakopoulou and J. Magee. Fluent model checking for event-based systems. In Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, ESEC/FSE-11, pages 257–266, New York, NY, USA, 2003. ACM.
[25]
H. Giese and W. Schaefer. Model-driven development of safe self-optimizing mechatronic systems with mechatronicUML. Technical Report tr-ri-12-322, Software Engineering Group, Heinz Nixdorf Institute, University of Paderborn, Paderborn, Germany, Apr. 2012.
[26]
J. H. Gillula, H. Huang, M. P. Vitus, and C. J. Tomlin. Design and analysis of hybrid systems, with applications to robotic aerial vehicles. In C. Pradalier, R. Siegwart, and G. Hirzinger, editors, ISRR, volume 70 of Springer Tracts in Advanced Robotics, pages 139–149. Springer, 2009.
[27]
H. J. Goldsby, P. Sawyer, N. Bencomo, B. H. Cheng, and D. Hughes. Goal-based modeling of dynamically adaptive system requirements. In Engineering of Computer Based Systems, 2008. ECBS 2008. 15th Annual IEEE International Conference and Workshop on the, pages 36–45. IEEE, 2008.
[28]
E. Grädel, W. Thomas, and T. Wilke, editors. Automata logics, and infinite games: a guide to current research. Springer-Verlag New York, Inc., New York, NY, USA, 2002.
[29]
J. A. Hager. Software cost reduction methods in practice. IEEE Trans. Softw. Eng., 15(12):1638–1644, Dec. 1989.
[30]
J. Kramer and J. Magee. Self-managed systems: an architectural challenge. In 2007 Future of Software Engineering, FOSE ’07, pages 259–268, Washington, DC, USA, 2007. IEEE Computer Society.
[31]
H. Kress-Gazit, D. Conner, H. Choset, A. Rizzi, and G. Pappas. Courteous cars. Robotics Automation Magazine, IEEE, 15(1):30–38, 2008.
[32]
E. Letier and W. Heaven. Requirements modelling by synthesis of deontic input-output automata. In D. Notkin, B. H. C. Cheng, and K. Pohl, editors, ICSE, pages 592–601. IEEE / ACM, 2013.
[33]
J. Magee and J. Kramer. Concurrency: state models & Java programs. Wiley New York, 2006.
[34]
Z. Manna and R. Waldinger. A deductive approach to program synthesis. ACM Trans. Program. Lang. Syst., 2(1):90–121, Jan. 1980.
[35]
A. D. Marco, P. Inverardi, and R. Spalazzese. Synthesizing self-adaptive connectors meeting functional and performance concerns. In M. Litoiu and J. Mylopoulos, editors, SEAMS, pages 133–142. IEEE / ACM, 2013.
[36]
V. Panzica La Manna, J. Greenyer, C. Ghezzi, and C. Brenner. Formalizing correctness criteria of dynamic updates derived from specification changes. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pages 63–72. IEEE Press, 2013.
[37]
N. Piterman, A. Pnueli, and Y. Sa’ar. Synthesis of reactive (1) designs. Lecture notes in computer science, 3855:364–380, 2006.
[38]
P. Ramadge and W. Wonham. The control of discrete event systems. Proceedings of the IEEE, 77(1):81–98, 1989.
[39]
A. J. Ramirez, B. H. Cheng, N. Bencomo, and P. Sawyer. Relaxing claims: Coping with uncertainty while evaluating assumptions at run time. In R. B. France, J. Kazmeier, R. Breu, and C. Atkinson, editors, Model Driven Engineering Languages and Systems, volume 7590 of Lecture Notes in Computer Science, pages 53–69. Springer Berlin Heidelberg, 2012.
[40]
B. Randell. System structure for software fault tolerance. Software Engineering, IEEE Transactions on, (2):220–232, 1975.
[41]
S. Russell and P. Norvig. Artificial intelligence: a modern approach. New Jersey, 1995.
[42]
M. Schoppers. Universal plans for reactive robots in unpredictable environments. In IJCAI, volume 87, pages 1039–1046. Citeseer, 1987.
[43]
D. Sykes, D. Corapi, J. Magee, J. Kramer, A. Russo, and K. Inoue. Learning revised models for planning in adaptive systems. In Proceedings of ICSE, 2013.
[44]
D. Sykes, W. Heaven, J. Magee, and J. Kramer. From Goals to Components: A Combined Approach to Self-Management. In Proceedings of the ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS’08, 2008.
[45]
H. Tajalli, J. Garcia, G. Edwards, and N. Medvidovic. Plasma: a plan-based layered architecture for software model-driven adaptation. In Proceedings of the IEEE/ACM international conference on Automated software engineering, pages 467–476. ACM, 2010.
[46]
S. Thrun, W. Burgard, and D. Fox. Probabilistic Robotics (Intelligent Robotics and Autonomous Agents). The MIT Press, 2005.
[47]
A. van Lamsweerde and E. Letier. Handling obstacles in goal-oriented requirements engineering. IEEE Trans. Softw. Eng., 26(10):978–1005, Oct. 2000.
[48]
K. Welsh, P. Sawyer, and N. Bencomo. Towards requirements aware systems: Run-time resolution of design-time assumptions. In Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on, pages 560–563. IEEE, 2011.
[49]
J. Whittle, P. Sawyer, N. Bencomo, B. H. Cheng, and J.-M. Bruel. Relax: Incorporating uncertainty into the specification of self-adaptive systems. In Requirements Engineering Conference, 2009. RE’09. 17th IEEE International, pages 79–88. IEEE, 2009.
[50]
J. Zhang and B. H. C. Cheng. Model-based development of dynamically adaptive software. In ICSE ’06: Proceeding of the 28th international conference on Software engineering, pages 371–380, New York, NY, USA, 2006. ACM Press.

Cited By

View all
  • (2024)Formal Synthesis of Uncertainty Reduction ControllersProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644095(2-13)Online publication date: 15-Apr-2024
  • (2024)Integrating Graceful Degradation and Recovery through Requirement-driven AdaptationProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644090(122-132)Online publication date: 15-Apr-2024
  • (2024)Employing Discrete Controller Synthesis for Developing Systems-of-Systems ControllersProceedings of the 12th ACM/IEEE International Workshop on Software Engineering for Systems-of-Systems and Software Ecosystems10.1145/3643655.3643875(1-8)Online publication date: 14-Apr-2024
  • Show More Cited By

Index Terms

  1. Hope for the best, prepare for the worst: multi-tier control for adaptive systems

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICSE 2014: Proceedings of the 36th International Conference on Software Engineering
    May 2014
    1139 pages
    ISBN:9781450327565
    DOI:10.1145/2568225
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    In-Cooperation

    • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 31 May 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Adaptive systems
    2. controller synthesis
    3. planning
    4. reliability

    Qualifiers

    • Research-article

    Conference

    ICSE '14
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 276 of 1,856 submissions, 15%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)22
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Formal Synthesis of Uncertainty Reduction ControllersProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644095(2-13)Online publication date: 15-Apr-2024
    • (2024)Integrating Graceful Degradation and Recovery through Requirement-driven AdaptationProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644090(122-132)Online publication date: 15-Apr-2024
    • (2024)Employing Discrete Controller Synthesis for Developing Systems-of-Systems ControllersProceedings of the 12th ACM/IEEE International Workshop on Software Engineering for Systems-of-Systems and Software Ecosystems10.1145/3643655.3643875(1-8)Online publication date: 14-Apr-2024
    • (2024)Bringing architecture-based adaption to the mainstreamInformation and Software Technology10.1016/j.infsof.2024.107550(107550)Online publication date: Aug-2024
    • (2023)Efficient Difference Analysis of Guaranteeable Requirements for Fault-tolerant Self-adaptationJournal of Information Processing10.2197/ipsjjip.31.18631(186-195)Online publication date: 2023
    • (2023)Runtime Verification of Self-Adaptive Systems with Changing Requirements2023 IEEE/ACM 18th Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)10.1109/SEAMS59076.2023.00024(104-114)Online publication date: May-2023
    • (2023)Robustification of Behavioral Designs against Environmental Deviations2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE)10.1109/ICSE48619.2023.00046(423-434)Online publication date: May-2023
    • (2023)Pre-controller Synthesis for Runtime Controller Synthesis2023 IEEE 13th International Conference on Control System, Computing and Engineering (ICCSCE)10.1109/ICCSCE58721.2023.10237143(161-166)Online publication date: 25-Aug-2023
    • (2022)Assured Mission Adaptation of UAVsACM Transactions on Autonomous and Adaptive Systems10.1145/351309116:3-4(1-27)Online publication date: 6-Jul-2022
    • (2022)Testing Self-Adaptive Software With Probabilistic Guarantees on Performance Metrics: Extended and Comparative ResultsIEEE Transactions on Software Engineering10.1109/TSE.2021.310113048:9(3554-3572)Online publication date: 1-Sep-2022
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media