1,720,967 research outputs found

    Understanding and Comparing Approaches for Performance Engineering of Self-adaptive Systems Based on Queuing Networks

    No full text
    Enabling self-adaptation within hardware/software systems is a complex task, mainly due to environment uncertainty that has to be faced while the system is providing its functionalities. Besides, non-functional goals that have to be met by the system may be introduced, defining Quality-of-Service (QoS) requirements which drive the adaptation. This paper enhances a previous study which surveyed the literature with respect to performance-driven self-adaptation, supported by the Queuing Network paradigm. The seven approaches identified in previous work are detailed in this paper based on a well-defined taxonomy deriving from the former’s classification scheme and spanning over different dimensions, with particular emphasis on the way adaptation mechanisms are introduced, e.g. available knobs, nonfunctional goals, sources of uncertainty. Based on such taxonomy, internal characteristics of those approaches are described, as well as commonalities and differences, aimed at providing a detailed view of the current state-of-art in the context of performance-driven self-adaptation supported by the Queuing Network paradigm

    Towards a Generalized Queuing Network Model for Self-adaptive Software Systems

    No full text
    A Self-adaptive Software Systems (SASSs) is composed by a managing and a managed subsystem. The former comprises system’s adaptation logic and controls the latter, which provides system’s functionalities by perceiving and affecting the environment through its sensors and actuators, respectively. Such control often conforms to a MAPE-K feedback loop, i.e. a Knowledge-based architecture model that divides the adaptation process into four activities, namely Monitor, Analyze, Plan and Execute. Performance modeling notations, analysis methods and tools, have been coupled to other kinds of techniques (e.g. control theory, machine learning) for modeling and assessing the performance of managing subsystems, possibly aimed at supporting the identification of more convenient architectural alternatives. The contribution of this paper is a generalized Queuing Network model for SASSs, where the managed subsystem is explicitly modelled, thus widening performance modeling and analysis scope to the whole system. Job classes flowing through the QN represent activities of a global feedback control loop, which is based on the system’s mode profile and implemented by class-switches operating in conformance to proper predefined class-switching and routing probabilities. Results obtained by means of a proof-of-concept addressing a realistic case study show that the generalized QN model can usefully support performance-driven architectural decision-making

    A Novel Family of Queuing Network Models for Self-adaptive Systems

    No full text
    A Self-adaptive System (SaS) consists of an autonomic manager which is able to adapt the system’s behavior by operating on a managed sub-system that perceives and affects the environment through its sensors and actuators, respectively. Self-adaptation may occur at different levels, devising a number of knobs that the autonomic manager can properly regulate in order to produce actuation in response to environment sensing. This paper is an extension of our previous work introducing a generalized QN model that allows performance modeling and assessment of SaSs. We here extend previous work by defining modeling patterns and controller selection policies to conform to during the instantiation of the generalized model, resulting into a novel family of QN models aimed at representing the different parts of the system and the dynamics occurring over and among them. A controlled experiment addressing a realistic SaS for emergency handling shows that, by adhering to the defined patterns and controller selection policies, QN models behave as expected, and that the latter can be immersed into a performance optimization context that opens to the development of automated solutions to support the identification of efficient system configurations

    Performance-driven software model refactoring

    No full text
    Context: Software refactoring is a common practice aimed at addressing requirements or fixing bugs during the software development. While refactoring related to functional requirements has been widely studied in the last few years, non-functional-driven refactoring is still critical, mostly because non-functional characteristics of software are hard to assess and appropriate refactoring actions can be difficult to identify. In the context of performance, which is the focus of this paper, antipatterns represent effective instruments to tackle this issue, because they document common mistakes leading to performance problems as well as their solutions. Objective: In order to effectively reuse the knowledge beyond performance antipatterns, automation is required to detect and remove them. In this paper we introduce a framework that enables, in an unique tool context, the refactoring of software models driven by performance antipattern detection and removal. Method: We have implemented, within the EPSILON platform, detection rules and refactoring actions on UML models for a set of well-known performance antipatterns. By exploiting the EPSILON languages to check properties and apply refactoring on models, we enable three types of refactoring sessions. Results: We experiment our framework on a Botanical Garden Management System to show, on one side, that antipatterns can effectively drive software refactoring towards models that satisfy performance requirements and, on the other side, that the automation introduced by EPSILON-based sessions enables to inspect multiple paths and to propose a variety of solutions. Conclusion: This work demonstrates that automation in performance-driven software model refactoring can be beneficial, and that performance antipatterns can be powerful instruments in the hands of software engineers for detecting (and solving) performance problems usually hidden to traditional bottleneck analysis. This work also opens the road to the integration of well-known techniques for software refactoring driven by functional requirements with novel techniques addressing non-functional requirements like performance

    Automated translation among EPSILON languages for performance-driven UML software model refactoring

    No full text
    Although performance represents a crucial non-functional attribute of software, few model-based approaches have been introduced up today for reducing the gap between performance analysis results (e.g., mean response time) and the feedback expected by software engineers when performance problems are detected (i.e., refactoring actions). However, existing approaches aimed at performance-driven refactoring of software models suffer from fragmentation across different paradigms, languages, and meta-models. This paper aims at reducing such fragmentation by ex- ploiting the EPSILON environment, which provides a suite of languages for checking properties and applying refactoring on models. In particular, we introduce automation aimed at translating performance antipattern detection rules and refactoring actions among three EPSILON languages. Such automation helps to reduce code writing effort, in the context of performance-driven refactoring of UML models, while exploiting the specific support provided by the different execution semantics of considered languages

    Challenges in Applying Control Theory to Software Performance Engineering for Adaptive Systems

    No full text
    Control theory has recently started to be applied to software engineering domain, mostly for managing the behavior of adaptive software systems under external disturbances. In general terms, the main advantage of control theory is that it can be formally proven that controllers achieve their goals (with certain characteristics), whereas the price to pay is that controllers and system-to-be-controlled have to be modeled by equations. The investigation of how suited are control theory techniques to address performance problems is, however, still at the beginning. In this paper we devise the main challenges behind the adoption of control theory in the context of Software Performance Engineering applied to adaptive software systems

    Performance-Based Software Model Refactoring in Fuzzy Contexts

    No full text
    The detection of causes of performance problems in software systems and the identification of refactoring actions that can remove the problems are complex activities (even in small/medium scale systems). It has been demonstrated that software models can nicely support these activities, especially because they enable the introduction of automation in the detection and refactoring steps. In our recent work we have focused on performance antipattern-based detection and refactoring of software models. However performance antipatterns suffer from the numerous thresholds that occur in their representations and whose binding has to be performed before the detection starts (as for many pattern/antipattern categorie

    Going Beyond Counting First Authors in Author Co-citation Analysis

    Full text link
    The present study examines one of the fundamental aspects of author co-citation analysis (ACA) - the way co-citation counts are defined. Co-citation counting provides the data on which all subsequent statistical analyses and mappings are based, and we compare ACA results based on two different types of co-citation counting - the traditional type that only counts the first one among a cited work's authors on the one hand and a non-traditional type that takes into account the first 5 authors of a cited work on the other hand. Results indicate that the picture produced through this non-traditional author co-citation counting contains more coherent author groups and is therefore considerably clearer. However, this picture represents fewer specialties in the research field being studied than that produced through the traditional first-author co-citation counting when the same number of top-ranked authors is selected and analyzed. Reasons for these effects are discussed
    corecore