14 research outputs found

    Pattern-driven reuse in architecture-centric evolution for service software

    Get PDF
    Service-based architectures implement business processes as technical software services to develop enterprise software. As a consequence of frequent business and technical change cycles, the architect requires a reusecentered approach to systematically accommodate recurring changes in existing software. Our ‘Pat-Evol’ project aims at supporting pattern-driven reuse in architecture-centric evolution for service software. We propose architecture change mining as a complementary phase to a systematic architecture change execution. Therefore, we investigate the ‘history’ of sequential changes - exploiting change logs - to discover patterns of change that occur during evolution. To foster reuse, a pattern catalogue maintains an updated collection with once-off specification for identified pattern instances. This allows us to exploit change pattern as a generic, first class abstractions (that can be operationalised and parameterised) to support reuse in architecture-centric software evolution. The notion of ‘build-once, use-often’ empowers the role of an architect to model and execute generic and potentially reusable solution to recurring architecture evolution problems

    A framework for acquisition and application of software architecture evolution knowledge

    Get PDF
    Software systems continuously evolve as a consequence of frequent changes in their functional requirements and the environment surrounding them. Architecture-centric software evolution (ACSE) enables changes in software structure and behaviour while abstracting the complex implementation-specific details. However, due to recurring evolution there is a need for solutions that enable a systematic reuse of frequent changes in software architectures. In recent years, architecture change patterns and evolution styles proved successful in promoting reuse expertise to tackle architecture evolution. However, there do not exist any solutions that enable a continuous acquisition and application of architecture evolution knowledge to systematically address frequent changes in software architectures. In this paper, we propose a framework PatEvol that aims to unify the concepts of i) software repository mining and ii) software evolution to enable acquisition and application of architecture evolution knowledge. In the proposed PatEvol framework, we present knowledge acquisition (architecture evolution mining) to enable post-mortem analysis of evolution histories to empirically discover evolution-centric knowledge. Furthermore, we support reuse of discovered knowledge to enable knowledge application (architecture evolution execution) that enables evolution-off-the-shelf in software architectures. Tool support facilitates the knowledge acquisition and knowledge application processes in the PatEvol framework

    Enhancing the OPEN process framework with service-oriented method fragments

    Get PDF
    Service orientation is a promising paradigm that enables the engineering of large-scale distributed software systems using rigorous software development processes. The existing problem is that every service-oriented software development project often requires a customized development process that provides specific service-oriented software engineering tasks in support of requirements unique to that project. To resolve this problem and allow situational method engineering, we have defined a set of method fragments in support of the engineering of the project-specific service-oriented software development processes. We have derived the proposed method fragments from the recurring features of 11 prominent service-oriented software development methodologies using a systematic mining approach.We have added these new fragments to the repository of OPEN Process Framework to make them available to software engineers as reusable fragments using this well-known method repository

    Classification and comparison of architecture evolution-reuse knowledge – a systematic review

    Get PDF
    Context: Architecture-centric software evolution (ACSE) enables changes in system’s structure and behaviour while maintaining a global view of the software to address evolution-centric trade-offs. The existing research and practices for ACSE primarily focus on design-time evolution and runtime adaptations to accommodate changing requirements in existing architectures. Objectives: We aim to identify, taxonomically classify and systematically compare the existing research focused on enabling or enhancing change reuse to support ACSE. Method: We conducted a systematic literature review (SLR) of 32 qualitatively selected studies, and taxonomically classified these studies based on solutions that enable i) empirical acquisition and ii) systematic application of architecture evolution-reuse knowledge to guide ACSE. Results: We identified six distinct research themes that support acquisition and application of architecture evolution-reuse knowledge. We investigated: a) how evolution-reuse knowledge is defined, classified and represented in the existing research to support ACSE, b) what are the existing methods, techniques, and solutions to support: b) empirical acquisition and c) systematic application of architecture evolution-reuse knowledge. Conclusions: Change patterns (34% of selected studies) represent a predominant solution, followed by evolution styles (25%) and adaptation strategies and policies (22%) to enable application of reuse knowledge. Empirical methods for acquisition of reuse knowledge represent 19% including pattern discovery, configuration analysis, evolution and maintenance prediction techniques (approximately 6% each). A lack of focus on empirical acquisition of reuse knowledge suggests the need of solutions with architecture change mining as a complementary and integrated phase for architecture change execution

    Cloud migration research: a systematic review

    Get PDF
    By leveraging cloud services, organizations can deploy their software systems over a pool of resources. However, organizations heavily depend on their business-critical systems, which have been developed over long periods. These legacy applications are usually deployed on-premise. In recent years, research in cloud migration has been carried out. However, there is no secondary study to consolidate this research. This paper aims to identify, taxonomically classify and systematically compare existing research on cloud migration. We conducted a systematic literature review (SLR) of 23 selected studies, published from 2010 to 2013. We classified and compared the selected studies based on a characterization framework that we also introduce in this paper. The research synthesis results in a knowledge base of current solutions for legacy-to-cloud migration. This review also identifies research gaps and directions for future research. This review reveals that cloud migration research is still in early stages of maturity, but is advancing. It identifies the needs for a migration framework to help improving the maturity level and consequently trust into cloud migration. This review shows a lack of tool support to automate migration tasks. This study also identifies needs for architectural adaptation and self-adaptive cloud-enabled system

    Metrics for BPEL process context-independency analysis

    Get PDF
    BPEL processes are workflow-oriented composite services for service-oriented solutions. Rapidly changing environment and turbulent market conditions require flexible BPEL processes to adapt with several modifications during their lifecycles. Such adaptability and flexibility requires the low degree of dependency or coupling between a BPEL process and its surrounding environment. In fact, heavy coupling and context-dependency with partners provoke several undesirable drawbacks such as poor understandability, inflexibility, inadaptability, and defects. This paper is to propose metrics at the design phase to measure BPEL process context-independency. With the aid of these metrics the architect could analyse and control the context-independency of a BPEL process quantitatively. To validate the metrics, authors collected a data set consisting 70 BPEL processes and also gathered the expert’s rating of context-independency through conducting a controlled experiment. The obtained results reveal that there exists a high statistical correlation between the proposed metrics and the expert’s judgment of context-independency

    Adaptive traffic management for secure and efficient emergency services in smart cities

    Get PDF
    Rapid increase in number of vehicles on the roads as well as growing size of cities have led to a plethora of challenges for road traffic management authorities such as traffic congestion, accidents and air pollution. The work presented in this paper focuses on the particular problem of traffic management for emergency services, for which a delay of few minutes may cause human lives risks as well as financial losses. The goal is to reduce the latency of emergency services for vehicles such as ambulances and police cars, with minimum unnecessary disruption to the regular traffic, and preventing potential misuses. To this end, we propose to design a framework in which the Traffic Management System (TMS) may adapt by dynamically adjusting traffic lights, changing related driving policies, recommending behavior change to drivers, and applying essential security controls. The choice of an adaptation depends on the emergency severity level announced by the emergency vehicle(s). The severity level may need to be verified by corresponding authorities to preserve security measures. We discuss the details of our proposed framework and the potential challenges in the pape

    A framework for classifying and comparing architecture-centric software evolution research

    Get PDF
    Context: Software systems are increasingly required to operate in an open world, characterized by continuous changes in the environment and in the prescribed requirements. Architecture-centric software evolution (ACSE) is considered as an approach to support software adaptation at a controllable level of abstraction in order to survive in the uncertain environment. This requires evolution in system structure and behavior that can be modeled, analyzed and evolved in a formal fashion. Existing research and practices comprise a wide spectrum of evolution-centric approaches in terms of formalisms, methods, processes and frameworks to tackle ACSE as well as empirical studies to consolidate existing research. However, there is no unified framework providing systematic insight into classification and comparison of state-of-the-art in ACSE research. Objective: We present a taxonomic scheme for a classification and comparison of existing ACSE research approaches, leading to a reflection on areas of future research. Method: We performed a systematic literature review (SLR), resulting in 4138 papers searched and 60 peer-reviewed papers considered for data collection. We populated the taxonomic scheme based on a quantitative and qualitative extraction of data items from the included studies. Results: We identified five main classification categories: (i) type of evolution, (ii) type of specification, (iii) type of architectural reasoning, (iv) runtime issues, and (v) tool support. The selected studies are compared based on their claims and supporting evidences through the scheme. Conclusion: The classification scheme provides a critical view of different aspects to be considered when addressing specific ACSE problems. Besides, the consolidation of the ACSE evidences reflects current trends and the needs for future research directions

    Graph-based implicit knowledge discovery from architecture change logs

    Get PDF
    Service architectures continuously evolve as a consequence of frequent business and technical change cycles. Architec- ture change log data represents a source of evolution-centric information in terms of intent, scope and operationalisation to accommodate changing requirements in existing architec- ture. We investigate change logs in order to analyse op- erational representation of architecture change instances to discover an implicit evolution-centric knowledge that have been aggregating over time. Change instances from the log are formalised as a typed attributed graph with its node and edge attribution capturing change representation on archi- tecture elements. We exploit graph matching as a knowl- edge discovery technique in order to i) analyse change op- erationalisation and its dependencies for ii) discovering re- current change sequences in the log. We identify potentially reusable, usage-determined change patterns

    Safe stopping of running component-based distributed systems

    Get PDF
    Continuous availability of services and low degree of disruption are two inherent necessities for mission-critical software systems. These systems could not be stopped to perform updates because disruption in their services consequent irretrievable losses. Additionally, compared to offline update, the changes should preserve the correct completion of ongoing activities. In order to place the affected elements in a safe state before dynamic changes take place, the notion of tranquility has been proposed to make quiescence criterion less disruptive and easier to obtain. Additionally, some other approaches have been proposed in order to tackle the shortcomings of these seminal proposals. However, these approaches impose some challenges to the safe dynamic reconfiguration of component-based systems. In this paper, existing challenges to preserve global consistency during runtime software reconfiguration in distributed contexts are described. The contribution of this paper is to propose a number of guidelines which can be served as agenda for future direction of research to enable a dependable safe stopping of running component-based systems
    corecore