727 research outputs found

    Dynamic Choreographies: Theory And Implementation

    Get PDF
    Programming distributed applications free from communication deadlocks and race conditions is complex. Preserving these properties when applications are updated at runtime is even harder. We present a choreographic approach for programming updatable, distributed applications. We define a choreography language, called Dynamic Interaction-Oriented Choreography (AIOC), that allows the programmer to specify, from a global viewpoint, which parts of the application can be updated. At runtime, these parts may be replaced by new AIOC fragments from outside the application. AIOC programs are compiled, generating code for each participant in a process-level language called Dynamic Process-Oriented Choreographies (APOC). We prove that APOC distributed applications generated from AIOC specifications are deadlock free and race free and that these properties hold also after any runtime update. We instantiate the theoretical model above into a programming framework called Adaptable Interaction-Oriented Choreographies in Jolie (AIOCJ) that comprises an integrated development environment, a compiler from an extension of AIOCs to distributed Jolie programs, and a runtime environment to support their execution.Comment: arXiv admin note: text overlap with arXiv:1407.097

    REST service testing based on inferred XML schemas

    Full text link
    The concept of service oriented architecture has been extensively explored in software engineering, due to the fact that it produces architectures made up of several interconnected modules, easy to reuse when building new systems. This approach to design would be impossible without interconnection mechanisms such as REST (Representationa State Transfer) services, which allow module communication while minimizing coupling. . However, this low coupling brings disadvantages, such as the lack of transparency, which makes it difficult to sistematically create tests without knowledge of the inner working of a system. In this article, we present an automatic error detection system for REST services, based on a statistical analysis over responses produced at multiple service invocations. Thus, a service can be systematically tested without knowing its full specification. The method can find errors in REST services which could not be identified by means of traditional testing methods, and provides limited testing coverage for services whose response format is unknown. It can be also useful as a complement to other testing mechanisms

    Guiding the Creation of Choreographed Processes with Multiple Instances Based on Data Models

    Get PDF
    Choreography in business processes is used as a mechanism to communicate various organizations, by providing a method to isolate the behaviour of each part and keeping the privacy of their data. Nev ertheless, choreography diagrams can also be necessary inside an orga nization when a single instance of a process needs to interact and be synchronized with multiple instances of another process simultaneously. The description, by business experts, and the implementation, by devel opers, of these choreographed models are highly complex, especially when the activities involved in the processes exchange various data objects and with different cardinalities. We propose the automatic detection of the synchronization points, when a choreographed process model is needed. The choreography will be derived from the analysis of the process model, data objects consumed and generated through the process, and the data conceptual model that relates the data objects. A graphical tool has been developed to support where the synchronization points must be included, helping to decide about the patterns that describe how a single model can be transformed into a choreographed model.Ministerio de Ciencia y Tecnología TIN2015-63502-C3-2-

    Choreographies of Protest Performance as Recruitment to Activism

    Get PDF
    This article seeks to understand why some bystanders to protest transcended to become actors in protests during the re‑emergence of wide-spread student activism in an institution of higher education in South Africa during 2015. For this purpose, a performance ethnography is employed in the observation and analysis of protest performances. The article shows that in encountering an atmosphere of protest, there emerged a relation of feeling, referred to as “feeling the vibe or atmosphere”, which those who became protest performers resolved in ways which increased their capacity to act in favour ofco‑constituting that atmosphere. In the encounter between the body of bystanders and the atmosphere of protest, non‑linear somatic communication, characterised by active and passive gestures and postures,occurred through which protest performers developed contact and connection with other bodies as a result of the displacement of space. Therefore, this article suggests that participation in activism can be about going with the flow of movement in an uncertain and ambiguous moment and is not limited to an identification with the pre‑existing organisation of preferences and interests as the creativity of movement produces a social space – a performed becoming in space

    Reliability and fault-tolerance by choreographic design

    Get PDF
    Distributed programs are hard to get right because they are required to be open, scalable, long-running, and tolerant to faults. In particular, the recent approaches to distributed software based on (micro-)services where different services are developed independently by disparate teams exacerbate the problem. In fact, services are meant to be composed together and run in open context where unpredictable behaviours can emerge. This makes it necessary to adopt suitable strategies for monitoring the execution and incorporate recovery and adaptation mechanisms so to make distributed programs more flexible and robust. The typical approach that is currently adopted is to embed such mechanisms in the program logic, which makes it hard to extract, compare and debug. We propose an approach that employs formal abstractions for specifying failure recovery and adaptation strategies. Although implementation agnostic, these abstractions would be amenable to algorithmic synthesis of code, monitoring and tests. We consider message-passing programs (a la Erlang, Go, or MPI) that are gaining momentum both in academia and industry. Our research agenda consists of (1) the definition of formal behavioural models encompassing failures, (2) the specification of the relevant properties of adaptation and recovery strategy, (3) the automatic generation of monitoring, recovery, and adaptation logic in target languages of interest.peer-reviewe

    An Analysis of Service Trading Architectures

    Get PDF
    Automating the creation and management of SLAs in elec tronic commerce scenarios brings many advantages, such as increasing the speed in the contracting process or allowing providers to deploy an automated provision of services based on those SLAs. We focus on the service trading process, which is the process of locating, selecting, nego tiating, and creating SLAs. This process can be applied to a variety of scenarios and, hence, their requirements are also very different. Despite some service trading architectures have been proposed, currently there is no analysis about which one fits better in each scenario. In this paper, we define a set of properties for abstract service trading architectures based on an analysis of several practical scenarios. Then, we use it to analyse and compare the most relevant abstract architectures for service trad ing. In so doing, the main contribution of this article is a first approach to settle the basis for a qualitative selection of the best architecture for similar trading scenarios

    Issues about the Adoption of Formal Methods for Dependable Composition of Web Services

    Full text link
    Web Services provide interoperable mechanisms for describing, locating and invoking services over the Internet; composition further enables to build complex services out of simpler ones for complex B2B applications. While current studies on these topics are mostly focused - from the technical viewpoint - on standards and protocols, this paper investigates the adoption of formal methods, especially for composition. We logically classify and analyze three different (but interconnected) kinds of important issues towards this goal, namely foundations, verification and extensions. The aim of this work is to individuate the proper questions on the adoption of formal methods for dependable composition of Web Services, not necessarily to find the optimal answers. Nevertheless, we still try to propose some tentative answers based on our proposal for a composition calculus, which we hope can animate a proper discussion

    Using Web services choreography to support an extensible and flexible system development process

    Get PDF
    Systems Engineering (SE) controls a complex environment consisting of various collaborative subsystems. Each subsystem demands different kind of requirements and follows a specific strategy for its development process. Unifying and harmonizing the development process of all collaborative subsystems towards achieving the ultimate integrated system is one of the main challenges of SE. This work introduces a new approach towards having a generic SE unified process applicable to various environments. We suggest a service-oriented framework for SE process implemented using Web Services, and describe the process scenario in a machine-friendly abstract layer over the Development Process. This description layer choreographs collaborative subsystems and is implemented by a Web Services Choreography Description Language (WSCDL). It also covers Interface Management concerns of SE. In such an environment, as long as all services follow a unique framework for the SE process such as the one specified by the International Council on Systems Engineering (INCOSE), each phase of the process would then be an anonymous service implemented by a different vendor. As the result, an organization could easily customize its own specific development environment by editing this choreography layer according to its specific development policies, and then tailor its own desired development environment by choosing and integrating various services available on the Web. Source: Masters Abstracts International, Volume: 45-01, page: 0351. Thesis (M.Sc.)--University of Windsor (Canada), 2006

    Correctness of services and their composition

    Get PDF
    We study correctness of services and their composition and investigate how the design of correct service compositions can be systematically supported. We thereby focus on the communication protocol of the service and approach these questions using formal methods and make contributions to three scenarios of SOC.Wir studieren die Korrektheit von Services und Servicekompositionen und untersuchen, wie der Entwurf von korrekten Servicekompositionen systematisch unterstützt werden kann. Wir legen dabei den Fokus auf das Kommunikationsprotokoll der Services. Mithilfe von formalen Methoden tragen wir zu drei Szenarien von SOC bei
    corecore