3
دانشکده فنی و مهندسی، دانشگاه آزاداﺳﻼﻣی واﺣﺪرﺷﺖ،رﺷﺖ، اﻳﺮان
چکیده
در طول چند دهه گذشته استفاده از سیستمهای خودتطبیق در حوزه مهندسی سیستمهای نرمافزاری به صورت قابل توجهی افزایش یافته است. در همین راستا و برای پیشرفت در حوزه سیستمهای خودتطبیقی و خودمدیریتی و استفاده از تمامی مزایا و قابلیتهای آنها به ابزارها و روشهایی نیاز است که بتواند سیستمهای خودتطبیق را نه تنها در زمان طراحی، بلکه در زمان اجرا نیز مورد ارزیابی قرار دهد، زیرا ارزیابی مهمترین عامل برای درک موفقیت هر سیستم نرمافزاری است. علیرغم استفاده رو به رشد از سیستمهای خودتطبیقی، ارزیابی این نوع سیستمها کمتر مورد توجه قرار گرفته است و اکثر پژوهشهای انجام شده در این حوزه به صورت موردی بوده و خاصیت تغییرپذیری این نوع سیستمها را در زمان اجرا مد نظر قرار نمیدهد. از طرف دیگر، ویژگیهای کیفی و متریکهای مرتبط با آنها که برای ارزیابی سیستمهای خودتطبیق معرفی شدهاند، محدود بوده و کلیه خصوصیات انطباقی این نوع سیستمها را در نظر نمیگیرند. برای حل این مشکلات، در این مقاله چارچوبی برای ارزیابی سیستمهای خودتطبیق معرفی شده است که براساس تجزیه و تحلیل دقیق طیفی از کارهای انجام شده در این حوزه بدست آمده است. به همین منظور، در ابتدا خصوصیات انطباق که هدف اصلی ایجاد سیستمهای خودتطبیقیاند شناسایی شده و به ویژگیهای کیفی متناظرشان که مهمترین معیار برای ارزیابی سیستمهای نرمافزاری میباشند، نگاشت شدهاند. در ادامه نیز متریکهای کیفیت نرمافزار مرتبط با این ویژگیهای کیفی معرفی شده است. باید در نظر داشت که این ویژگیهای کیفی و متریکهای مرتبط با آنها مختص سیستمهای خودتطبیق و براساس ساختار و نحوه عملکرد آنها میباشند و چارچوب پیشنهادی نیز میتواند به عنوان یک زیربنای جامع برای ارزیابی سیستمهای خودتطبیق در نظر گرفته شود.
[1]M. Ahmad, N. Belloir, and J.-M. Bruel,Modeling andVerification of Functional and Non-Functional Requirementsof Ambient Self-Adaptive Systems.Journal of Systems andSoftware, 2015.
[2]R. De Lemos, and et. al.,Software engineering for self-adaptive systems: A second research roadmap,inSoftwareEngineering for Self-Adaptive Systems II, Springer, pp. 1-32,2013.
[3]F. D. Macías-Escrivá, and et. al.,Self-adaptive systems: Asurvey of current approaches,research challenges andapplications.Expert Systems with Applications, 40 (18): pp.7267-7279, 2013.
[4]N. M. Villegas, and et. al.,A framework for evaluatingquality-driven self-adaptive software systems. inProc of the6th international symposium on Software engineering foradaptive and self-managing systems, ACM, 2011.
[5]C. Krupitzer, and et. al.,A survey on engineeringapproaches for self-adaptive systems.Pervasive and MobileComputing, 17: pp. 184-206, 2015.
[6]G. Tamura, and et. al.,Towards practical runtimeverification and validation of self-adaptive software systems,inSoftware Engineering for Self-Adaptive Systems II,Springer, pp. 108-132, 2013.
[7]J. L, Hellerstein, S. Singhal, and Q. Wang,Researchchallenges in control engineering of computing systems. Network and Service Management, IEEE Transactions, 6(4):pp. 206-211, 2009.
[8]M. Salehie, and L. Tahvildari,Self-adaptive software:Landscape and research challenges.ACM Transactions onAutonomous and Adaptive Systems (TAAS), 4(2): pp. 14,2009.
[9]J. L. Hellerstein, and et. al.,Feedback control ofcomputing systems, John Wiley & Sons, 2004.
[10]A. C. Meng,On evaluating self-adaptive software, in Self-Adaptive Software., Springer, pp. 65-74, 2001.
[11]J. A. Mc Cann, and M. C. Huebscher.Evaluation issuesin autonomic computing. inGrid and CooperativeComputing-GCC 2004 Workshops. Springer, 2004.
[12]X. Liu, and Q. Wang.Study on application of aquantitative evaluation approach for software architectureadaptability. inQuality Software,. Fifth InternationalConference on. IEEE, 2005.
[13]D. N. Chin,Empirical evaluation of user models anduser-adapted systems.User modeling and user-adapted interaction, 11(1-2): pp. 181-194, 2001.
[14] S. Taranu, and J. Tiemann. On assessing self-adaptive systems. in Pervasive Computing and Communications Workshops (PERCOM Workshops), IEEE International
Conference, 2010.
[15] K. Appleby, and et. al., Oceano-SLA based management of a computing utility. in Integrated Network Management Proc, IEEE/IFIP International Symposium,
IEEE, 2001.
[16] J. Floch, and et. al., Using architecture models for runtime adaptability. Software, IEEE, 23 (2): pp. 62-70, 2006.
[17] C. Lu, and et. al., Performance specifications and metrics for adaptive real-time systems. in Real-Time Systems Symposium, Proc. The 21st IEEE. IEEE,2000.
[18] D. Garlan, and et. al., Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer, 37 (10): p. 46-54, 2004.
[19] V. Kumar, and et. al., Middleware for enterprise scale data stream management using utility-driven self-adaptive information flows. Cluster Computing, 2007. 10(4): pp.
443-455.
[20] J. White, D. C. Schmidt, and A. Gokhale, Simplifying autonomic enterprise java bean applications via modeldriven development: a case study, in Model Driven
Engineering Languages and Systems, Springer, pp. 601-615, 2005.
[21] V. Cardellini, and et. al., Qos-driven runtime adaptation of service oriented architectures. in Proc of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, ACM, 2009.
[22] A. Solomon, and et. al., Business process adaptation on a tracked simulation model. in Proc of the 2010 Conference of the Center for Advanced Studies on Collaborative Research, 2010. IBM Corp.
[23] S. Parekh, and et. al., Using control theory to achieve service level objectives in performance management. RealTime Systems, 23(1-2): pp. 127-141, 2002.
[24] H. Ehrig, and et. al., Formal analysis and verification of self-healing systems, in Fundamental Approaches to Software Engineering, Springer, pp. 139-153, 2010.
[25] G. Tamura, and et. al., QoS contract-aware reconfiguration of component architectures using e-graphs, in Formal Aspects of Component Software, Springer, pp.
34-52, 2012.
[26]M. Léger, T. Ledoux, and T. Coupaye,Reliabledynamic reconfigurations in a reflective component model,inComponent-Based Software Engineering, Springer, pp.74-92, 2010.
[27]J. Dowling, and V. Cahill.Self-managed decentralisedsystems using K-components and collaborativereinforcement learning. inProc of the 1st ACM SIGSOFTworkshop on Self-managed systems, ACM, 2004.
[28]J. Cámara, and et. al.,Testing the robustness ofcontrollers for self-adaptive systems.Journal of the BrazilianComputer Society, 20 (1): pp. 1-14, 2014.
[29]A. Ganek, and et. al.,Autonomic Computing: Concepts,Infrastructure, and Applications, inOverview of AutonomicComputing: Origins, Evolution, Direction, CRC Press, pp.3-18, 2006.
[30]L. K. Chan, S. W. Cheng, and F. A. Spiring,A newmeasure of process capability: Cpm.Journal of QualityTechnology, 20(3): pp. 162-175, 1988.
[31]A. G. Ganek, and T. A. Corbi,The dawning of theautonomic computing era.IBM systems Journal, 42 (1): pp.5-18, 2003.
[32]J. O. Kephart, and D. M. Chess,The vision ofautonomic computing.Computer, 36 (1): pp. 41-50, 2003.
[33]M. Parashar, and S. Hariri,Autonomic computing: Anoverview, inUnconventional Programming Paradigms,Springer, pp. 257-269, 2005.
[34]P. Reinecke, K. Wolter, and A. Van Moorsel, Evaluating the adaptivity of computing systems.PerformanceEvaluation, 67(8): pp. 676-693, 2010.
[35]M. Barbacc, and et. al.,Quality Attributes. 1995, DTICDocument.
[36]R. Khan, K. Mustafa, and S. Ahson,Software Quality.Concepts and Practices. Alpha Science, Oxford, 2006.
[37]R. Calinescu, and et. al.,Self-adaptive software needsquantitative verification at runtime.Communications of theACM, 55(9): pp. 69-77, 2012.
[38]G. Candea, J. Cutler, and A. Fox,Improvingavailability with recursive microreboots: a soft-state systemcase study.Performance Evaluation, 56(1): pp. 213-248,2004.