Keeping track of modern software applications while dynamically changing requires strong interaction of evolution activities on development level and adaptation activities on operation level. Knowledge about software ...
详细信息
Keeping track of modern software applications while dynamically changing requires strong interaction of evolution activities on development level and adaptation activities on operation level. Knowledge about software architecture is key for both, developers while evolving the system and operators while adapting the system. Existing architectural models used in development differ from those used in operation in terms of purpose, abstraction and content. Consequences are limited reuse of development models during operation, lost architectural knowledge and limited phase-spanning consideration of software architecture. In this paper, we propose modeling concepts of the iObserve approach to align architectural models used in development and operation. We present a correspondence model to bridge the divergent levels of abstraction between implementation artifacts and component-based architectural models. A transformation pipeline uses the information stored in the correspondence model to update architectural models based on changes during operation. Moreover, we discuss the modeling of complex workload based on observations during operation. In a case study-based evaluation, we examine the accuracy of our models to reflect observations during operation and the scalability of the transformation pipeline. Evaluation results show the accuracy of iObserve. Furthermore, evaluation results indicate iObserve adequately scales for some cases but shows scalability limits for others. (C) 2020 Elsevier Inc. All rights reserved.
Modern software systems are constantly evolving and therefore subject to change. model-based knowledge about software systems improves traceability, supports software evolution processes, and helps in quality predicti...
详细信息
ISBN:
(纸本)9798350366266;9798350366259
Modern software systems are constantly evolving and therefore subject to change. model-based knowledge about software systems improves traceability, supports software evolution processes, and helps in quality prediction. model transformation is often used to make heterogeneous model-based knowledge usable for model-consuming processes such as quality prediction. The goal of this work is to automate model-driven knowledge transformation and rule-based knowledge refinement to support model-consuming processes. Therefore, a model-driven composition and refinement approach is introduced that links model-generating processes such as reverse engineering with model-consuming processes such as quality prediction. The approach is realized in the form of a metamodel-independent framework that can be adapted to different target metamodels. The refinement rules of our approach are formulated using a high-level programming language. Besides the metamodel-independent framework, we present a concrete instantiation of the framework for a software architecture model for quality prediction. To demonstrate the approach, the instantiation of the framework is applied to six case studies. The results indicate that we can perform a lossless composition of input information into output models. Furthermore, the demonstration shows that the metamodel-independent framework enables knowledge refinement, achieving an F-score of 1.0 by enforcing eight specific refinement rules.
Current research on performance awareness evaluates approaches primarily for their functional correctness but does not assess to what extent developers are supported in improving software implementations. This article...
详细信息
ISBN:
(数字)9783030022273
ISBN:
(纸本)9783030022273;9783030022266
Current research on performance awareness evaluates approaches primarily for their functional correctness but does not assess to what extent developers are supported in improving software implementations. This article presents the evaluation of an existing approach for supporting developers of Java Enterprise Edition (EE) applications with response time estimations based on a controlled human-oriented experiment. The main goal of the experiment is to quantify the effectiveness of employing the approach while optimizing the response time of an implementation. Subjects' optimizations are quantified by the amount of fixed performance bugs. Having employed the approach, subjects fixed on average over three times more performance bugs. The results further indicate that in the absence of a performance awareness aid, the success of optimizing a previously unknown implementation is far less dependent of the behavior and skill level of the developer.
Early, model-based performance predictions help to understand the consequences of design decisions on the performance of the resulting system before the system's implementation becomes available. While this helps ...
详细信息
ISBN:
(纸本)9783540698135
Early, model-based performance predictions help to understand the consequences of design decisions on the performance of the resulting system before the system's implementation becomes available. While this helps reducing the costs for redesigning systems not meeting their extra-functional requirements, performance prediction models have to abstract from the full complexity of modern hard- and software environments potentially leading to imprecise predictions. As a solution, the construction and execution of prototypes on the target execution environment gives early insights in the behaviour of the system under realistic conditions. In literature several approaches exist to generate prototypes from models which either generate code skeletons or require detailed models for the prototype. In this paper, we present an approach which aims at automated generation of a performance prototype based solely on a design model with performance annotations. For the concrete realisation, we used the palladio component model (PCM), which is a component-based architecture modelling language supporting early performance analyses. For a typical three-tier business application, the resulting Java EE code shows how the prototype can be used to evaluate the influence of complex parts of the execution environment like memory interactions or the operating system's scheduler.
Providing users with Quality of Service (QoS) guarantees and the prevention of performance problems are challenging tasks for software systems. Architectural performance models can be applied to explore performance pr...
详细信息
ISBN:
(纸本)9781450348997
Providing users with Quality of Service (QoS) guarantees and the prevention of performance problems are challenging tasks for software systems. Architectural performance models can be applied to explore performance properties of a software system at design time and run time. At design time, architectural performance models support reasoning on effects of design decisions. At run time, they enable automatic reconfigurations by reasoning on the effects of changing user behavior. In this paper, we present a framework for the extraction of architectural performance models based on monitoring log files generalizing over the targeted architectural modeling language. Using the presented framework, the creation of a performance model extraction tool for a specific modeling formalism requires only the implementation of a key set of object creation routines specific to the formalism. Our framework integrates them with extraction techniques that apply to many architectural performance models, e.g., resource demand estimation techniques. This lowers the effort to implement performance model extraction tools tremendously through a high level of reuse. We evaluate our framework presenting builders for the Descartes modeling Language (DML) and the palladio component model (PCM). For the extracted models we compare simulation results with measurements receiving accurate results.
The earlier performance problems are detected, the easier they can be solved. Performance evaluations during the implementation phase of software projects cause overhead for developers. Unless performance evaluations ...
详细信息
ISBN:
(纸本)9783319232676;9783319232669
The earlier performance problems are detected, the easier they can be solved. Performance evaluations during the implementation phase of software projects cause overhead for developers. Unless performance evaluations are highly automated, they are not adopted in practice. This paper presents an approach to introduce performance awareness in Java Enterprise Edition (EE) integrated development environments (IDE) by providing automated model-based performance evaluations. The approach predicts response times of Java EE component operations and provides feedback to the developer within the IDE. Response time predictions are performed based on the component implementation and the response time of required services. The source code of the component to be evaluated is parsed and represented as an abstract syntax structure. This structure is then converted into a performance model representing the control flow of component operations and calls to required services. The response time of external calls is parameterized using monitoring data acquired by application performance monitoring (APM) tools from production systems. Developers are provided with immediate feedback, if the estimated response time of a component operation exceeds a predefined threshold.
暂无评论