From monolithic to component-based performance evaluation of software architectures A series of experiments analysing accuracy and effort

被引:12
|
作者
Martens, Anne [1 ]
Koziolek, Heiko [2 ]
Prechelt, Lutz [3 ]
Reussner, Ralf [1 ]
机构
[1] Karlsruhe Inst Technol, D-76131 Karlsruhe, Germany
[2] ABB Corp Res, D-68526 Ladenburg, Germany
[3] Free Univ Berlin, D-14195 Berlin, Germany
关键词
Empirical study; Software architecture; Performance evaluation; Performance modelling; Performance prediction; PREDICTION METHODS; MODEL; SYSTEMS;
D O I
10.1007/s10664-010-9142-8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Model-based performance evaluation methods for software architectures can help architects to assess design alternatives and save costs for late life-cycle performance fixes. A recent trend is component-based performance modelling, which aims at creating reusable performance models; a number of such methods have been proposed during the last decade. Their accuracy and the needed effort for modelling are heavily influenced by human factors, which are so far hardly understood empirically. Do component-based methods allow to make performance predictions with a comparable accuracy while saving effort in a reuse scenario? We examined three monolithic methods (SPE, umlPSI, Capacity Planning (CP)) and one component-based performance evaluation method (PCM) with regard to their accuracy and effort from the viewpoint of method users. We conducted a series of three experiments (with different levels of control) involving 47 computer science students. In the first experiment, we compared the applicability of the monolithic methods in order to choose one of them for comparison. In the second experiment, we compared the accuracy and effort of this monolithic and the component-based method for the model creation case. In the third, we studied the effort reduction from reusing component-based models. Data were collected based on the resulting artefacts, questionnaires and screen recording. They were analysed using hypothesis testing, linear models, and analysis of variance. For the monolithic methods, we found that using SPE and CP resulted in accurate predictions, while umlPSI produced over-estimates. Comparing the component-based method PCM with SPE, we found that creating reusable models using PCM takes more (but not drastically more) time than using SPE and that participants can create accurate models with both techniques. Finally, we found that reusing PCM models can save time, because effort to reuse can be explained by a model that is independent of the inner complexity of a component. The tasks performed in our experiments reflect only a subset of the actual activities when applying model-based performance evaluation methods in a software development process. Our results indicate that sufficient prediction accuracy can be achieved with both monolithic and component-based methods, and that the higher effort for component-based performance modelling will indeed pay off when the component models incorporate and hide a sufficient amount of complexity.
引用
收藏
页码:587 / 622
页数:36
相关论文
共 22 条
  • [1] From monolithic to component-based performance evaluation of software architecturesA series of experiments analysing accuracy and effort
    Anne Martens
    Heiko Koziolek
    Lutz Prechelt
    Ralf Reussner
    Empirical Software Engineering, 2011, 16 : 587 - 622
  • [2] Modeling event-based communication in component-based software architectures for performance predictions
    Rathfelder, Christoph
    Klatt, Benjamin
    Sachs, Kai
    Kounev, Samuel
    SOFTWARE AND SYSTEMS MODELING, 2014, 13 (04) : 1291 - 1317
  • [3] An evaluation of the impact of component-based architectures on software reusability
    McArthur, K
    Saiedian, H
    Zang, M
    INFORMATION AND SOFTWARE TECHNOLOGY, 2002, 44 (06) : 351 - 359
  • [4] Tool Support for Component-Based Software Architectures
    Buchgeher, Georg
    Weinreich, Rainer
    APSEC 09: SIXTEENTH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2009, : 127 - +
  • [5] Modeling event-based communication in component-based software architectures for performance predictions
    Christoph Rathfelder
    Benjamin Klatt
    Kai Sachs
    Samuel Kounev
    Software & Systems Modeling, 2014, 13 : 1291 - 1317
  • [6] Automatic Evaluation of Complex Design Decisions in Component-based Software Architectures
    Scheerer, Max
    Busch, Axel
    Koziolek, Anne
    MEMOCODE 2017: PROCEEDINGS OF THE 15TH ACM-IEEE INTERNATIONAL CONFERENCE ON FORMAL METHODS AND MODELS FOR SYSTEM DESIGN, 2017, : 68 - 77
  • [7] Reliability prediction for component-based software architectures
    Reussner, RH
    Schmidt, HW
    Poernomo, IH
    JOURNAL OF SYSTEMS AND SOFTWARE, 2003, 66 (03) : 241 - 252
  • [8] Effort estimation of component-based software development - a survey
    Wijayasiriwardhane, T.
    Lai, R.
    Kang, K. C.
    IET SOFTWARE, 2011, 5 (02) : 216 - 228
  • [9] Efficient deadlock analysis of component-based software architectures
    Lambertz, Christian
    Majster-Cederbaum, Mila
    SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (12) : 2488 - 2510
  • [10] Visualization of Evolution of Component-Based Software Architectures in Virtual Reality
    Heidmann, Elke Franziska
    von Kurnatowski, Lynn
    Meinecke, Annika
    Schreiber, Andreas
    EIGHTH IEEE WORKING CONFERENCE ON SOFTWARE VISUALIZATION (VISSOFT 2020), 2020, : 12 - 21