Journal of Soft Computing and Information Technology

Journal of Soft Computing and Information Technology

A Multi-objective Data-Driven Adaptation Method with Goal Type Transformation for Software Systems

Document Type : Persian Original Article

Authors
1 Department of Computer Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran.
2 Faculty of Science & Computer Engineering, Shahid Beheshti University, Tehran, Iran.
Abstract
Self-adaptive software systems can operate continuously despite uncertainties. Control-theoretic adaptation approaches, which construct a mathematical model of the system, provide guarantees for the satisfaction of the self-adaptive system requirements, but systems undergoing frequent changes in their behavior can't use these approaches due to continuous re-identification. Therefore, researchers present adaptation approaches that combine control theory with artificial intelligence or machine learning. The adaptation solution in these approaches does not rely on the mathematical model of the system, but it does not consider the priorities of the goals, and how to provide guarantees for the goals of the self-adaptive system is not determined. This paper proposes a multi-objective data-driven adaptation method for software systems and presents a formal analysis of the guarantee of satisfying the self-adaptive system requirements. The adaptation mechanism in the method relies on the input and output data of the system and determines an adaptation decision by solving a multi-objective optimization problem. The self-adaptive software system based on the data-driven adaptation method can deal with uncertainties in the execution environment, requirements, and system parameters, and it also supports goal transformation at runtime. Two cases in different domains evaluate the data-driven adaptation method. It is also compared with one of the model-based control-theoretic adaptation approaches and a data-driven adaptation method without goal transformation. The results confirm that the requirements of the self-adaptive software system based on the proposed adaptation method are satisfied despite uncertainties.
Keywords

 
[1] S. Shevtsov, D. Weyns and M. Maggio, "SimCA*: A Control-Theoretic Approach to Handle Uncertainty in Self-Adaptive Systems with Guarantees," ACM Transactions on Autonomous and Adaptive Systems (TAAS), vol. 13, pp. 1-34, 2019.
[2] M. U. Iftikhar and D. Weyns, "Activforms: Active formal models for self-adaptation," in Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, 2014, pp. 125-134.
[3] R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola and G. Tamburrelli, "Dynamic QoS management and optimization in service-based systems," IEEE Transactions on Software Engineering, vol. 37, pp. 387-409, 2010.
[4] D. Garlan, B. Schmerl and S.-W. Cheng, "Software Architecture-Based Self-Adaptation," Autonomic Computing and Networking, pp. 31-55, 2009.
[5] D. Weyns, "Software engineering of self-adaptive systems: an organised tour and future challenges," Chapter in Handbook of Software Engineering, 2017.
[6] S. Mahdavi-Hezavehi, D. Weyns, P. Avgeriou, R. Calinescu, R. Mirandola and D. Perez-Palacin, "Uncertainty in Self-Adaptive Systems: A Research Community Perspective," arXiv, 2021.
[7] S. Shevtsov and D. Weyns, "Keep it SIMPLEX: Satisfying multiple goals with guarantees in control-based self-adaptive systems," in Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2016, pp. 229-241.
[8] D. Weyns, N. Bencomo, R. Calinescu, J. Camara, C. Ghezzi, V. Grassi, L. Grunske, P. Inverardi, J.-M. Jezequel, S. Malek and others, "Perpetual assurances for self-adaptive systems," in Software Engineering for Self-Adaptive Systems III. Assurances, Springer, 2017, pp. 31-63.
[9] A. Filieri, M. Maggio, K. Angelopoulos, N. D’ippolito, I. Gerostathopoulos, A. B. Hempel, H. Hoffmann, P. Jamshidi, E. Kalyvianaki, C. Klein, F. Krikava, S. Misailovic, A. V. Papadopoulos, S. Ray, A. M. Sharifloo, S. Shevtsov, M. Ujma and T. Vogel, "Control Strategies for Self-Adaptive Software Systems," ACM Transactions on Autonomous and Adaptive Systems, vol. 11, no. 4, pp. 1-31, 2017.
[10] J. L. Hellerstein, "Self-managing systems: a control theory foundation," in 29th Annual IEEE International Conference on Local Computer Networks, IEEE, 2004, p. 708.
[11] A. Filieri, H. Hoffmann and M. Maggio, "Automated design of self-adaptive software with control-theoretical formal guarantees," in Proceedings of the 36th International Conference on Software Engineering, 2014, pp. 299-310.
[12] M. Litoiu, M. a. T. G. Shaw, N. M. Villegas, H. A. Muller, H. Giese, R. Rouvoy and E. Rutten, "What can control theory teach us about assurances in self-adaptive software systems?," in {Software Engineering for Self-Adaptive Systems III. Assurances, Springer, 2017, pp. 90-134.
[13] A. Filieri, C. Ghezzi, A. Leva and M. Maggio, "Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements," in 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), IEEE, 2011, pp. 283-292.
[14] A. Filieri, C. Ghezzi, A. Leva and M. Maggio, "Reliability-driven dynamic binding via feedback control," in 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), IEEE, 2012, pp. 43-52.
[15] S. Shevtsov, D. Weyns and M. Maggio, "Handling new and changing requirements with guarantees in self-adaptive systems using SimCA," in 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), IEEE, 2017, pp. 12-23.
[16] S. Shevtsov, D. Weyns and M. Maggio, "Self-Adaptation of Software Using Automatically Generated Control-Theoretical Solutions," in Engineering Adaptive Software Systems: Communications of NII Shonan Meetings, vol. 1, Singapore, Springer Singapore, 2019, pp. 35-55.
[17] A. Filieri, H. Hoffmann and M. Maggio, "Automated multi-objective control for self-adaptive software design," in Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, 2015, pp. 13-24.
[18] M. Maggio, A. V. Papadopoulos, A. Filieri and H. Hoffmann, "Automated control of multiple software goals using multiple actuators," in Joint Meeting on Foundations of Software Engineering,ESEC/FSE'17, Paderborn, Germany, 2017.
[19] A. V. Papadopoulos, "Designing Self-Adaptive Software Systems with Control Theory: An Overview," in 2022 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C), 2022.
[20] D. Weyns, "Control-based Software Adaptation," in An Introduction to Self-adaptive Systems: A Contemporary Software Engineering Perspective, Wiley, 2021, pp. 171-199.
[21] S. Shevtsov, D. Weyns and M. Maggio, "SimCA* A Control-theoretic Approach to Handle Uncertainty in Self-adaptive Systems with Guarantees," ACM Transactions on Autonomous and Adaptive Systems (TAAS), vol. 13, pp. 1-34, 2019.
[22] M. Sabuhi, N. Mahmoudi and H. Khazaei, "Optimizing the performance of containerized cloud software systems using adaptive PID controllers," ACM Transactions on Autonomous and Adaptive Systems (TAAS), vol. 15, no. 3, pp. 1556-4665, 2021.
[23] R. D. Caldas, A. Rodrigues, E. B. Gil, G. N. Rodrigues, T. Vogel and P. Pelliccione, "A hybrid approach combining control theory and AI for engineering self-adaptive systems," in Proceedings of the IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, 2020.
[24] D. Weyns, B. Schmerl, M. Kishida, A. Leva, M. Litoiu, N. Ozay, C. Paterson, K. Tei and m. nn, "Towards Better Adaptive Systems by Combining MAPE, Control Theory, and Machine Learning," in IEEE, 2021.
[25] Z. a. J. S. Hou, "Data-driven model-free adaptive control for a class of MIMO nonlinear discrete-time systems," IEEE Transactions on Neural Networks, vol. 22, no. 12, pp. 2173--2188, 2011.
[26] E. Di Nitto, C. Ghezzi, , A. Metzger, M. Papazoglou and K. Pohl, "A journey to highly dynamic, self-adaptive service-based applications," Automated Software Engineering, pp. 313-341, 2008.
[27] S. Gerasimou, R. Calinescu, S. Shevtsov and D. Weyns, "Undersea: an exemplar for engineering self-adaptive unmanned underwater vehicles," in IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), IEEE, 2017, pp. 83-89.
[28] Z. Hou and S. Jin, Model free adaptive control: theory and applications, CRC press, 2013.
[29] Z.-S. Hou and Z. Wang, "From model-based control to data-driven control: Survey, classification and perspective," Information Sciences, vol. 235, pp. 3-35, 2013.
[30] K. J. Astrom and B. Wittenmark, Adaptive Control Second Edition, New York: Addison-Wesley, 2008.
[31] Z. Hou, R. Chi and H. Gao, "An overview of dynamic-linearization-based data-driven control and applications," IEEE Transactions on Industrial Electronics, vol. 64, pp. 4076-4090, 2016.
[32] D. Weyns, "Basic Principles of Self-Adaptation and Conceptual Model," in An Introduction to Self-adaptive Systems: A Contemporary Software Engineering Perspective, WILEY, 2021, pp. 1-14.
[33] S. Petra and C. Popa, "Single projection Kaczmarz extended algorithms," Numerical Algorithms, vol. 73, no. 3, pp. 791-806, 2016.
[34] S. Mahdavi-Hezavehi, P. Avgeriou and D. Weyns, "A Classification Framework of Uncertainty in Architecture-Based Self-Adaptive Systems With Multiple Quality Requirements," in Managing Trade-Offs in Adaptable Software Architectures, Morgan Kaufmann, 2017, pp. 45-77.
[35] S. Burer and A. N. Letchford, "Non-convex mixed-integer nonlinear programming: A survey," Surveys in Operations Research and Management Science, vol. 17, pp. 97-106, 2012.
[36] M. ApS, MOSEK modeling cookbook, 2020.
[37] D. K. Saxena, J. A. Duro, A. Tiwari, K. Deb and Q. Zhang, "Objective reduction in many-objective optimization: Linear and nonlinear algorithms," IEEE Transactions on Evolutionary Computation, vol. 17, pp. 77-99, 2012.