Translating FSP into LOTOS and networks of automataFormal Aspects of Computing - Tập 22 - Trang 681-711 - 2009
Frédéric Lang, Gwen Salaün, Rémi Hérilier, Jeff Kramer, Jeff Magee
Many process calculi have been proposed since Robin Milner and Tony Hoare opened the way more than 25 years ago. Although they are based on the same kernel of operators, most of them are incompatible in practice. We aim at reducing the gap between process calculi, and especially making possible the joint use of underlying tool support. Finite state processes (FSP) is a widely used calculus equipped with Ltsa, a graphical and user-friendly tool. Language of temporal ordering specification (Lotos) is the only process calculus that has led to an international standard, and is supported by the Cadp verification toolbox. We propose a translation of FSP sequential processes into Lotos. Since FSP composite processes (i.e., parallel compositions of processes) are hard to encode directly in Lotos, they are translated into networks of automata which are another input language accepted by Cadp. Hence, it is possible to use jointly Ltsa and Cadp to validate FSP specifications. Our approach is completely automated by a translator tool.
Read atomic transactions with prevention of lost updates: ROLA and its formal analysisFormal Aspects of Computing - Tập 31 - Trang 503-540 - 2019
Si Liu, Peter Csaba Ölveczky, Qi Wang, Indranil Gupta, José Meseguer
Designers of distributed database systems face the choice between stronger consistency guarantees and better performance. A number of applications only require read atomicity (RA) (either all or none of a transaction’s updates are visible to other transactions) and prevention of lost updates (PLU). Existing distributed transaction systems that meet these requirements also provide additional stronger consistency guarantees (such as causal consistency), but this comes at the price of lower performance. In this paper we propose a new distributed transaction protocol, ROLA, that targets application scenarios where only RA and PLU are needed. We formally specify ROLA in Maude. We then perform model checking to analyze both the correctness and the performance of ROLA. For correctness, we use standard model checking to analyze ROLA’s satisfaction of RA and PLU. To analyze performance we: (a) perform statistical model checking to analyze key performance properties; and (b) compare these performance results with those obtained by also modeling and analyzing in Maude the well-known protocols Walter and Jessy that also guarantee RA and PLU. Our statistical model checking results show that ROLA outperforms both Walter and Jessy.
Book reviewsFormal Aspects of Computing - Tập 7 - Trang 469-472 - 1995
Simon Brock, P. Gibson
Process algebra with guards: Combining Hoare logic with process algebraFormal Aspects of Computing - Tập 6 - Trang 115-164 - 1994
Jan Friso Groote, Alban Ponse
We extend process algebra with guards, comparable to the guards in guarded commands or conditions in common programming constructs such as ‘if — then — else — fi’ and ‘while — do — od’. The extended language is provided with an operational semantics based on transitions between pairs of a process and a (data-)state. The data-states are given by a data environment that also defines in which data-states guards hold and how atomic actions (non-deterministically) transform these states. The operational semantics is studied modulo strong bisimulation equivalence. For basic process algebra (without operators for parallelism) we present a small axiom system that is complete with respect to a general class of data environments. Given a particular data environmentL we add three axioms to this system, which is then again complete, provided weakest preconditions are expressible andL is sufficiently deterministic. Then we study process algebra with parallelism and guards. A two phase-calculus is provided that makes it possible to prove identities between parallel processes. Also this calculus is complete. In the last section we show that partial correctness formulas can easily be expressed in this setting. We use process algebra with guards to prove the soundness of a Hoare logic for linear processes by translating proofs in Hoare logic into proofs in process algebra.
Automatic verification of Java programs with dynamic framesFormal Aspects of Computing - - 2010
Jan Smans, Bart Jacobs, Frank Piessens, Wolfram Schulte
Abstract
Framing in the presence of data abstraction is a challenging and important problem in the verification of object-oriented programs Leavens et al. (Formal Aspects Comput (FACS) 19:159–189, 2007). The dynamic frames approach is a promising solution to this problem. However, the approach is formalized in the context of an idealized logical framework. In particular, it is not clear the solution is suitable for use within a program verifier for a Java-like language based on verification condition generation and automated, first-order theorem proving. In this paper, we demonstrate that the dynamic frames approach can be integrated into an automatic verifier based on verification condition generation and automated theorem proving. The approach has been proven sound and has been implemented in a verifier prototype. The prototype has been used to prove correctness of several programming patterns considered challenging in related work.
Correctness and concurrent complexity of the Black-White Bakery AlgorithmFormal Aspects of Computing - Tập 28 Số 2 - Trang 325-341 - 2016
Wim H. Hesselink
Abstract
Lamport’s Bakery Algorithm (Commun ACM 17:453–455,
1974
) implements mutual exclusion for a fixed number of threads with the first-come first-served property. It has the disadvantage, however, that it uses integer communication variables that can become arbitrarily large. Taubenfeld’s Black-White Bakery Algorithm (Proceedings of the DISC. LNCS, vol 3274, pp 56–70,
2004
) keeps the integers bounded, and is adaptive in the sense that the time complexity only depends on the number of competing threads, say
N
. The present paper offers an assertional proof of correctness and shows that the concurrent complexity for throughput is linear in
N
, and for individual progress is quadratic in
N
. This is proved with a bounded version of UNITY, i.e., by assertional means.
Compositional refinement in agent-based security protocolsFormal Aspects of Computing - Tập 23 - Trang 711-737 - 2010
A. K. McIver, C. C. Morgan
A truly secure protocol is one which never violates its security requirements, no matter how bizarre the circumstances, provided those circumstances are within its terms of reference. Such cast-iron guarantees, as far as they are possible, require formal, rigorous techniques: proof or model-checking. Informally, they are difficult or impossible to achieve. Our rigorous technique is refinement, until recently not much applied to security. We argue its benefits by using refinement-based program algebra to develop several security case studies. That is one of our contributions here. The soundness of the technique follows from its compositional semantics, one which we defined (elsewhere) to support a specialisation of standard refinement by enriching standard semantics with information that tracks correlations between hidden state and visible behaviour. A further contribution is to extend the basic theory of secure refinement (Morgan in Mathematics of program construction, Springer, Berlin, vol. 4014, pp. 359–378, 2006) with special features required by our case studies, namely agent-based systems with complementary security requirements, and looping programs.
Functional specification and proof of correctness for time dependent behaviour of reactive systemsFormal Aspects of Computing - Tập 3 Số 3 - Trang 253-283 - 1991
Vangalur S. Alagar, G. Ramanathan
Abstract
A functional formalism for describing and reasoning about the time dependent behaviour of reactive systems is presented. The model is event based and can describe the histories of events with finite duration. It is a generalisation of the model of Caspi and Halbwachs (1986). A set of tools with their operations are introduced in the formalism and structure theorems characterising the algebra of events are proved. The power of this extended model is illustrated through the formal specification and correctness proof for a problem chosen from robotics.
The Cash-Point Service in NUTFormal Aspects of Computing - Tập 12 - Trang 222-224 - 2000
Vahur Kotkas, Peep Küngas, Mait Harf
This paper describes how the cash-point service can be modelled and simulated using the NUT system.
Priority as extremal probabilityFormal Aspects of Computing - Tập 8 - Trang 585-606 - 2015
Scott A. Smolka, Bernhard Steffen
We extend the stratified model of probabilistic processes to obtain a very general notion ofprocess priority. The main idea is to allow probability guards of value 0 to be associated with alternatives of a probabilistic summation expression. Such alternatives can be chosen only if the non-zero alternatives are precluded by contextual constraints. We refer to this model as one of “extremal probability” and to its signature asPCCS
ζ. We providePCCS
ζ with a structural operational semantics and a notionof probabilistic bisimulation, which is shown to be a congruence. Of particular interest is the abstractionPCCS
π ofPCCS
ζ in which all non-zero probability guards are identified.PCCS
π represents a customized framework for reasoning about priority, and covers all features of process algebras proposed for reasoning about priority that we know of.