The International Arab Journal of Information Technology (IAJIT)

..............................
..............................
..............................


Architecture Style Selection using Statistics of Quality Attributes to Reduce Production Costs

As time goes by and software systems grow in complexity and size, there is an increasing need for software architecture as an important tool in software design. Designing an appropriate architecture is necessary in producing a high- quality software, which also suits stakeholders. In order to design the desired high-quality software program, style-based architectures can be used. That is, with the selection of appropriate style architecture, we will get an ideal architecture for design. With the same attitude in this research, using a statistical computational algorithm, we have attempted to select the appropriate software architecture style to meet stakeholders’ requirements. In meeting Non-Functional Requirements (NFRs) of stakeholders, increase of one NFR does not increase the others necessarily, and they may be at odds with each other, thus the best quality for all cannot be achieved. In the designing stage of an ideal software, we must take into account the production and maintenance costs as well as a trade-off between stakeholders’ desired needs. The proposed algorithm structure involves a method using Gamma Probability Distribution Function (PDF). In a way that, a statistical estimate for each present style is created, and finally in the design of the software, the best style (based on the mentioned statistical estimate) is used for meeting the stakeholder’s needs. The method not only creates NFRs in the software program, but also gives importance to production and maintenance costs. This requires that the qualitative data of the problem be converted into quantitative data. It will be fully described in the introduction to the algorithm. In order to verify the validity of the proposed algorithm, the resulted architecture style ranking will be compared with the results of alternative methods namely Analytic Hierarchy Process (AHP) and A Lightweight Value-based Software Architecture Evaluation (LiVASAE). The results confirm the applicability of the proposed algorithm and moreover it has less time complexity with respect to other methods.


[1] Abowd G., Allen R., and Garlan D., “Formalizing Style to Understand Descriptions of Software Architecture,” ACM Transactions on Software Engineering and Methodology, vol. 4, no. 4, pp. 319-364, 1995.

[2] Admodisastro N. and Palaniappan S., “A Code Generator Tool for the Gamma Design Patterns,” Malaysian Journal of Computer Science, vol. 15, no. 2, pp. 94-101, 2002.

[3] Affleck A., Krishna A., and Achuthan N., “Non- Functional Requirements Framework: A Mathematical Programming Approach,” The Computer Journal, vol. 58, no. 5, pp. 1122-1139, 2015.

[4] Albin S., The Art of Software Architecture: Design Methods and Techniques, John Wiley and Sons, 2003.

[5] Arcelli D., Cortellessa V., and Di Pompeo D., “Performance-Driven Software Model Refactoring,” Information and Software Technology, vol. 95, pp. 366-397, 2018.

[6] Astudillo H., “Five Ontological Levels to Describe and Evaluate Software Architecture,” Revista Facultad de Ingeniería-Universidad de Tarapacá, vol. 13, no. 1, pp. 69-76, 2005.

[7] Babamir S. and Khabazian M., “Evaluation of Qualitative Requirement Analysis in Software Architecture,” in Proceedings of the International Conference of IT Knowledge, Mashhad, 2007.

[8] Bedi P. and Gaur V., “Trust Based Prioritization of Quality Attributes,” The International Arab Journal of Information Technology, vol. 5, no. 3, pp. 223-229, 2008.

[9] Bernardo M., Ciancarini P., and Donatiello L., “Architecting Families of Software Systems with Process Algebras,” ACM Transactions on Software Engineering and Methodology, vol. 11, no. 4, pp. 386- 426, 2002.

[10] Béjar R., Latre M., Nogueras-Iso J., Muro-Medrano P., and Zarazaga F., “An Architectural Style for Spatial Data Infrastructures,” International Journal of Geographical Information Science, vol. 23, no. 3, pp. 271-294, 2010.

[11] Binder R., “Testing Object Oriented Software: A Survey,” Software Testing, Verification and Reliability, vol. 6, no. 34, pp. 125-252, 1996.

[12] Bosch J. and Bengtsson P., “Assessing Optimal Software Architecture Maintainability,” in Proceedings of 5th European Conference on Software Maintenance and Reengineering, Lisbon, pp. 168-175, 2001.

[13] Busch A., Fuch D., and Koziolek A., “PerOpteryx: Automated Improvement of Software Architectures,” in Proceedings of IEEE International Conference on Software Architecture Companion, Hamburg, pp. 162- 165, 2019.

[14] Castelli V., Harper R., Heidelberger P., HunterS., Trivedi K., Vaidyanathan K., and Zeggert W., “Proactive Management of Software Aging,” IBM Journal of Research and Development, vol. 45, no. 2, pp. 311-332, 2001.

