13 research outputs found

    Optimizing decomposition of software architecture for local recovery

    Get PDF
    Cataloged from PDF version of article.The increasing size and complexity of software systems has led to an amplified number of potential failures and as such makes it harder to ensure software reliability. Since it is usually hard to prevent all the failures, fault tolerance techniques have become more important. An essential element of fault tolerance is the recovery from failures. Local recovery is an effective approach whereby only the erroneous parts of the system are recovered while the other parts remain available. For achieving local recovery, the architecture needs to be decomposed into separate units that can be recovered in isolation. Usually, there are many different alternative ways to decompose the system into recoverable units. It appears that each of these decomposition alternatives performs differently with respect to availability and performance metrics. We propose a systematic approach dedicated to optimizing the decomposition of software architecture for local recovery. The approach provides systematic guidelines to depict the design space of the possible decomposition alternatives, to reduce the design space with respect to domain and stakeholder constraints and to balance the feasible alternatives with respect to availability and performance. The approach is supported by an integrated set of tools and illustrated for the open-source MPlayer software

    ASAAM: Aspectual Software Archi- tecture Analysis Method,” 4th Working

    No full text
    Abstract Software architecture analysis methods aim to predict the quality of a system before it has been developed

    Deriving Design Alternatives based on Quality Factors

    Get PDF

    Micro-IDE : A tool platform for generating efficient deployment alternatives based on microservices

    No full text
    Microservice architecture (MSA) is a paradigm to design and develop scalable distributed applications using loosely coupled, highly cohesive components that can be deployed independently. The applications that realize the MSA may contain thousands of services that together form the overall system. Microservices interact with each other by producing and consuming data. Deploying frequently communicating services to the same physical resource would reduce network utilization, which is vital for reducing costs and improving scalability. Since the physical resources have limited capacity, it is not always possible to deploy communicating services to the same resource. Therefore, automated efficient deployment alternatives need to be generated for MSA in the design phase. To address this problem, we proposed an algorithmic approach to generate efficient microservice deployment configurations to available cloud resources in our previous study. In this study, a tool (Micro-IDE) has been proposed to realize and evaluate this approach. The Micro-IDE tool has been validated using a case study inspired by the Spotify application

    Variability Incorporated Simultaneous Decomposition of Models Under Structural and Procedural Views

    No full text
    This chapter presents hierarchical variability as an important development notion especially when considered together with a systems specification through decomposition. A matured domain-specific environment is the precondition for variability-centric engineering for compositional approaches as targeted in this study: Most of the requirements have been already modeled, and most of the problem domain elements have corresponding reusable solutions. Also, a mature domain enjoys a wide community of developers who are familiar with those problems and solution-space elements and an effective set of specific tools. Decomposition is a fundamental mechanism in many approaches for the specification of various dimensions of modeling. Decomposition of especially structure modeling for software is not new. Here, variability guidance is incorporated into both structure and process decomposition. This chapter combines such notions in the demonstration of variability-centric development suggesting a structural and procedural decomposition of the system. The predecessors, component-oriented approaches rely on the structural decomposition whereas service-oriented development is being supported by process decomposition. A vending machine case study is presented in this chapter for demonstrating the propagation of variability specification along with the enhancements of the component-oriented model and the process model

    Early Aspects: The Current Landscape

    No full text
    Unlimited distribution subject to the copyright
    corecore