4 research outputs found
On the analysis of compensation correctness
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
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
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
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