[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3511430.3511449acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisecConference Proceedingsconference-collections
short-paper

Learning to Adapt – Software Engineering for Uncertainty

Published: 24 February 2022 Publication History

Abstract

Modern businesses are being subjected to an unprecedented variety of change drivers that cannot be predicted such as new regulations, emerging business models, and changing needs of stakeholders. This creates new demands on enterprises to meet stated goals in a dynamic and uncertain environment that translate to demands on the enterprise’s software systems. Software systems however are currently designed to deliver a fixed set of goals and assumed to operate in a static environment, falling short in addressing the need for continuous adaptation under uncertainty. State-of-the-art adaptation architectures like MAPE-K have been applied to meeting non-functional requirements in a dynamic environment using a static repository of knowledge. This paper articulates the need for architecting software systems that learn from their own operation to dynamically extend existing knowledge, and utilize the knowledge to meet stated functional goals in an uncertain environment.

References

[1]
Jesper Andersson, Rogerio De Lemos, Sam Malek, and Danny Weyns. 2009. Reflecting on self-adaptive software systems. Proceedings of the 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2009(2009), 38–47. https://doi.org/10.1109/SEAMS.2009.5069072
[2]
Jeffrey M. Barnes, Ashutosh Pandey, and David Garlan. 2013. Automated planning for software architecture evolution. In 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE). 213–223. https://doi.org/10.1109/ASE.2013.6693081
[3]
Gordon Blair, Nelly Bencomo, and Robert B. France. 2009. Models@ run.time. Computer 42, 10 (2009), 22–27. https://doi.org/10.1109/MC.2009.326
[4]
Yuriy Brun, Giovanna Di Marzo Serugendo, Cristina Gacek, Holger Giese, Holger Kienle, Marin Litoiu, Hausi Müller, Mauro Pezzè, and Mary Shaw. 2009. Engineering Self-Adaptive Systems through Feedback Loops. Springer Berlin Heidelberg, Berlin, Heidelberg, 48–70. https://doi.org/10.1007/978-3-642-02161-9_3
[5]
Radu Calinescu, Raffaela Mirandola, Diego Perez-Palacin, and Danny Weyns. 2020. Understanding Uncertainty in Self-adaptive Systems. In 2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS). 242–251. https://doi.org/10.1109/ACSOS49614.2020.00047
[6]
Javier Cámara, Alessandro Vittorio Papadopoulos, Thomas Vogel, Danny Weyns, David Garlan, Shihong Huang, and Kenji Tei. 2020. Towards bridging the gap between control and self-adaptive system properties. In SEAMS ’20: IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Seoul, Republic of Korea, 29 June - 3 July, 2020, Shinichi Honiden, Elisabetta Di Nitto, and Radu Calinescu (Eds.). ACM, 78–84. https://doi.org/10.1145/3387939.3391568
[7]
Betty H. C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, Jeff Magee, Jesper Andersson, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Giovanna Di Marzo Serugendo, Schahram Dustdar, Anthony Finkelstein, Cristina Gacek, Kurt Geihs, Vincenzo Grassi, Gabor Karsai, Holger M. Kienle, Jeff Kramer, Marin Litoiu, Sam Malek, Raffaela Mirandola, Hausi A. Müller, Sooyong Park, Mary Shaw, Matthias Tichy, Massimo Tivoli, Danny Weyns, and Jon Whittle. 2009. Software Engineering for Self-Adaptive Systems: A Research Roadmap. In Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar](Lecture Notes in Computer Science, Vol. 5525), Betty H. C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, and Jeff Magee (Eds.). Springer, 1–26. https://doi.org/10.1007/978-3-642-02161-9_1
[8]
Betty H. C. Cheng, Kerstin I. Eder, Martin Gogolla, Lars Grunske, Marin Litoiu, Hausi A. Müller, Patrizio Pelliccione, Anna Perini, Nauman A. Qureshi, Bernhard Rumpe, Daniel Schneider, Frank Trollmann, and Norha M. Villegas. 2014. Using Models at Runtime to Address Assurance for Self-Adaptive Systems. Springer International Publishing, Cham, 101–136. https://doi.org/10.1007/978-3-319-08915-7_4
[9]
Rogério de Lemos, Holger Giese, Hausi A. Müller, Mary Shaw, Jesper Andersson, Marin Litoiu, Bradley Schmerl, Gabriel Tamura, Norha M. Villegas, Thomas Vogel, Danny Weyns, Luciano Baresi, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Ron Desmarais, Schahram Dustdar, Gregor Engels, Kurt Geihs, Karl M. Göschka, Alessandra Gorla, Vincenzo Grassi, Paola Inverardi, Gabor Karsai, Jeff Kramer, Antónia Lopes, Jeff Magee, Sam Malek, Serge Mankovskii, Raffaela Mirandola, John Mylopoulos, Oscar Nierstrasz, Mauro Pezzè, Christian Prehofer, Wilhelm Schäfer, Rick Schlichting, Dennis B. Smith, João Pedro Sousa, Ladan Tahvildari, Kenny Wong, and Jochen Wuttke. 2013. Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. Springer Berlin Heidelberg, Berlin, Heidelberg, 1–32. https://doi.org/10.1007/978-3-642-35813-5_1
[10]
Simon Dobson, Spyros Denazis, Antonio Fernández, Dominique Gaïti, Erol Gelenbe, Fabio Massacci, Paddy Nixon, Fabrice Saffre, Nikita Schmidt, and Franco Zambonelli. 2006. A Survey of Autonomic Communications. ACM Trans. Auton. Adapt. Syst. 1, 2 (Dec. 2006), 223–259. https://doi.org/10.1145/1186778.1186782
[11]
Antonio Filieri, Carlo Ghezzi, Alberto Leva, and Martina Maggio. 2011. Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements. 2011 26th IEEE/ACM International Conference on Automated Software Engineering, ASE 2011, Proceedings(2011), 283–292. https://doi.org/10.1109/ASE.2011.6100064
[12]
David Garlan. 2010. Software Engineering in an Uncertain World. In Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research (Santa Fe, New Mexico, USA) (FoSER ’10). Association for Computing Machinery, New York, NY, USA, 125–128. https://doi.org/10.1145/1882362.1882389
[13]
Jeffrey O. Kephart and David M. Chess. 2003. The Vision of Autonomic Computing. Computer 36, 1 (2003), 41–50. https://doi.org/10.1109/MC.2003.1160055
[14]
Nianyu Li, Sridhar Adepu, Eunsuk Kang, and David Garlan. 2020. Explanations for Human-on-the-Loop: A Probabilistic Model Checking Approach. In Proceedings of the IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (Seoul, Republic of Korea) (SEAMS ’20). Association for Computing Machinery, New York, NY, USA, 181–187. https://doi.org/10.1145/3387939.3391592
[15]
Ashutosh Pandey, Ivan Ruchkin, Bradley Schmerl, and David Garlan. 2020. Hybrid Planning Using Learning and Model Checking for Autonomous Systems. In 2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS). 55–64. https://doi.org/10.1109/ACSOS49614.2020.00026
[16]
Tharindu Patikirikorala, Alan W. Colman, Jun Han, and Liuping Wang. 2012. A systematic survey on the design of self-adaptive software systems using control engineering approaches. In 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2012, Zurich, Switzerland, June 4-5, 2012, Hausi A. Müllerand Luciano Baresi (Eds.). IEEE Computer Society, 33–42. https://doi.org/10.1109/SEAMS.2012.6224389
[17]
Mary Shaw. 1995. Beyond Objects: A Software Design Paradigm Based on Process Control. SIGSOFT Softw. Eng. Notes 20, 1 (Jan. 1995), 27–38. https://doi.org/10.1145/225907.225911
[18]
Stepan Shevtsov, Mihaly Berekmeri, Danny Weyns, and Martina Maggio. 2018. Control-Theoretical Software Adaptation: A Systematic Literature Review. IEEE Trans. Software Eng. 44, 8 (2018), 784–810. https://doi.org/10.1109/TSE.2017.2704579
[19]
Richard S. Sutton and Andrew G. Barto. 1998. Reinforcement Learning: An Introduction. MIT Press, Cambridge, MA, USA. http://www.cs.ualberta.ca/%7Esutton/book/ebook/the-book.html
[20]
Sheila Katherine Venero, Bradley Schmerl, Leonardo Montecchi, Julio Cesar dos Reis, and Cecília Mary Fischer Rubira. 2020. Automated Planning for Supporting Knowledge-Intensive Processes. In Enterprise, Business-Process and Information Systems Modeling, Selmin Nurcan, Iris Reinhartz-Berger, Pnina Soffer, and Jelena Zdravkovic (Eds.). Springer International Publishing, Cham, 101–116.
[21]
Thomas Vogel and Holger Giese. 2010. Adaptation and Abstract Runtime Models. In Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (Cape Town, South Africa) (SEAMS ’10). Association for Computing Machinery, New York, NY, USA, 39–48. https://doi.org/10.1145/1808984.1808989
[22]
Thomas Vogel and Holger Giese. 2011. Language and framework requirements for adaptation models. CEUR Workshop Proceedings 794 (2011), 1–12. https://doi.org/10.1007/978-3-642-29645-1_18
[23]
Thomas Vogel and Holger Giese. 2012. A language for feedback loops in self-adaptive systems: Executable runtime megamodels. In ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems. 129–138. https://doi.org/10.1109/SEAMS.2012.6224399 arxiv:1805.08678
[24]
Thomas Vogel, Stefan Neumann, Stephan Hildebrandt, Holger Giese, and Basil Becker. 2010. Incremental Model Synchronization for Efficient Run-Time Monitoring. In Models in Software Engineering, Sudipto Ghosh (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 124–139.
[25]
Danny Weyns and Tom Holvoet. 2007. An Architectural Strategy for Self-Adapting Systems. In International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’07). 3–3. https://doi.org/10.1109/SEAMS.2007.3
[26]
Danny Weyns, M. Usman Iftikhar, Didac Gil de la Iglesia, and Tanvir Ahmad. 2012. A Survey of Formal Methods in Self-Adaptive Systems. In Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering (Montreal, Quebec, Canada) (C3S2E ’12). Association for Computing Machinery, New York, NY, USA, 67–79. https://doi.org/10.1145/2347583.2347592