[15] Chong C., Lee P., and Ling C., “Prioritizing and Fulfilling Quality Attributes for Virtual Lab Development Through Application of Fuzzy Analytic Hierarchy Process and Software Development Guidelines,” Malaysian Journal of Computer Science, vol. 27, no. 1, pp. 1-19, 2014.

[16] Clements P., Bass L., Garlan D., Ivers J., Little R., Nord R., and Stafford J., Documenting Software Architectures, Addison Wesley, 2007.

[17] Ebad S., “Towards Measuring Software Requirements Volatility: A Retrospective Analysis,” Malaysian Journal of Computer Science, vol. 30, no. 2, pp. 99- 116, 2017.

[18] Fieberg J. and Conn P., “A hidden Markov Model to Identify and Adjust for Selection Bias: An Example Involving Mixed Migration Strategies,” Ecology and Evolution, vol. 4, no. 10, pp. 1903-1912, 2014.

[19] Fiondella L. and Gokhale S., “Importance Measures for Modular Software with Uncertain Parameters,” Software Testing, Verification and Reliability, vol. 20, no. 1, pp. 63-85, 2009.

[20] Garlan D. and Shaw M., Advances in Software Engineering and Knowledge Engineering, World Scientific Publishing Company, 1994.

[21] Hadizadeh A. and Tanghatari E., “Parallel Processor Architecture with a New Algorithm for Simultaneous Processing of MIPS-Based Series Instructions,” Emerging Science Journal, vol. 1, no. 4, pp. 226-232, 2018.

[22] Ivančić F., Yang Z., Ganai M., Gupta A., and Ashar P., “Efficient SAT-Based Bounded Model Checking for Software Verification,” Theoretical Computer Science, vol. 404, no. 3, pp. 256-274, 2008.

[23] Jabali F., Sharafi S., and Zamanifar K., “A Quantitative Algorithm to Select Software Architecture by Trade off between Quality Attributes,” Procedia Computer Science, no. 3, pp. 1480-1484, 2011.

[24] Jahanirad H. and Karam H., “BIST-based Testing and Diagnosis of LUTs in SRAM-based FPGAs,” Italian Journal of Science and Engineering, vol. 1, no. 4, pp. 216-225, 2017.

[25] Jegourel C., Legay A., and Sedwards S., “Command- Based Importance Sampling for Statistical Model Checking,” Theoretical Computer Science, vol. 649, pp. 1-24, 2016.

[26] Kalistratov D., “Wireless Video Monitoring of the Megacities Transport Infrastructure,” Civil Engineering Journal, vol. 5, no. 5, pp. 1033-1040, 2019.

[27] Kim C., Lee D., Ko I., and Baik J., “ALightweight Value-based Software Architecture Evaluation. Eighth,” in Proceedings of the International Conference on Software Engineering Artificial Intelligence, Networking, and Parallel Distributed Computing, Qingdao, pp. 646-649, 2007. Architecture Style Selection using Statistics of Quality Attributes to Reduce ... 521

[28] Kim J. and Garlan D., “Analyzing Architectural Styles with Alloy,” in Proceedings of Workshop on the Role of Software Architecture for Testing and Analysis, Portland, pp. 70-80, 2006.

[29] Lefranc G., “NETE Review of Architectural Patterns and Tactics for Micro Services in Academic and Industrial Literature,” IEEE Latin America Transactions, vol. 16, no. 9, pp. 2321-2327, 2018.

[30] Lian Y., Tang Y., and Wang Y., “Objective Bayesian Analysis of JM Model in Software Reliability,” Computational Statistics and Data Analysis, vol. 109, pp. 199-214, 2017.

[31] Lieberherr K. and Xiao C., “Customizing Adaptive Software to Object-Oriented Software Using Grammars,” International Journal of Foundations of Computer Science, vol. 5, no. 2, pp. 179-208, 1994.

[32] Mkaouar H., Zalila B., Hugues J., and Jmaiel M., “A Formal Approach to AADL Model-Based,” International Journal on Software Tools for Technology Transfer, vol. 22, no. 2, pp. 1-29, 2019.

[33] Pérez J., Ramos I., Carsí J., and Costa-Soria C., “Model-Driven Development of Aspect-Oriented Software Architectures,” Journal of Universal Computer Science, vol. 19, no. 10, pp. 1433-1473, 2013.

[34] Perry D. and Wolf A., “Foundations for the Study of Software Architectures,” ACM Software Engineering Notes, vol. 17, no. 4, pp. 40-52, 1999.

[35] Phillips D., Mazzuchi T., and Sarkani S., “An Architecture System Engineering and Acquisition Approach for Space System Software Resiliency,” Information and Software Technology, vol. 94, pp. 150-164, 2018.

