Investigating Architecture Description Languages (Adls) a Systematic Literature Review by Sajjad Hussain
Total Page:16
File Type:pdf, Size:1020Kb
Institutionen för datavetenskap Department of Computer and Information Science Final thesis Investigating Architecture Description Languages (ADLs) A Systematic Literature Review By Sajjad Hussain LIU-IDA/LITH-EX-A--13/070--SE 2013-12-20 Linköpings universitet Linköpings universitet Linköpings universitet SE -581 83 Linköping, Sweden 581 83 Linköping This thesis is submitted to the Department of Computer and Information Science (IDA) Linköpings universitet in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering and Management. Contact Information: Author: Sajjad Hussain E-mail: [email protected] University Supervisor: Prof. Kristian Sandahl Email: [email protected] Examiner: Johan Åberg Email: [email protected] Linköpings universitet SE-581 83 Linköping, Sweden ABSTRACT Context: Over the last two decades, software architecture has introduced a new trend in software development. This new trend has completely changed the normal methods and practices of software engineering. The focus has become the architectural elements rather than code and sub-routines. Architecture description languages (ADLs) have been proposed for this kind of architecture based software development. There are a number of different ADLs both in academia and industry; they are not totally adopted by the software engineering community, but they are not avoided either. In this research work, an investigation has been performed based on the ADLs evaluation in practice. Objectives: The main aim of this study is to investigate evaluation of ADLs in academia and industry. To explore the benefits and drawbacks of ADLs in practice. The study also explores the different quality factors improved by ADLs. Further different methods used to build architecture with ADLs and then how to use architecture described with an ADL in software development and maintenance have also been reported. Methods: This research study has been carried out using the systematic literature review method. The systematic literature review follows the guidelines suggested by Kitchenham [21]. Results: This research review has resulted in total of 102 different ADLs. It has been found that out of the 102 different ADLs, 69 ADLs have been evaluated in academia and only 33 ADLs have been evaluated in industry. ADLs have also been classified based on their industrial and academia evaluation. There are total 31 different benefits and 19 different drawbacks of ADLs have been identified. This review also extracted 20 different quality factors from literature that are improved by using ADLs in practice. Further 13 different methods used to build architecture with ADL have also been reported. Finally 9 different methods of ADLs used in software development and maintenance have been identified. Conclusions: The Large number of ADLs with little evaluation in industry suggests that more work needs to be done in order to improve ADLs evaluation in practice. ADLs provide more benefits compared to their drawbacks which suggests that ADLs can be very beneficial. Knowledge gained during this research study, suggests that ADLs are mostly unrecognized. More awareness about ADLs should be provided in education and practice. Keywords: Architecture Description Languages, Benefits / Drawbacks, Quality Factors, Software Development, Software Maintenance. ABBREVIATIONS No Initials Complete Word 1 ADL Architecture Description Langauge 2 PICOC Population, Intervention, Comparison, Outcome and Context 3 UML Unified Modeling Language 4 MDE Model Driven Engineering 5 ACT Abstract Component Technology 6 SCC Sense-Compute-control 7 SAAM Scenario Based Architecture Analysis 8 ATAM Architecture Tradeoff Analysis Method 9 DSDI Domain Specific Development Infraustructure 10 OSA Open Simulation Architecture Project 11 XTEAM Xtensible Toolchain for Evaluation of Architectural Models 12 CBD Component Based Development 13 ATRIUM Architecture genera Ted from RequIrements applying a Unified Methodology 14 AOSD Aspect Oriented Software Development 15 OPN Object Oriented Petri Nets ACKNOWLEDGEMENT I would sincerely thank my supervisor Prof. Kristian Sandahl for his kind encouragement, support and continuous feedback throughout this research project. I would sincerely thank my Examiner Johan Åberg for his kind guidance and support. I would also like to thank my fellow students in the group who helped me during the discussion. And last but not the least I would also like to thank my family and friends who have continuously encouraged and supported me throughout the course of this project. Linköping, August 2013 Table of Contents 1. Introduction ..................................................................................................................................... 4 1.1 Theoretical Background ................................................................................................................ 5 2. Methods .......................................................................................................................................... 8 2.1 Background ................................................................................................................................... 8 2.2 Research Questions ....................................................................................................................... 8 2.3 Search Strategy ............................................................................................................................. 8 2.4 Study Selection ............................................................................................................................. 8 2.4.1 Study quality assessment checklist……………………………………………………......... 8 2.4.2 Data extraction strategy ......................................................................................................... 9 2.4.3 Data synthesis ........................................................................................................................ 9 2.4.4 Review timetable ................................................................................................................... 9 3 Investigation .................................................................................................................................... 9 3.1 Five Research Questions ............................................................................................................. 10 3.2 Relevant Literature Identification ............................................................................................... 10 3.2.1 Identification of search terms ............................................................................................... 10 3.2.2 The Search Process .............................................................................................................. 12 3.2.3 Search Process Documentation ............................................................................................ 12 3.2.4 Study Selection Criteria ....................................................................................................... 12 3.2.5 Inclusion and exclusion criteria ........................................................................................... 12 3.2.6 Selection Process ................................................................................................................. 13 3.2.7 Study Quality Assessment Criteria ...................................................................................... 13 3.2.8 Data Extraction .................................................................................................................... 14 3.2.9 Data Extraction Forms ......................................................................................................... 14 3.2.10 Data Synthesis .................................................................................................................... 16 4 Results ........................................................................................................................................... 17 4.1 ADLs evaluation in practice (academia and industry) ................................................................ 17 4.1.1 Overview of different ADLs Extracted from literature ........................................................ 23 4.2 Classification of ADLs ............................................................................................................... 24 4.2.1 ADLs utilized in Academia.................................................................................................. 24 4.2.2 ADLs utilized in Industry .................................................................................................... 27 4.2.3 ADLs development period ................................................................................................... 28 4.3 Benefits and drawbacks of ADLs in practice .......................................................................... 29 4.3.1 Benefits of ADLs ................................................................................................................. 29 4.3.2 Drawbacks of ADLs ............................................................................................................ 32 4.3.3 Overview of Benefits and Drawbacks of ADLs Extracted from literature .......................... 34 4.4 Quality factors of ADL in practice.............................................................................................. 35 4.4.1 Overview of Quality Factors