Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/3615924.3615939dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
research-article

An Educational Course on Self-Adaptive Systems using IBM Technologies

Published: 11 September 2023 Publication History

Abstract

Distributed software systems and microservices with complex ar-chitectures running on cloud have significantly changed the way applications are developed and managed throughout the software development life-cycle. However, the increased robustness and dynamic nature of these systems have also led to additional op-erational complexities. Some of these complexities are partially resolved by auto-scaling and recovery services provided by plat-forms and services in the cloud. Nonetheless, a large portion of the challenges remain dependent on operational expertise. In response to this issue, self-adaptive mechanisms have proven to be one of the most promising approaches in achieving system versatility, flex-ibility, and dependability. But despite this, industry adoption of self-adaptive systems remains limited in both usage and functional-ity. In this paper, we discuss our to-be-offered educational course on self-adaptive system and how it can help graduate students gain exposure to this software engineering domain by leveraging open-source technologies managed by IBM.

References

[1]
2023. Amazon Elastic Kubernetes Service. https://aws.amazon.com/eks/
[2]
2023. Apache Mesos. https://mesos.apache.org/
[3]
2023. Configuring Service Connections | Cloud Foundry Docs. https://docs. cloudfoundry.org/buildpacks/java/configuring-service-connections.html Ac-cessed: 2023-05-14.
[4]
2023. Docker Swarm. https://docs.docker.com/get-started/orchestration/
[5]
2023. Eclipse OpenJ9. https://www.eclipse.org/openj9/
[6]
2023. Kubernetes. https://kubernetes.io/
[7]
2023. Open Liberty. https://openliberty.io/
[8]
2023. OpenShift Container Platform. https://www.redhat.com/en/technologies/cloud-computing/openshift/container-platform
[9]
Nelly Bencomo, Robert B France, Betty HC Cheng, and Uwe Aßmann. 2014. Models@ run. time: foundations, applications, and roadmaps. Vol. 8378. Springer.
[10]
Yuriy Brun, Giovanna Di Marzo Serugendo, Cristina Gacek, Holger Giese, Holger Kienle, Marin Litoiu, Hausi Müller, Mauro Pezzè, and Mary Shaw. 2009. Engineer-ing Self-Adaptive Systems through Feedback Loops. Springer Berlin Heidelberg, Berlin, Heidelberg, 48–70. https://doi.org/10.1007/978-3-642-02161-9_3
[11]
Tao Chen, Rami Bahsoon, and Xin Yao. 2018. A Survey and Taxonomy of Self-Aware and Self-Adaptive Cloud Autoscaling Systems. ACM Comput. Surv. 51, 3, Article 61 (2018). https://doi.org/10.1145/3190507
[12]
Mahdi Derakhshanmanesh, Mehdi Amoui, Greg O’Grady, Jürgen Ebert, and Ladan Tahvildari. 2011. GRAF: Graph-Based Runtime Adaptation Framework. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (Waikiki, Honolulu, HI, USA) (SEAMS ’11). Association for Computing Machinery, New York, NY, USA, 128–137. https: //doi.org/10.1145/1988008.1988026
[13]
Nathalia Moraes do Nascimento and Carlos José Pereira de Lucena. 2017. FIoT: An agent-based framework for self-adaptive and self-organizing applications based on the Internet of Things. Information Sciences 378 (2017), 161–176. https: //doi.org/10.1016/j.ins.2016.10.031
[14]
Ahmed Elkhodary, Naeem Esfahani, and Sam Malek. 2010. 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 (Santa Fe, New Mexico, USA) (FSE ’10). Association for Computing Machinery, New York, NY, USA, 7–16. https://doi.org/10.1145/1882291.1882296
[15]
Jacqueline Floch, Svein Hallsteinsen, Erlend Stav, Frank Eliassen, Ketil Lund, and Eli Gjorven. 2006. Using architecture models for runtime adaptability. IEEE Software 23, 2 (2006), 62–70. https://doi.org/10.1109/MS.2006.61
[16]
D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. 2004. Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37, 10 (2004), 46–54. https://doi.org/10.1109/MC.2004.175
[17]
Mohammad Hamdaqa and Ladan Tahvildari. 2012. Cloud Computing Uncovered: A Research Landscape. Advances in Computers, Vol. 86. Elsevier, 41–85. https: //doi.org/10.1016/B978-0-12-396535-6.00002-8
[18]
Pooyan Jamshidi, Claus Pahl, Nabor C. Mendonça, James Lewis, and Stefan Tilkov. 2018. Microservices: The Journey So Far and Challenges Ahead. IEEE Software 35, 3 (2018), 24–35. https://doi.org/10.1109/MS.2018.2141039
[19]
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
[20]
Hamzeh Khazaei, Alireza Ghanbari, and Marin Litoiu. 2018. Adaptation as a Service. In Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering (CASCON ’18). IBM Corp., USA, 282–288.
[21]
Marin Litoiu. 2023. Engineering Adaptive Systems. https://marinlitoiu.info.yorku. ca/eecs-6432-engineering-adaptive-systems/
[22]
Basel Magableh and Muder Almiani. 2020. A Self Healing Microservices Architec-ture: A Case Study in Docker Swarm Cluster. 846–858. https://doi.org/10.1007/978-
[23]
030-15032-7_71
[24]
Martinekuan. 2023. Azure service retry guidance - best practices for cloud applica-tions. https://learn.microsoft.com/en-us/azure/architecture/best-practices/retry-service-specific Accessed: 2023-05-12.
[25]
Hausi Müller. 2015. Self-Adaptive and Self-Managing Systems. https://sites.google. com/a/rigiresearch.com/rigi-research/courses/sas
[26]
Peyman Oreizy, Michael M. Gorlick, Richard N. Taylor, D. Heimhigner, G. Johnson, Nenad Medvidovic, Alex Quilici, David S. Rosenblum, and Alexander L. Wolf. 1999. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems and their Applications 14, 3 (1999), 54–62. https://doi.org/10.1109/5254.769885
[27]
Diego Perez-Palacin and Raffaela Mirandola. 2014. Uncertainties in the Modeling of Self-Adaptive Systems: A Taxonomy and an Example of Availability Evaluation. In Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering. Association for Computing Machinery, New York, NY, USA, 3–14. https://doi.org/10.1145/2568088.2568095
[28]
Maria A. Rodriguez and Rajkumar Buyya. 2019. Container-based cluster orchestration systems: A taxonomy and future directions. Software: Prac-tice and Experience 49, 5 (2019), 698–719. https://doi.org/10.1002/spe.2660 arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/spe.2660
[29]
Mazeiar Salehie and Ladan Tahvildari. 2009. Self-Adaptive Software: Landscape and Research Challenges. ACM Trans. Auton. Adapt. Syst. 4, 2, Article 14 (2009). https://doi.org/10.1145/1516533.1516538
[30]
Mazeiar Salehie and Ladan Tahvildari. 2012. Towards a Goal-Driven Approach to Action Selection in Self-Adaptive Software. Softw. Pract. Exper. 42, 2 (feb 2012), 211–233. https://doi.org/10.1002/spe.1066
[31]
Vítor E. Silva Souza, Alexei Lapouchnian, William N. Robinson, and John My-lopoulos. 2011. Awareness Requirements for Adaptive Systems. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. Association for Computing Machinery, New York, NY, USA, 60–69. https://doi.org/10.1145/1988008.1988018
[32]
Abhishek Verma, Luis Pedrosa, Madhukar Korupolu, David Oppenheimer, Eric Tune, and John Wilkes. 2015. Large-Scale Cluster Management at Google with Borg. In Proceedings of the Tenth European Conference on Computer Systems. Association for Computing Machinery, New York, NY, USA, Article 18. https: //doi.org/10.1145/2741948.2741964
[33]
Norha M. Villegas, Hausi A. Müller, Gabriel Tamura, Laurence Duchien, and Rubby Casallas. 2011. A Framework for Evaluating Quality-Driven Self-Adaptive Software Systems. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (Waikiki, Honolulu, HI, USA)(SEAMS ’11). Association for Computing Machinery, New York, NY, USA, 80–89. https://doi.org/10.1145/1988008.1988020
[34]
Danny Weyns. 2021. An Introduction to Self-Adaptive Systems: A Contemporary Software Engineering Perspective. https://doi.org/10.1002/9781119574910
[35]
Danny Weyns. 2022. Designing Self-adaptive Systems. https://people.cs.kuleuven. be/~danny.weyns/
[36]
Danny Weyns, Ilias Gerostathopoulos, Nadeem Abbas, Jesper Andersson, Stefan Biffl, Premek Brada, Tomas Bures, Amleto Di Salle, Patricia Lago, Angelika Musil, Juergen Musil, and Patrizio Pelliccione. 2022. Preliminary Results of a Survey on the Use of Self-Adaptation in Industry. In Proceedings of the 17th Symposium on Software Engineering for Adaptive and Self-Managing Systems. Association for Computing Machinery, New York, NY, USA, 70–76. https://doi.org/10.1145/ 3524844.3528077
[37]
Danny Weyns, Ilias Gerostathopoulos, Barbora Buhnova, Nicolás Cardozo, Emilia Cioroaica, Ivana Dusparic, Lars Grunske, Pooyan Jamshidi, Christine Julien, Judith Michael, Gabriel Moreno, Shiva Nejati, Patrizio Pelliccione, Federico Quin, Genaina Rodrigues, Bradley Schmerl, Marco Vieira, Thomas Vogel, and Rebekka Wohlrab. 2022. Guidelines for Artifacts to Support Industry-Relevant Research on Self-Adaptation. SIGSOFT Softw. Eng. Notes 47, 4 (2022), 18–24. https://doi. org/10.1145/3561846.3561852
[38]
Arnav Vohra. 2021. Exploring the Buyout Mechanism in NFT Fractional-ization. https://medium.com/nibbl/exploring-the-buyout-mechanism-in-nft-fractionalization-ab6722b50d19. Accessed: 2023-02-01.
[39]
Qin Wang, Rujia Li, Qi Wang, and Shiping Chen. 2021. Non-Fungible Token (NFT): Overview, Evaluation, Opportunities and Challenges. arXiv:2105.07447 [cs.CR]
[40]
Edward Wilson. 2021. What are fractionalized NFTs?s. https://www.argent.xyz/learn/fractionalized-nfts/#:~:text=are%20fractionalized%20NFTs%3F-. Accessed: 2023-02-01.
[41]
Gavin Wood. 2014. Ethereum: A secure decentralised generalised transaction ledger. Technical Report. Ethereum Project Yellow Paper. https://ethereum.github.io/yellowpaper/paperpdf
[42]
Dirk A Zetzsche, Douglas W Arner, and Ross P Buckley. 2020. Decen-tralized Finance. Journal of Financial Regulation 6, 2 (09 2020), 172–203. https://doi.org/10.1093/jfr/fjaa010 arXiv:https://academic.oup.com/jfr/article-pdf/6/2/172/37064506/fjaa010pdf

Cited By

View all
  • (2024)Leveraging Large Language Models for the Auto-remediation of Microservice Applications: An Experimental StudyCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663855(358-369)Online publication date: 10-Jul-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '23: Proceedings of the 33rd Annual International Conference on Computer Science and Software Engineering
September 2023
251 pages

Publisher

IBM Corp.

United States

Publication History

Published: 11 September 2023

Author Tags

  1. Self-Adaptive Software
  2. Self-Properties
  3. Adaptation Process
  4. Cloud Computing
  5. Microservices
  6. Open-Source Projects

Qualifiers

  • Research-article

Acceptance Rates

Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)23
  • Downloads (Last 6 weeks)2
Reflects downloads up to 05 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Leveraging Large Language Models for the Auto-remediation of Microservice Applications: An Experimental StudyCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663855(358-369)Online publication date: 10-Jul-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media