Results 1 - 10
of
17
Model checking a cache coherence protocol for a Java DSM implementation
- In Proceedings FMPPTA’03
, 2003
"... Jackal is a fine-grained distributed shared memory implementation of the Java programming language. It aims to implement Java’s memory model and allows multithreaded Java programs to run unmodified on a distributed memory system. It employs a multiple-writer cache coherence protocol. In this paper, ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Jackal is a fine-grained distributed shared memory implementation of the Java programming language. It aims to implement Java’s memory model and allows multithreaded Java programs to run unmodified on a distributed memory system. It employs a multiple-writer cache coherence protocol. In this paper, we report on our analysis of this protocol. We present its formal specification in µCRL, and discuss the abstractions that were made to avoid state explosion. Requirements were formulated and model checked with respect to several configurations. Our analysis revealed two errors in the implementation. Key words: formal specification, model checking, cache coherence protocols, Java memory model, µCRL
From μCRL to mCRL2 -- Motivation and Outline
, 2006
"... We sketch the language mCRL2, the successor of μCRL, which is a process algebra with data, devised in 1990 to model and study the behaviour of interacting programs and systems. The language is improved in several respects guided by the experience obtained from numerous applications where realistic s ..."
Abstract
-
Cited by 9 (7 self)
- Add to MetaCart
We sketch the language mCRL2, the successor of μCRL, which is a process algebra with data, devised in 1990 to model and study the behaviour of interacting programs and systems. The language is improved in several respects guided by the experience obtained from numerous applications where realistic systems have been modelled and analysed. Just as with μCRL, the leading principle is to provide a minimal set of primitives that allow effective specifications, that conform to standard mathematics and that allow datatypes have been enhanced with higher-order constructs and standard data types, ranging from booleans, numbers and lists to sets, bags and higher-order function types. In the second place multi-actions have been introduced to allow a seamless integration with Petri nets. In the last place communication is made local to enable compositionality.
Cones and Foci for Protocol Verification Revisited
- In Proc. 6th Conference on Foundations of Software Science and Computation Structures, LNCS 2620
, 2003
"... Abstract. We define a cones and foci proof method, which rephrases the question whether two system specifications are branching bisimilar in terms of proof obligations on relations between data objects. Compared to the original cones and foci method from Groote and Springintveld [22], our method is ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
Abstract. We define a cones and foci proof method, which rephrases the question whether two system specifications are branching bisimilar in terms of proof obligations on relations between data objects. Compared to the original cones and foci method from Groote and Springintveld [22], our method is more generally applicable, and does not require a preprocessing step to eliminate τ-loops. We prove soundness of our approach and give an application. 1
Simplifying Itai-Rodeh Leader Election for Anonymous Rings
, 2004
"... We present two probabilistic leader election algorithms for anonymous unidirectional rings with FIFO channels, based on an algorithm from Itai and Rodeh [20]. In contrast to the Itai-Rodeh algorithm, our algorithms are finite-state. So they can be analyzed using explicit state space exploration ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
We present two probabilistic leader election algorithms for anonymous unidirectional rings with FIFO channels, based on an algorithm from Itai and Rodeh [20]. In contrast to the Itai-Rodeh algorithm, our algorithms are finite-state. So they can be analyzed using explicit state space exploration
Large state space visualization
- In Proc. of Tools and Algorithms for Construction and Analysis of Systems (TACAS 2003), volume 2619 of LNCS
, 2003
"... Abstract. Insight in the global structure of a state space is of great help in the analysis of the underlying process. We advocate the use of visualization for this purpose and present a new method to visualize the structure of very large state spaces. The method uses a clustering method to obtain a ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Abstract. Insight in the global structure of a state space is of great help in the analysis of the underlying process. We advocate the use of visualization for this purpose and present a new method to visualize the structure of very large state spaces. The method uses a clustering method to obtain a simplified representation, which is used as a backbone for the display of the entire state space. With this visualization we are able to answer questions about the global structure of a state space that cannot easily be answered by conventional methods. We show this by presenting a number of visualizations of real-world protocols. 1
Model-checking processes with data
- In Science of Computer Programming
, 2005
"... We propose a procedure for automatically verifying properties (expressed in an extension of the modal µ-calculus) over processes with data, specified in µCRL. We first briefly review existing work, such as the theory of µCRL and we discuss the logic, called first order modal µ-calculus in more detai ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
We propose a procedure for automatically verifying properties (expressed in an extension of the modal µ-calculus) over processes with data, specified in µCRL. We first briefly review existing work, such as the theory of µCRL and we discuss the logic, called first order modal µ-calculus in more detail. Then, we introduce the formalism of first order boolean equation systems and focus on several lemmata that are at the basis of the soundness of our decision procedure. We discuss our findings on three non-trivial applications for a prototype implementation of this procedure. The results show that our prototype can deal with quite complex and interesting properties and systems, showing the efficacy of the approach.
Formal analysis of a fair payment protocol
- In Formal Aspect of Security and Trust, volume 173 of IFIP
, 2004
"... Abstract We formally specify a payment protocol described in [Vogt et al., 2001]. This protocol is intended for fair exchange of time-sensitive data. Here the µCRL language is used to formalize the protocol. Fair exchange properties are expressed in the regular alternation-free µ-calculus. These pro ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Abstract We formally specify a payment protocol described in [Vogt et al., 2001]. This protocol is intended for fair exchange of time-sensitive data. Here the µCRL language is used to formalize the protocol. Fair exchange properties are expressed in the regular alternation-free µ-calculus. These properties are then verified using the finite state model checker from the CADP toolset. Proving fairness without resilient communication channels is impossible. We use the Dolev-Yao intruder, but since the conventional Dolev-Yao intruder violates this assumption, it is forced to comply to the resilient communication channel assumption. 1.
A Checker For Modal Formulas For Processes With Data
- Proceedings of FMCO 2003, volume 3188 of LNCS
, 2002
"... We propose an algorithm for the automatic verification of first-order modal -calculus formulae on infinite state, data-dependent processes. The use of boolean equation systems for solving the modelchecking problem in the finite case is well-studied. In this paper, we extend on this solution, such th ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
We propose an algorithm for the automatic verification of first-order modal -calculus formulae on infinite state, data-dependent processes. The use of boolean equation systems for solving the modelchecking problem in the finite case is well-studied. In this paper, we extend on this solution, such that we can deal with infinite state, data-dependent processes. We provide a transformation from the model checking problem to first order boolean equation systems. Moreover, we present an algorithm to solve these equation systems and discuss the capabilities of the algorithm, implemented in a prototype. We also present the application of our prototype tool to several well-known infinite state processes from the literature. This prototype has also been successfully applied in proving properties of systems that we could not deal with using other available tools.
Verifying workflows with cancellation regions and OR-joins: an approach based on invariants
, 2007
"... YAWL (Yet Another Workflow Language) workflow language supports the most frequent control-flow patterns found in the current workflow practice. As a result, most workflow languages can be mapped onto YAWL without the loss of control-flow details, even languages allowing for advanced constructs such ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
YAWL (Yet Another Workflow Language) workflow language supports the most frequent control-flow patterns found in the current workflow practice. As a result, most workflow languages can be mapped onto YAWL without the loss of control-flow details, even languages allowing for advanced constructs such as cancellation regions and OR-joins. Hence, a verification approach for YAWL is desirable, because such an approach could be used for any workflow language that can be mapped onto YAWL. Unfortunately, cancellation regions and OR-joins are ‘non-local ’ properties, and in general we cannot even decide whether the desired final state is reachable if both patterns are present. This paper proposes a verification approach based on (i) an abstraction of the OR-join semantics; (ii) the relaxed soundness property; and (iii) transition invariants. This approach is correct (errors reported are really errors), but not necessarily complete (not every error might get reported). This incompleteness can be explained because, on the one hand, the approach abstracts from the OR-join semantics and on the other hand, it may use only transition invariants, which are structural properties. Nevertheless, our approach can be used to successfully detect errors in YAWL models. Moreover, the approach can be easily transferred to other workflow languages allowing for advanced constructs such as cancellations and OR-joins.
Variations on itai-rodeh leader election for anonymous rings and their analysis in prism
- Journal of Universal Computer Science
"... Abstract: We present two probabilistic leader election algorithms for anonymous unidirectional rings with FIFO channels, based on an algorithm from Itai and Rodeh [Itai and Rodeh 1981]. In contrast to the Itai-Rodeh algorithm, our algorithms are finite-state. So they can be analyzed using explicit s ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
Abstract: We present two probabilistic leader election algorithms for anonymous unidirectional rings with FIFO channels, based on an algorithm from Itai and Rodeh [Itai and Rodeh 1981]. In contrast to the Itai-Rodeh algorithm, our algorithms are finite-state. So they can be analyzed using explicit state space exploration; we used the probabilistic model checker PRISM to verify, for rings up to size four, that eventually a unique leader is elected with probability one. Furthermore, we give a manual correctness proof for each algorithm.