Cited By

View all
  • (2024)Digital Twins in Software Engineering—A Systematic Literature Review and VisionApplied Sciences10.3390/app1403097714:3(977)Online publication date: 23-Jan-2024
  • (2023)Uncertainty-aware Simulation of Adaptive SystemsACM Transactions on Modeling and Computer Simulation10.1145/358951733:3(1-19)Online publication date: 13-May-2023
  • (2023)Learning-Aided Adaptation - A Case Study from Wellness EcosystemEnterprise Design, Operations, and Computing. EDOC 2022 Workshops10.1007/978-3-031-26886-1_18(300-315)Online publication date: 24-Feb-2023

Index Terms

  1. Learning to Adapt – Software Engineering for Uncertainty
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Please enable JavaScript to view thecomments powered by Disqus.

          Information & Contributors

          Information

          Published In

          cover image ACM Other conferences
          ISEC '22: Proceedings of the 15th Innovations in Software Engineering Conference
          February 2022
          235 pages
          ISBN:9781450396189
          DOI:10.1145/3511430
          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]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          Published: 24 February 2022

          Permissions

          Request permissions for this article.

          Check for updates

          Author Tags

          1. adaptation architecture
          2. digital twin
          3. knowledge modeling
          4. learning
          5. model driven engineering
          6. run time models
          7. software adaptation
          8. software engineering
          9. uncertainty

          Qualifiers

          • Short-paper
          • Research
          • Refereed limited

          Conference

          ISEC 2022

          Acceptance Rates

          Overall Acceptance Rate 76 of 315 submissions, 24%

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • Downloads (Last 12 months)24
          • Downloads (Last 6 weeks)3
          Reflects downloads up to 12 Dec 2024

          Other Metrics

          Citations

          Cited By

          View all
          • (2024)Digital Twins in Software Engineering—A Systematic Literature Review and VisionApplied Sciences10.3390/app1403097714:3(977)Online publication date: 23-Jan-2024
          • (2023)Uncertainty-aware Simulation of Adaptive SystemsACM Transactions on Modeling and Computer Simulation10.1145/358951733:3(1-19)Online publication date: 13-May-2023
          • (2023)Learning-Aided Adaptation - A Case Study from Wellness EcosystemEnterprise Design, Operations, and Computing. EDOC 2022 Workshops10.1007/978-3-031-26886-1_18(300-315)Online publication date: 24-Feb-2023

          View Options

          Login options

          View options

          PDF

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format.

          HTML Format

          Media

          Figures

          Other

          Tables

          Share

          Share

          Share this Publication link

          Share on social media