124 research outputs found
Comparative Study of Eight Formal Specifications of the Message Authenticator Algorithm
The Message Authenticator Algorithm (MAA) is one of the first cryptographic
functions for computing a Message Authentication Code. Between 1987 and 2001,
the MAA was adopted in international standards (ISO 8730 and ISO 8731-2) to
ensure the authenticity and integrity of banking transactions. In 1990 and
1991, three formal, yet non-executable, specifications of the MAA (in VDM, Z,
and LOTOS) were developed at NPL. Since then, five formal executable
specifications of the MAA (in LOTOS, LNT, and term rewrite systems) have been
designed at INRIA Grenoble. This article provides an overview of the MAA and
compares its formal specifications with respect to common-sense criteria, such
as conciseness, readability, and efficiency of code generation.Comment: In Proceedings MARS/VPT 2018, arXiv:1803.0866
Four Formal Models of IEEE 1394 Link Layer
We revisit the IEEE 1394 high-performance serial bus ("FireWire"), which
became a success story in formal methods after three PhD students, by using
process algebra and model checking, detected a deadlock error in this IEEE
standard. We present four formal models for the asynchronous mode of the Link
Layer of IEEE 1394: the original model in muCRL, a simplified model in mCRL2, a
revised model in LOTOS, and a novel model in LNT.Comment: In Proceedings MARS 2024, arXiv:2403.1786
Proposal for Adding Useful Features to Petri-Net Model Checkers
Solutions proposed for the longstanding problem of automatic decomposition of Petri nets into concurrent processes, as well as methods developed in Grenoble for the automatic conversion of safe Petri nets to NUPNs (Nested-Unit Petri Nets), require certain properties to be computed on Petri nets. We notice that, although these properties are theoretically interesting and practically useful, they are not currently implemented in mainstream Petri net tools. Taking into account such properties would open fruitful research directions for tool developers, and new perspectives for the Model Checking Contest as well
Nested-unit Petri nets
International audiencePetri nets can express concurrency and nondeterminism but neither locality nor hierarchy. This article presents an extension of Petri nets, in which places can be grouped into so-called "units" expressing sequential components. Units can be recursively nested to reflect both the concurrent and hierarchical nature of complex systems. This model called NUPN (Nested-Unit Petri Nets) was originally developed for translating process calculi to Petri nets, but later found also useful beyond this setting. It allows significant savings in the memory representation of markings for both explicit-state and symbolic verification. Thirteen software tools already implement the NUPN model, which has also been adopted for the benchmarks of the Model Checking Contest (MCC) and the parallel problems of the Rigorous Examination of Reactive Systems (RERS) challenges
On the Most Suitable Axiomatization of Signed Integers
Part 4: Regular PapersInternational audienceThe standard mathematical definition of signed integers, based on set theory, is not well-adapted to the needs of computer science. For this reason, many formal specification languages and theorem provers have designed alternative definitions of signed integers based on term algebras , by extending the Peano-style construction of unsigned naturals using "zero" and "succ" to the case of signed integers. We compare the various approaches used in CADP, CASL, Coq, Isabelle/HOL, KIV, Maude, mCRL2, PSF, SMT-LIB, TLA+, etc. according to objective criteria and suggest an "optimal" definition of signed integers
Revisiting sequential composition in process calculi
International audienceThe article reviews the various ways sequential composition is defined in traditional process calculi, and shows that such definitions are not optimal, thus limiting the dissemination of concurrency theory ideas among computer scientists. An alternative approach is proposed, based on a symmetric binary operator and write-many variables. This approach, which generalizes traditional process calculi, has been used to define the new LNT language implemented in the CADP toolbox. Feedback gained from university lectures and real-life case studies shows a high acceptance by computer-science students and industry engineers
Specification and Verification of various Distributed Leader Election Algorithm for Unidirectional Ring Networks
This report deals with the formal specification and verification of distributed leader election algorithms for a set of machines connected by a unidirectional ring network. Starting from an algorithm proposed by Le~Lann in 1977, and its variant proposed by Chang and Roberts in 1979, we study the robustness of this class of algorithms in presence of unreliable communication medium and/or unreliable machines. We suggest various improvements of these algorithms in order to obtain a fully fault-tolerant protocol. These algorithms are formally described using the ISO specification language LOTOS and verified (for a fixed number of machines) using the CADP (CÆSAR/ALDEBARAN) toolbox. Model-checking and bisimulation techniques allow the verification of these non-trivial algorithms to be carried out automatically
Le jeu de tests VLSAT-2
This report presents VLSAT-2 (an acronym for "Very Large Boolean SATisfiability problems"),the second part of a benchmark suite to be used in scientific experiments and softwarecompetitions addressing SAT-solving issues.VLSAT-2 contains 100 benchmarks (50 satisfiable and 50 unsatisfiable formulas)of increasing complexity, proposed in DIMACS CNF format undera permissive Creative Commons license.25% of these benchmarks have been used during the 2020 and 2021 editionsof the International SAT Competition.VLSAT-2 (acronyme anglais de "très grands problèmes de satisfaisabilité booléenne")est le second volet d'une suite de tests destinée aux expérimentations scientifiqueset aux compétitions de logiciels pour la résolution de problèmes SAT.VLSAT-2 contient 100 tests (50 formules satisfaisables et 50 insatisfaisables)de complexité croissante, fournis en format DIMACS CNF sous une licence Creative Commons permissive.25% de ces tests ont été utilisés lors des éditions 2020 et 2021 de la compétition internationale sur la résolution SAT
System Design of a CC-NUMA Multiprocessor Architecture Using Formal Specification, Model-Checking, Co-Simulation, and Test Generation
The application of formal methods to system-level design of hardware components is still an open issue for which concrete case-studies are needed. We present here an industrial experiment concerning the application of the process algebraic language Lotos (ISO standard 8807) to the design of Polykid, a CC-NUMA (Cache Coherent -- Non Uniform Memory Access) multiprocessor architecture developed by Bull. The formal descriptions developed for Polykid have served as a basis not only for model-checking verification using CADP (Caesar/Aldebaran Development Package), but also for hardware-software co-simulation using the Exec/Caesar tool, and for automatic generation of executable tests using the TGV tool
- …