برآورد کمی خصیصههای کارایی، قابلیت اطمینان و امنیت در سبکهای داده مشترک، شیءگرا و لوله و صافی
محورهای موضوعی : مهندسی برق و کامپیوترهدی بانکی 1 , سیدمرتضی بابامیر 2
1 - دانشگاه کاشان
2 - دانشگاه کاشان
کلید واژه: ارزیابی کمی, امنیت سبکهای معماری نرمافزار شبکههای پتری رنگی قابلیت اطمینان, کارایی,
چکیده مقاله :
یک نرمافزار مطلوب باید قادر باشد خصیصههای کیفی مورد نیاز سیستم را علاوه بر نیازهای وظیفهمندی محقق کند. سبکهای معماری نرمافزار علاوه بر توصیف نرمافزار و تجزیه آن به مؤلفهها، تأثیر عمدهای بر روی خصیصههای کیفی نرمافزار طراحیشده دارند. تحلیل و ارزیابی کمی میزان این تأثیرگذاری سبب میشود مناسبترین سبک برای طراحی معماری انتخاب گردد. در این مقاله برای ارزیابی کمی سه خصیصه کاندید موسوم به خصیصههای کیفی کارایی، قابلیت اطمینان و امنیت در سه سبک کاندید موسوم به سبکهای معماری داده مشترک، شیءگرا و لوله و صافی، روشی مبتنی بر شبکه پتری رنگی را ارائه میدهیم که محدودیت روشهای گذشته برای ارزیابی این خصیصهها در سبکها را ندارد. در این روش ابتدا سبکهای کاندید را با استفاده از شبکه پتری رنگی مدل میکنیم. سپس با توجه به قواعدی که برای ارزیابی بیان میکنیم با ابزار CPNTools شبکهها را تحلیل و مقدار خصیصههای کاندید را محاسبه میکنیم. در پایان با استفاده از رتبهبندی سبکها از نظر میزان تحقق خصیصههای کیفی کاندید، بهترین سبک کاندید را برای پیادهسازی مشخص میکنیم. برای ارائه یک نمونه عملی در استفاده از روش پیشنهادی، سیستم خودپرداز را به عنوان یک مورد مطالعه انتخاب کردیم.
A desirable software application should be able to provide the quality attributes required by the system, as well as the functional requirements. Software architecture styles have a significant effect on the quality attributes of the designed software as well as its specification and decomposition.) The quantity evaluation and analysis of this effectiveness rate result in the selection of the most appropriate style for designing the architecture. In this paper, a method based on the Colored Petri Net is proposed to quantitatively evaluate three candidate attributes of the software architectural styles called the quality attributes, performance, reliability, and security in three candidate styles named shared-data, object-oriented, and pipe-and-filter software architectural styles. This method has not limitations of the previous-ones in evaluating the quality attributes. In this method, the candidate styles are firstly modeled by using the Colored Petri Net; then, considering the evaluation rules, CPN tools are used to analyze the networks and calculate the exact value of the candidate attributes. At the end, the best candidate style is chosen for implementation through ranking the styles in terms of the satisfaction level of the candidate quality attributes. To present a practical representation using the proposed methodology, the ATM system has been chosen as a case study.
[1] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, Addison-Wesely, 2nd Edition, 2003.
[2] K. Fukuzawa and M. Saeki, "Evaluating software architectures by coloured petri nets," in Proc. 14th Int. Conf. on Software Engineering and Knowledge Engineering, pp. 263-270, Ischia, Italy, 15-19 Jul.2002.
[3] B. Roy and T. C. N. Graham, Methods for Evaluating Software Architecture: A Survey, School of Computing, TR 545, p. 82, 2008.
[4] J. Bosch and P. Molin, "Software architecture design: evaluation and transformation," in Proc. IEEE Conf. and Workshop on Engineering of Computer-Based Systems, pp. 4-10, Mar. 1999.
[5] V. S. Sharma and K. S. Trivedi, "Quantifying software performance, reliability and security: an architecture-based approach," J. of Systems and Software, vol. 80, no. 4, pp. 493-509, Apr. 2007.
[6] S. S. Gokhale and K. S. Trivedi, "Reliability prediction and sensitivity analysis based on software architecture," Proc. 13th Int. Symp. on Software Reliability Engineering, pp. 64-75, 2002.
[7] R. Roshandel, N. Medvidovic, and L. Golubchik, "A Bayesian model for predicting reliability of software systems at the architectural level," in Proc. Quality of Software Architectures 3rd int. Conf. on Software Architectures, Components, and Applications, pp. 108-126, Medford, MA, USA, 11-13 Jul. 2007.
[8] S. S. Gokhale, et al., "An analytical approach to architecture-based software performance and reliability prediction," Performance Evaluation, vol. 58, no. 4, pp. 391-412, Dec. 2004.
[9] V. S. Sharma and K. S. Trivedi, "Quantifying software performance, reliability and security: an architecture-based approach," J. of Systems and Software, vol. 80, no. 4, pp. 493-509, Apr. 2007.
[10] N. Yang, H. Yu, H. Sun, and Z. Qian, "Quantifying software security based on stochastic petri-nets," J. of Computational Information Systems, vol. 6, no. 9, pp. 3049-3056, Sep. 2010.
[11] S. Tahmasebipour and S. M. Babamir, "Ranking of common architectural styles based on availability, security and performance quality attributes," J. of Computing and Security, vol. 1, no. 2, pp. 83-93, 2014.
[12] W. L. Wang, D. Pan, and M. H. Chen, "Architecture-based software reliability modeling," J. of Systems and Software, vol. 79, no. 1, pp. 132-146, Jan. 2006.
[13] H. Koziolek, B. Schlich, and C. Bilich, "A large-scale industrial case study on architecture-based software reliability analysis," in Proc. 21st IEEE Int. Symp. on Software Reliability Engineering, pp. 279-288, Nov. 2010.
[14] S. M. Sharafi, G. A. Ghazvini, and S. Emadi, "An analytical model for performance evaluation of software architectural styles," in Proc. 2nd Int. Conf. on Software Technology and Engineering, pp. 394-398, 2010.
[15] M. L. Yin, C. L. Hyde, and L. E. James, "A petri-net approach for early-stage system-level software reliability estimation," in Proc. Int. Symp. on Product Quality and Integrity., pp. 100-105, 24-27 Jan. 2000.
[16] W. L. Wang and M. H. Chen, "Heterogeneous software reliability modeling," in Proc. 13th Int. Symp. on Software Reliability Engineering, pp. 41-52, 12-15 Nov. 2002.
[17] R. Pressman, Software Engineering: A Practioner's Approach, McGraw-Hill, 8th Edition, 2014.
[18] ISO, ISO/IEC 9126: Information Technology-Software Product Evaluation-Quality Characteristics and the Guidelines for Their Use, 1991.
[19] P. Clements and R. Nord, Documenting Software Architectures: Views and Beyond, Addison-Wesley, 2010.
[20] K. Jensen and L. M. Kristensen, Coloured Petri Nets: Modelling and Validation of Concurrent Systems, Springer, 2009.
[21] E. Triantaphyllou, B. Kovalerchuk, L. Mann, and G. M. Knapp, "Determining the most important criteria in maintenance decision making," J. of Quality in Maintenance Engineering, vol. 3, no. 1, pp. 16-28, Mar. 1997.
[22] T. L. Saaty, "How to make a decision: the analytic hierarchy process," European J. of Operational Research, vol. 48, no. 1, pp. 9-26, Sep. 1990.
[23] www.expertchoice.com.
[24] S. S. Gokhale, "Architecture-based software reliability analysis: overview and limitations," IEEE Trans. on Dependable and Secure Computing, vol. 4, no. 1, pp. 32-40, Jan. 2007.
[25] www.cpntools.org.
[26] N. Yang, H. Yu, Z. Qian, and H. Sun, "Modeling and quantitatively predicting software security based on stochastic petri-nets," Mathematical and Computer Modelling, vol. 55, no. 1, pp. 102-112, Jan. 2012.
[27] N. Yang, H. Yu, H. Sun, and Z. Qian, "Modeling UML sequence diagrams using extended petri nets," in Proc. Int. Conf. on Information Science and Applications, 8 pp., 21-23 Apr. 2010.
[28] S. Yu and S. Zhou, "A survey on metric of software complexity," in Proc. 2nd IEEE Int. Conf. on Information Management and Engineering, pp. 352-356, 16-18 Apr. 2010.
[29] J. Bosch, "Design and use of industrial software architectures," in Proc. Conf. on Technology of Object-Oriented Languages and Systems, pp. 404-404, Jun. 1999.
[30] H. Zhu, Software Design Methodology: From Principles to Architectural Styles, Butterworth-Heinemann, 2005.