4 research outputs found

    On the analysis of compensation correctness

    Get PDF
    One fundamental idea of service-oriented computing is that applications should be developed by composing already available services. Due to the long running nature of service interactions, a main challenge in service composition is ensuring correctness of transaction recovery. In this paper, we use a process calculus suitable for modelling long running transactions with a recovery mechanism based on compensations. Within this setting, we discuss and formally state correctness criteria for compensable processes compositions, assuming that each process is correct with respect to transaction recovery. Under our theory, we formally interpret self-healing compositions, that can detect and recover from faults, as correct compositions of compensable processes. Moreover, we develop an automated verification approach and we apply it to an illustrative case study

    An LTL Semantics of Business Workflows with Recovery

    Full text link
    We describe a business workflow case study with abnormal behavior management (i.e. recovery) and demonstrate how temporal logics and model checking can provide a methodology to iteratively revise the design and obtain a correct-by construction system. To do so we define a formal semantics by giving a compilation of generic workflow patterns into LTL and we use the bound model checker Zot to prove specific properties and requirements validity. The working assumption is that such a lightweight approach would easily fit into processes that are already in place without the need for a radical change of procedures, tools and people's attitudes. The complexity of formalisms and invasiveness of methods have been demonstrated to be one of the major drawback and obstacle for deployment of formal engineering techniques into mundane projects

    On primitives for compensation handling as adaptable processes

    Get PDF
    Mechanisms for compensation handling and dynamic update are increasingly relevant in the specification of reliable communicating systems. Compensations and updates are intuitively similar: both specify how the behavior of a concurrent system changes at runtime in response to an exceptional event. However, calculi for concurrency with compensations and updates are technically quite different. We compare calculi for concurrency with compensation handling and dynamic update from the standpoint of their relative expressiveness. We develop two encodings of a process calculus with compensation handling into a calculus of adaptable processes. These encodings differ in the target language considered: the first considers adaptable processes with subjective updates in which, intuitively, a process reconfigures itself; the second considers objective updates in which a process is reconfigured by a process in its context. Our main discovery is that subjective updates are more efficient than objective ones in encoding primitives

    Relative Expressiveness of Process Calculi with Dynamic Update and Runtime Adaptation

    Get PDF
    U tezi su razmatrani problemi programskih konstrukata koji podržavaju upravljanje greškama u centru mehanizama koji otkrivaju greške i vraćaju sistem u konzistentno stanje. Teza formalno povezuje programske apstrakcije za rukovanje kompenzacijama i dinamičkog ažuriranja tokom izvršavanja. Analizira se relativna ekspresivnost pomenutih računa. Razvijeno je dvanaest kodiranja, šest procesnih računa za rukovanje kompenzacijama u dva računa za adaptivne procese.The thesis considers problems of programming constructs that support failure handling at the heart of mechanisms that detect failures and bring the system back to a consistent state. We formally connect programming abstractions for compensation handling and runtime adaptation and analyzes the relative expressiveness of these calculi. More concrete, we develop twelve encodings of six process calculi with compensation handling into two calculi of adaptable processes
    corecore