مجله علمی  رایانش نرم و فناوری اطلاعات

مجله علمی رایانش نرم و فناوری اطلاعات

روش تطبیق داده‌رانه چندهدفه با تبدیل نوع هدف برای سیستم‌های نرم‌افزاری

نوع مقاله : مقاله پژوهشی فارسی

نویسندگان
1 دانشکده برق و کامپیوتر، واحد علوم و تحقیقات، دانشگاه آزاد اسلامی، تهران، ایران.
2 دانشکده مهندسی و علوم کامپیوتر، دانشگاه شهید بهشتی، تهران، ایران.
3 دانشکده مکانیک، برق و کامپیوتر، دانشگاه آزاد اسلامی واحد علوم و تحقیقات، تهران، ایران.
چکیده
سیستم‌های نرم‌افزاری خودتطبیق می‌توانند علی‌رغم عدم‌قطعیت‌های مختلف به فعالیت خود ادامه دهند. رویکردهای تطبیق مبتنی بر تئوری کنترل که یک مدل ریاضی از سیستم ایجاد می‌کنند، تضمین‌هایی را برای تأمین نیازمندی‌های سیستم خودتطبیق ارائه می‌دهند؛ اما سیستم‌هایی با تغییرات رفتاری متناوب نمی‌توانند این رویکردها را به دلیل بازشناسایی مداوم مدل سیستم، بکار برند؛ لذا محققان رویکردهای تطبیقی ارائه دادند که تئوری کنترل را باهوش مصنوعی یا یادگیری ماشین تلفیق می‌کنند. راه‌حل تطبیق در این رویکردها بر مبنا مدل ریاضی از سیستم نیست؛ اما اولویت اهداف در آن در نظر گرفته نمی‌شود و نحوه ارائه تضمین‌ها برای اهداف سیستم خود تطبیق نیز مشخص نمی‌باشد. این مقاله، یک روش تطبیق چندهدفه مبتنی بر اصول تئوری کنترل داده‌رانه برای سیستم‌های نرم‌افزاری پیشنهاد و تحلیل رسمی از تضمین تأمین نیازمندی‌های سیستم خودتطبیق ارائه می‌دهد. سازوکار تطبیق در این روش، وابسته به داده‌های ورودی و خروجی سیستم است و تصمیم تطبیق نیز از طریق حل یک مسئله بهینه‌سازی چندهدفه تعیین می‌شود. سیستم نرم‌افزاری خود تطبیق مبتنی بر روش تطبیق داده‌رانه می‌تواند با عدم‌قطعیت‌ها در محیط اجرایی، نیازمندی‌ها و پارامترهای سیستم مقابله و نیز از تبدیل نوع هدف در زمان اجرا پشتیبانی نماید. روش تطبیق داده‌رانه با دو مطالعه موردی در دامنه‌های مختلف مورد ارزیابی قرار می‌گیرد. همچنین این روش با یکی از رویکردهای تطبیق تئوری کنترل مبتنی بر مدل و نیز روش تطبیق داده‌رانه بدون پشتیبانی از تبدیل نوع هدف، مقایسه می‌شود. نتایج ارزیابی نشان می‌دهند که علی‌رغم عدم‌قطعیت‌ها، نیازمندی‌های سیستم نرم‌افزاری خود تطبیق مبتنی بر روش تطبیق پیشنهادی تأمین می‌شوند.
کلیدواژه‌ها

 
[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.