Combined Feed
https://feeds.library.caltech.edu/people/Holzmann-G-J/combined.rss
A Caltech Library Repository Feedhttp://www.rssboard.org/rss-specificationpython-feedgenenThu, 30 Nov 2023 19:27:57 +0000An Improvement of the Piggyback Algorithm for Parallel Model Checking
https://resolver.caltech.edu/CaltechAUTHORS:20140804-125108488
Authors: Filippidis, Ioannis; Holzmann, Gerard J.
Year: 2014
DOI: 10.1145/2632362.2632375
This paper extends the piggyback algorithm to enlarge the set of liveness properties it can verify. Its extension is motivated by an attempt to express in logic the counterexamples it can detect and relate them to bounded liveness. The original algorithm is based on parallel breadth-first search and piggybacking of accepting states that are deleted after counting a fixed number of transitions. The main improvement is obtained by renewing the counter of transitions when the same accepting states are visited in the negated property automaton. In addition, we describe piggybacking of multiple states in either sets (exact) or Bloom filters (lossy but conservative), and use of local searches that attempt to connect cycles fragmented among processing cores. Finally it is proved that accepting cycle detection is in NC in the size of the product automaton's entire state space, including unreachable states.https://authors.library.caltech.edu/records/93bgm-xkd21Synthesis from multi-paradigm specifications
https://resolver.caltech.edu/CaltechCDSTR:2015.003
Authors: Filippidis, Ioannis; Murray, Richard M.; Holzmann, Gerard J.
Year: 2015
This work proposes a language for describing reactive synthesis problems that integrates imperative and declarative elements. The semantics is defined in terms of two-player turn-based infinite games with full information. Currently, synthesis tools accept linear temporal logic (LTL) as input, but this description is less structured and does not facilitate the expression of sequential constraints. This motivates the use of a structured programming language to specify synthesis problems. Transition systems and guarded commands serve as imperative constructs, expressed in a syntax based on that of the modeling language Promela. The syntax allows defining which player controls data and control flow, and separating a program into assumptions and guarantees. These notions are necessary for input to game solvers. The integration of imperative and declarative paradigms allows using the paradigm that is most appropriate for expressing each requirement. The declarative part is expressed in the LTL fragment of generalized reactivity(1), which admits efficient synthesis algorithms. The implementation translates Promela to input for the Slugs synthesizer and is written in Python.https://authors.library.caltech.edu/records/fdsg6-fgh34A multi-paradigm language for reactive synthesis
https://resolver.caltech.edu/CaltechAUTHORS:20190410-120619515
Authors: Filippidis, Ioannis; Murray, Richard M.; Holzmann, Gerard J.
Year: 2016
DOI: 10.4204/EPTCS.202.6
This paper proposes a language for describing reactive synthesis problems that integrates imperative and declarative elements. The semantics is defined in terms of two-player turn-based infinite games with full information. Currently, synthesis tools accept linear temporal logic (LTL) as input, but this description is less structured and does not facilitate the expression of sequential constraints. This motivates the use of a structured programming language to specify synthesis problems. Transition systems and guarded commands serve as imperative constructs, expressed in a syntax based on that of the modeling language Promela. The syntax allows defining which player controls data and control flow, and separating a program into assumptions and guarantees. These notions are necessary for input to game solvers. The integration of imperative and declarative paradigms allows using the paradigm that is most appropriate for expressing each requirement. The declarative part is expressed in the LTL fragment of generalized reactivity(1), which admits efficient synthesis algorithms, extended with past LTL. The implementation translates Promela to input for the Slugs synthesizer and is written in Python. The AMBA AHB bus case study is revisited and synthesized efficiently, identifying the need to reorder binary decision diagrams during strategy construction, in order to prevent the exponential blowup observed in previous work.https://authors.library.caltech.edu/records/q8cvf-zyk68Tau -- a lightweight tool for specifying and verifying tiny automata models
https://resolver.caltech.edu/CaltechAUTHORS:20191028-150942118
Authors: Holzmann, Gerard J.
Year: 2019
Tau is a small Tcl/Tk application that can be used to quickly specify and formally verify small automata models (the name 'tau' is short for 'tiny automata'). It is used as a teaching aid in CS118, a course on the formal verification of asynchronous software systems using logic model checking. Tau requires the availability of a standard C compiler (e.g., gcc) and a recent version of the Spin model checker (e.g., Version 6.4.3 or later) as background tools.https://authors.library.caltech.edu/records/15x21-am847