[36] Pinto M. and Fuentes L., “Modelling Quality Attributes with Aspect-Oriented Architectural Templates,” Journal of Universal Computer Science, vol. 17, no. 5, pp. 639-669, 2011.

[37] Quaglia F., “Software Diversity-Based Active Replication as An Approach for Enhancing the Performance of Advanced Simulation Systems,” International Journal of Foundations of Computer Science, vol. 18, no. 3, pp. 495-515, 2007.

[38] Ravishanker N., Liu Z., and Ray B., “NHPP Models with Markov Switching for Software Reliability,” Computational Statistics and Data Analysis, vol. 52, no. 8, pp. 3988-3999, 2008.

[39] Ribeiro S., Schmitz E., Alencar A., and Silva M., “Literature Review on the Theory of Constraints Applied in the Software Development Process,” IEEE Latin America Transactions, vol. 16, no. 11, pp. 2747- 2756, 2018.

[40] Salama M. and Bahsoon R., “Analyzing And Modelling Runtime Architectural Stability for Self- Adaptive Software,” Journal of Systems and Software, vol. 133, pp. 95-112, 2017.

[41] Schaefer L., Rabiser R., Clarke D., Bettini L., Benavides D., Botterweck G., Pathak A., Trujillo S., and Villela K., “Software Diversity: State of the Art and Perspectives,” International Journal on Software Tools for Technology Transfer, vol. 14, no. 5, pp. 477- 495, 2012.

[42] Sharma A., Kumar M., and Agarwal S., “A Complete Survey on Software Architectural Styles and Patterns,” The International Conference on Eco-Friendly Computing and Communication Systems, vol. 70, pp. 16-25, 2015.

[43] Sharma T. and Spinellis D., “A Survey on Software Smells,” Journal of Systems and Software, vol. 138, pp. 158-173, 2018.

[44] Sievi-Korte O., Koskimies K., Mäkinen E., “Techniques for Genetic Software Architecture Design,” The Computer Journal, vol. 58, no. 11, pp. 3141-3170, 2015.

[45] Venters C., Capilla R., Betz S., Penzenstadler B., Crick T., Crouch S., Nakagawa E., Becker C., and Carrillo C., “Software Sustainability: Research and Practice from A Software Architecture Viewpoint,” Journal of Systems and Software, vol. 138, pp. 174-188, 2018.

[46] Wang Q. and Yang Zh., A Method of Selecting Appropriate Software Architecture Styles, Quality Attributes and Analytic Hierarchy Process. University of Gothenburg, 2012.

[47] Woodward E., Bowers R., Thio V., Johnson K., Srihari M., and Bracht C., “Agile Methods for Software Practice Transformation,” IBM Journal of Research and Development, vol. 54, no. 2, pp. 3-12, 2010. 522 The International Arab Journal of Information Technology, Vol. 18, No. 4, July 2021 Hamidreza Hasannejad Marzooni received B.S. degree in Mazandaran University of Science and Technology and M.S. degree in Computer Engineering- Software Engineering from Sari Islamic Azad University 2011 and 2013. Respectively. He is studying Computer Engineering- Software Engineering in Babol Islamic Azad University. His current research interests include Software Architecture Styles, Numerical Analysis, and Majority Voting. Homayun Motameni serves as an Professor at the Computer Department, Sari Branch, Islamic Azad University. He obtained his PhD in Computer Engineering- Software Engineering in the Department of Computer at the Islamic Azad University (Sciences and Research Branch), Tehran, Iran. He received his M.S. degree in Computer Engineering-Machine Intelligence from Islamic Azad University-Science and Research Branch and BS from the Shahid Beheshti of Tehran University in Computer Engineering-Software Engineering, Iran. He is on the editorial board of the Journal of Soft Computing and Information Technology (JSCIT) and Director-in-Charge of the journal of advances in computer research (JACR). His research interests include Software Engineering, https://scholar.google.com/citations?view_op=search_a uthors&hl=en&mauthors=label:formal_methods_petri _netModel Checking, Requirements Engineering, performance evaluation. Ali Ebrahimnejad serves as an Associate Professor at the Mathematics Department, Qaemshahr Branch, Islamic Azad University. He obtained his PhD in Applied Mathematics in the Department of Mathematics at the Islamic Azad University (Sciences and Research Branch), Tehran, Iran. He received his BS from the Mazandaran University, Iran. He is on the editorial board of the International Journal of Fuzzy System Applications (IJFSA), Annals of Fuzzy Mathematics and Informatics (AFMI), International Journal of Information and Decision Sciences (IJIDS), Iranian Journal of Optimization (IJO), International Journal of Strategic Decision Sciences (IJSDS) and International Journal of Enterprise information Systems (IJEIS). His research interests include operations research, network flow, data envelopment analysis and fuzzy optimization.