181 research outputs found

    The Atomic Manifesto: a Story in Four Quarks

    Get PDF
    This report summarizes the viewpoints and insights gathered in the Dagstuhl Seminar on Atomicity in System Design and Execution, which was attended by 32 people from four different scientific communities: database and transaction processing systems, fault tolerance and dependable systems, formal methods for system design and correctness reasoning, and hardware architecture and programming languages. Each community presents its position in interpreting the notion of atomicity and the existing state of the art, and each community identifies scientific challenges that should be addressed in future work. In addition, the report discusses common themes across communities and strategic research problems that require multiple communities to team up for a viable solution. The general theme of how to specify, implement, compose, and reason about extended and relaxed notions of atomicity is viewed as a key piece in coping with the pressing issue of building and maintaining highly dependable systems that comprise many components with complex interaction patterns

    Verifying transactional requirements of web service compositions using temporal logic templates

    Get PDF
    Lecture notes in computer science, 2013, vol. 8180 LNCS (Part 1)Ensuring reliability in Web service compositions is of crucial interest as services are composed and executed in long-running, distributed mediums that cannot guarantee reliable communications. Towards this, transactional behavior has been proposed to handle and undo the effects of faults of individual components. Despite significant research interest, challenges remain in providing an easy-to-use, formal approach to verify transactional behavior of Web service compositions before costly development. In this paper, we propose the use of temporal logic templates to specify component-level and composition-level transactional requirements over a Web service composition. These templates are specified using a simple format, configured according to scope and cardinality, and automatically translated into temporal logic. To verify design conformance to a set of implemented templates, we employ model checking. We propose an algorithm to address state space explosion by reducing the models into semantically equivalent Kripke structures. Our approach facilitates the implementation of expressive transactional behavior onto existing complex services, as demonstrated in our experimental study.Scott Bourne, Claudia Szabo, and Quan Z. Shen

    Extended Fault Taxonomy of SOA-Based Systems

    Get PDF
    Service Oriented Architecture (SOA) is considered as a standard for enterprise software development. The main characteristics of SOA are dynamic discovery and composition of software services in a heterogeneous environment. These properties pose newer challenges in fault management of SOA-based systems (SBS). A proper understanding of different faults in an SBS is very necessary for effective fault handling. A comprehensive three-fold fault taxonomy is presented here that covers distributed, SOA specific and non-functional faults in a holistic manner. A comprehensive fault taxonomy is a key starting point for providing techniques and methods for accessing the quality of a given system. In this paper, an attempt has been made to outline several SBSs faults into a well-structured taxonomy that may assist developers to plan suitable fault repairing strategies. Some commonly emphasized fault recovery strategies are also discussed. Some challenges that may occur during fault handling of SBSs are also mentioned

    Towards automatic recovery in protocol-based Web service composition

    Get PDF
    Dans une composition de services Web basĂ©e protocole, un ensemble de services composants se collaborent pour donner lieu Ă  un service Composite. Chaque service est reprĂ©sentĂ© par un automate Ă  Ă©tats finis (AEF). Au sein d un AEF, chaque transition exprime l exĂ©cution d une opĂ©ration qui fait avancer le service vers un Ă©tat suivant. Une exĂ©cution du composite correspond Ă  une sĂ©quence de transitions oĂč chacune est dĂ©lĂ©guĂ©e Ă  un des composants. Lors de l exĂ©cution du composite, un ou plusieurs composants peuvent devenir indisponibles. Ceci peut produire une exĂ©cution incomplĂšte du composite, et de ce fait un recouvrement est nĂ©cessaire. Le recouvrement consiste Ă  transformer l exĂ©cution incomplĂšte en une exĂ©cution alternative ayant encore la capacitĂ© d aller vers un Ă©tat final. La transformation s'effectue en compensant certaines transitions et exĂ©cutant d autres. Cette thĂšse prĂ©sente une Ă©tude formelle du problĂšme de recouvrement dans une composition de service Web basĂ©e protocole. Le problĂšme de recouvrement consiste Ă  trouver une meilleure exĂ©cution alternative parmi celles disponibles. Une meilleure alternative doit ĂȘtre atteignable Ă  partir de l exĂ©cution incomplĂšte avec un nombre minimal de compensations visibles (vis-Ă -vis le client). Pour une exĂ©cution alternative donnĂ©e, nous prouvons que le problĂšme de dĂ©cision associĂ© au calcul du nombre de transitions invisiblement compensĂ©es est NP-Complet. De ce fait, nous concluons que le problĂšme de dĂ©cision associĂ© au recouvrement appartient Ă  la classe P2.In a protocol-based Web service composition, a set of available component services collaborate together in order to provide a new composite service. Services export their protocols as finite state machines (FSMs). A transition in the FSM represents a task execution that makes the service moving to a next state. An execution of the composite corresponds to a sequence of transitions where each task is delegated to a component service. During composite run, one or more delegated components may become unavailable due to hard or soft problems on the Network. This unavailability may result in a failed execution of the composite. We provide in this thesis a formal study of the automatic recovery problem in the protocol-based Web service composition. Recovery consists in transforming the failed execution into a recovery execution. Such a transformation is performed by compensating some transitions and executing some others. The recovery execution is an alternative execution of the composite that still has the ability to reach a final state. The recovery problem consists then in finding the best recovery execution(s) among those available. The best recovery execution is attainable from the failed execution with a minimal number of visible compensations with respect to the client. For a given recovery execution, we prove that the decision problem associated with computing the number of invisibly-compensated transitions is NP-complete. Thus, we conclude that deciding of the best recovery execution is in P2.CLERMONT FD-Bib.Ă©lectronique (631139902) / SudocSudocFranceF

    Decentralized Orchestration of Open Services- Achieving High Scalability and Reliability with Continuation-Passing Messaging

    Get PDF
    The papers of this thesis are not available in Munin. Paper I: Yu, W.,Haque, A. A. M. “Decentralised web- services orchestration with continuation-passing messaging”. Available in International Journal of Web and Grid Services 2011, 7(3):304–330. Paper II: Haque, A. A. M., Yu, W.: “Peer-to-peer orchestration of web mashups”. Available in International Journal of Adaptive, Resilient and Autonomic Systems 2014, 5(3):40-60. Paper V: Haque, A. A. M., Yu, W.: “Decentralized and reliable orchestration of open services”. In:Service Computation 2014. International Academy, Research and Industry Association (IARIA) 2014 ISBN 978-1-61208-337-7.An ever-increasing number of web applications are providing open services to a wide range of applications. Whilst traditional centralized approaches to services orchestration are successful for enterprise service-oriented systems, they are subject to serious limitations for orchestrating the wider range of open services. Dealing with these limitations calls for decentralized approaches. However, decentralized approaches are themselves faced with a number of challenges, including the possibility of loss of dynamic run-time states that are spread over the distributed environment. This thesis presents a fully decentralized approach to orchestration of open services. Our flow-aware dynamic replication scheme supports both exceptional handling, failure of orchestration agents and recovers from fail situations. During execution, open services are conducted by a network of orchestration agents which collectively orchestrate open services using continuation-passing messaging. Our performance study showed that decentralized orchestration improves the scalability and enhances the reliability of open services. Our orchestration approach has a clear performance advantage over traditional centralized orchestration as well as over the current practice of web mashups where application servers themselves conduct the execution of the composition of open web services. Finally, in our empirical study we presented the overhead of the replication approach for services orchestration

    Framework for Automatic Checkpoint Generation

    Get PDF
    Web services provide services to their consumers in accordance with terms and conditions laid down in a document called as Service Level Agreement (SLA). Web services have to abide by these terms and conditions failing which, SLA faults result. Fault handling of web services is a key mechanism using which SLA faults can be avoided. We propose fault handling of choreographed web services using checkpointing and recovery. We propose checkpointing in three stages: design, deployment and dynamic checkpointing. In this paper we propose a framework for generation of checkpoint locations automatically in a given choreography document by applying design time checkpointing rules. We have also developed a tool to demonstrate that the proposed framework is indeed implementable

    Dynamic Checkpointing of Composite Web Services

    Get PDF
    Web services provide services to their consumers in accordance with terms and conditions laid down in a document called as Service Level Agreement (SLA). Web services have to abide by these terms and conditions failing which, SLA faults result. Fault handling of web services is a key mechanism using which SLA faults can be avoided. We propose fault handling of choreographed web services using checkpointing and recovery. We propose checkpointing in three stages: design, deployment and dynamic checkpointing. We have presented first two stages of checkpointing in our earlier publications. In this paper we discuss the need for dynamic checkpointing and, various factors to be considered while revising checkpoint locations dynamically. We also propose a framework for implementing dynamic checkpointing

    Automata for Web Services Fault Monitoring and Diagnosis

    Get PDF
    Like any software, web service fault management is also required to go through different phases of fault management lifecycle. Model based diagnosis has been a well established practice for its several positive aspects including cognitively being better understood by development and testing teams. Automata is a simple and formally well defined model being used for monitoring and diagnosis of system faults. For the reason, here we have reviewed works on automata for web service fault management and also propose a model of stochastic automata for the purpose

    Self-supervising BPEL Processes

    Get PDF
    Service compositions suffer changes in their partner services. Even if the composition does not change, its behavior may evolve over time and become incorrect. Such changes cannot be fully foreseen through prerelease validation, but impose a shift in the quality assessment activities. Provided functionality and quality of service must be continuously probed while the application executes, and the application itself must be able to take corrective actions to preserve its dependability and robustness. We propose the idea of self-supervising BPEL processes, that is, special-purpose compositions that assess their behavior and react through user-defined rules. Supervision consists of monitoring and recovery. The former checks the system's execution to see whether everything is proceeding as planned, while the latter attempts to fix any anomalies. The paper introduces two languages for defining monitoring and recovery and explains how to use them to enrich BPEL processes with self-supervision capabilities. Supervision is treated as a cross-cutting concern that is only blended at runtime, allowing different stakeholders to adopt different strategies with no impact on the actual business logic. The paper also presents a supervision-aware runtime framework for executing the enriched processes, and briefly discusses the results of in-lab experiments and of a first evaluation with industrial partners
    • 

    corecore