چگونگی شناسایی نیازمندیها برای ایجاد نرمافزار خودانطباق در شرایط عدم اطمینان نیازمندی
الموضوعات :رایحه معینفر 1 , احمد عبدالهزاده بارفروش 2 , سیدمهدی تشکری هاشمی 3
1 - دانشگاه صنعتی امیرکبیر
2 - دانشگاه صنعتی امیرکبیر
3 - دانشگاه صنعتی امیرکبیر
الکلمات المفتاحية: سیستمهای خودانطباقعدم اطمینان در نیازمندیمعماری نرمافزارمهندسی نیازمندی,
ملخص المقالة :
یکی از چالشهای اساسی در تولید سیستمهای نرمافزاری، به روز رسانی نیازمندیها در مرحله تولید و اجرا است که میتواند ناشی از عدم اطمینان از فهم و خواسته ذینفعان باشد. عدم اطمینان در نیازمندی، لزوم تولید یک معماری انعطافپذیر و قابل انطباق جهت مدیریتکردن ریسک سیستم در مرحله اجرا را ایجاد میکند. مدلکردن عدم اطمینان در فرایند تولید نرمافزار و انطباق معماری نرمافزار با تغییر نیازمندیها در زمان اجرا به صورت خودکار از جمله راه حلهایی هستند که در این زمینه مطرح میشوند. جهت پیادهسازی و اجرایینمودن سنجش و رفع عدم اطمینان نیازمندی در مراحل تولید و اجرا از طریق مدلسازی و خودکارسازی آن، نیازمند کمی و محاسباتینمودن نیازمندی هستیم. این مقاله ضمن تبیین منابع عدم اطمینان، به کمیکردن نیازمندیها و ویژگیهای توصیفی و کیفی میپردازد. به این ترتیب، تصمیمگیری در هر مرحله از فرایند تولید نرمافزار، مبتنی بر محاسبات عددی میباشد که راهی برای خودکارسازی تولید نرمافزار است.
[1] B. Chen, X. Peng, Y. Yu B. Nuseibeh, and W. Zhao, "Self-adaptation through incremental generative model transformations at runtime," in Proc. 36th ACM/IEEE Int. Conf. on Software Engineering, 12 pp., Hyderabad, India, 31 May-7 Jun. 2014.
[2] K. Welsh, R. Casallas, and P. Sawyer, "Understanding the scope of uncertainty in dynamically adaptive systems," In: R. Wieringa and A. Persson, eds., Requirements Engineering: Foundation for Software Quality, Lecture Notes in Computer Science, vol. 6182, pp. 2-16, 2010.
[3] N. M. Villegas, H. A. Muller, and G. Tamura, "Optimizing run-time SOA governance through context-driven SLAs and dynamic monitoring," in Proc. IEEE Int. Workshop on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems, MESOCA'11, 10 pp., Williamsburg, VA, USA, 26-26 Sept. 2011.
[4] J. O. Kephart and D. M. Chess, "The vision of autonomic computing," Computer, vol. 36, no. 1, pp. 41-50, Jan. 2003.
[5] H. Tajalli, J. Garcia, and G. Edwards, "PLASMA: a plan-based layered architecture for software model-driven adaptation," in Proc. of the IEEE/ACM Int. Conf. on Automated Software Engineering, ASE'10, pp. 467-476, Antwerp, Belgium, 20-24 Sept. 2010.
[6] A. Elkhodary, N. Esfahani, and S. Malek, "FUSION: a framework for engineering self-tuning self-adaptive software systems," ACM SIGSOFT Int. Symp. on Foundations of Software Engineering, FSE'10, pp. 7-16, Santa Fe, NM, USA, 7-11 Nov. 2010.
[7] B. Morin, O. Barais, G. Nain, and J. M. Jezequel, "Taming dynamically adaptive systems using models and aspects," in Proc. Int Conf. on Software Engineering, ICSE'09, pp. 122-132, Vancouver, BC, Canada, 16-24 May 2009.
[8] R. Lemos, et al., "Software engineering for self-adaptive systems: a second research roadmap," In R. de Lemos et al., eds., Self-Adaptive Systems, LNCS 7475, Springer-Verlag, Berlin, pp. 1-32, 2011.
[9] B. H. Cheng, et al., "Software engineering for self-adaptive systems: a research roadmap," In: B. H. C. Cheng, R. de Lemos, H. Giese, P. Inverardi, and J.Magee, eds., Software Engineering for Self-Adaptive Systems, LNCS 5525, p. 1-26, Springer-Verlag, 2009.
[10] N. Bencomo and A. Blaggoun, "A world full of surprise: bayesian theory of surprise to quantify degrees of uncertainty," in Companion Proc. of the 36th Int. Conf. on Software Engineering, pp. 460-463, Hyderabad, India, 31 May-7 Jun. 2014.
[11] M. Shaw, The Role of Design Spaces, IEEE Computer Society, 2012.
[12] N. Bencomo, A. Blaggoun, and V. Issarny, "Dynamic decision networks for decision-making in self-adaptive systems: a case study," in Proc. of the 8th Int. Symp. on Software Engineering for Adaptive and Self-Managing Systems, SEAMS'13, pp. 113-122, San Francisco, CA, USA, 20-21 May 2013.
[13] T. Preisler and W. Renz, "Structural adaptations for self-organizing multi-agent systems," International Journal on Advances in Intelligent Systems, vol. 8, no. 3-4, 8 pp., 2015.
[14] M. Ahmad, N. Belloir, and J. Brue, "Modeling and verification of functional and non-functional requirements of ambient self-adaptive systems," J. of Software and Systems, vol. 107, pp. 50-70, Sept. 2015.
[15] S. Hassan, N. Bencomo, and R. Bahsoon, "Minimizing nasty surprises with better informed decision-making in self-adaptive systems," in Proc. of the 10th Int. Symp. on Software Engineering for Adaptive and Self-Managing System,s SEAM'15, pp. 134-144, Florence, Italy, 16-24 May 2015.
[16] J. L. H. Garcia Paucar, N. Bencomo, and K. Kam Fung Yuen, "Runtime models based on dynamic decision networks: enhancing the decision-making in the domain of ambient assisted living applications," in Proc. of the 11th Int. Workshop on MoDELS, pp. 9-17, Saint Malo, France, 4-4 Oct. 2016.
[17] N. Bencomo and A. Blaggoun, "Supporting decision-making for self-adaptive systems: from goal models to dynamic decision networks," In J. Doerr, A. L. Opdahl, eds., Requirements Engineering: Foundation for Software Quality, LNC7830. Springer, Berlin, 2013.
[18] J. Kramer and J. Magee, "Self-managed systems: an architectural challenge," in Proc. of Future of Software Engineering, FOSE'07, pp. 259-268, 23-25 May 2007.
[19] K. Welsh, P. Sawyer, and N. Bencomo, "Towards requirements aware systems run-time resolution of design-time assumption," in Proc. of the 26th IEEE/ACM Int. Conf. on Automated Software Engineering, ASE'11, pp. 560-563, Washington, DC, USA, 6-10 Nov. 2011.
[20] A. J. Ramirez, et al., "Relaxing claims coping with uncertainty while evaluating assumptions at runtime," In R. B.: France, J. Kazmeier, R. Breu, C. Atkinson, eds., LNCS 7590, pp. 53-69, 30 Sept.-5 Oct. 2012.
[21] J. Whittle, P. Sawyer, N. Bencomo, B. H. C. Cheng, and J. Bruel, "RELAX: incorporating uncertainty into the specification of self-adaptive systems," in Proc. of the 2009 17th IEEE Int. Requirements Engineering Conf., RE'09, pp. 79-78, Atlanta, GA, USA, 31 Aug.-4 Sept. 2009.
[22] S. J. I. Herzig and C. J. J. Paredis, "Bayesian reasoning over models," in Proc. Workshop on Model-Driven Engineering, Verification, and Validation, pp. 69-80, Valencia, Spain, 30 Sept. 2014.
[23] L. Pimentel, D. Ros, and M. Seruffo, "Wired/wireless internet communications," in Proc. Int. Conf. on Wired/Wireless Internet Communication, Malaga, Spain, 25-27 May, 2015.
[24] T. L. Saaty, "Decision making for leaders: the analytic hierarchy process for decisions in a complex world," International J. of Services Sciences, vol. 1, no. 1, pp. 83-98, 2008.
[25] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice (3rd Edition), SEI Series in Software Engineering, Addison-Wesley Professional, 2012.