15 research outputs found
A comparison of Spin and the CRL toolset on HAVi leader election protocol
This paper describes an attempt to compare two toolsets allowing generation of finite labeled transition systems from underlying concurrent specification languages. The comparison is done on a specification of the leader election protocol from Home Audio/Video interoperability (HAVi) architecture. Some important semantical differences of PROMELA and CRL are identified, that lead to big differences in size of the state spaces generated for equivalent specifications
Equivalence of recursive specifications in process algebra
We define an equivalence relation on recursive specifications in process algebra that is model-independent and does not involve an explicit notion of solution. Then we extend this equivalence to the specification language CRL
Linearization in parallel pCRL
We describe a linearization algorithm for parallel pCRL processes similar to the one implemented in the linearizer of the mcrl Toolset. This algorithm finds its roots in formal language theory: the `grammar' defining a process is transformed into a variant of Greibach Normal Form. Next, any such form is further reduced to emph{linear form, i.e., to an equation that resembles a right-linear, data-parametric grammar. We aim at proving the correctness of this linearization algorithm. To this end we define an equivalence relation on recursive specifications in mcrl that is model independent and does not involve an explicit notion of solution
Modeling and verifying a Real-Life Industrial Session-Layer Protocol in CRL2.
This report describes the analysis of an industrial implementation of the session-layer of a load-balancing software system. This software comprises 7.5 thousand lines of C code. It is used for distribution of the print jobs among several document processors (workers). A large part of this commercially used software system has been modeled closely and analyzed using process-algebraic techniques. Several critical issues were discovered. Since the model was close to the code, all problems that were found in the model, could be traced back to the actual code resulting in concrete suggestions for improvement of the code. All in all, the analysis significantly improved the quality of this real-life system