Evaluation of Software Architectures under Uncertainty: A Systematic Literature Review

被引:15
作者
Sobhy, Dalia [1 ]
Bahsoon, Rami [2 ,3 ]
Minku, Leandro [2 ]
Kazman, Rick [4 ,5 ]
机构
[1] Arab Acad Sci & Technol & Maritime Transport, Comp Engn Dept, Alexandria, Egypt
[2] Univ Birmingham, Sch Comp Sci, Birmingham, W Midlands, England
[3] FRSA, Birmingham, W Midlands, England
[4] Univ Hawaii, Informat Technol Management, Honolulu, HI 96822 USA
[5] SEI CMU, Pittsburgh, PA USA
关键词
Continuous software architecture evaluation; design-time software architecture evaluation; run-time software architecture evaluation; uncertainty; OPTIMIZATION; MODEL; RELIABILITY; DESIGN; EVOLUTION; TRADEOFF;
D O I
10.1145/3464305
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Context: Evahrating software architectures in uncertain environments raises new challenges, which require continuous approaches. We define continuous evaluation as multiple evaluations of the software architecture that begins at the early stages of the development and is periodically and repeatedly performed throughout the lifetime of the software system. Numerous approaches have been developed for continuous evaluation; to handle dynamics and uncertainties at run-time, over the past years, these approaches are still very few, limited, and lack maturity. Objective: This review surveys efforts on architecture evaluation and provides a unified terminology and perspective on the subject. Method: We conducted a systematic literature review to identify and analyse architecture evaluation approaches for uncertainty including continuous and non-continuous, covering work published between 1990-2020. We examined each approach and provided a classification framework for this field. We present an analysis of the results and provide insights regarding open challenges. Major results and conclusions: The survey reveals that most of the existing architecture evaluation approaches typically lack an explicit linkage between design-time and run-time. Additionally, there is a general lack of systematic approaches on how continuous architecture evaluation can be realised or conducted. To remedy this lack, we present a set of necessary requirements for continuous evaluation and describe sonic examples.
引用
收藏
页数:50
相关论文
共 145 条
[1]   Better software analytics via "DUO": Data mining algorithms using/used-by optimizers [J].
Agrawal, Amritanshu ;
Menzies, Tim ;
Minku, Leandro L. ;
Wagner, Markus ;
Yu, Zhe .
EMPIRICAL SOFTWARE ENGINEERING, 2020, 25 (03) :2099-2136
[2]  
Al-Azzani Sarah., 2010, Proceedings of the 2010 ICSE Workshop on Software Engineering for Secure Systems, ACM, P15
[3]   Elasticity in Cloud Computing: State of the Art and Research Challenges [J].
Al-Dhuraibi, Yahya ;
Paraiso, Fawaz ;
Djarallah, Nabil ;
Merle, Philippe .
IEEE TRANSACTIONS ON SERVICES COMPUTING, 2018, 11 (02) :430-447
[4]  
Al-Naeem T, 2005, PROC INT CONF SOFTW, P244
[5]   Software Architecture Optimization Methods: A Systematic Literature Review [J].
Aleti, Aldeida ;
Buhnova, Barbora ;
Grunske, Lars ;
Koziolek, Anne ;
Meedeniya, Indika .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2013, 39 (05) :658-683
[6]   ArcheOpterix: An Extendable Tool for Architecture Optimization of AADL Models [J].
Aleti, Aldeida ;
Bjoernander, Stefan ;
Grunske, Lars ;
Meedeniya, Indika .
MOMPES: 2009 ICSE WORKSHOP ON MODEL-BASED METHODOLOGIES FOR PERVASIVE AND EMBEDDED SOFTWARE, 2009, :61-71
[7]  
Amram M., 1998, Real Options: Managing Strategic Investment in an Uncertain World
[8]  
[Anonymous], 2016, P EUR C SOFTW ARCH E
[9]  
[Anonymous], 1996, Real Options: Managerial Flexibility and Strategy in Resource Allocation
[10]  
[Anonymous], 1996, SOFTWARE ARCHITECTUR