The Versatile Synchronous Observer
John Rushby
Presented at SAS 2014:
Specification, Algebra, and Software,
A Festschrift Symposium in Honor of Kokichi Futatsugi.
Proceedings
published as Springer LNCS vol. 8373,
S. Iida, J. Meseguer, and K. Ogata (Eds.),
pp. 110-128, April 2014
Abstract
A synchronous observer is an adjunct to a system model that monitors
its state variables and raises a signal flag when some condition is
satisfied. Synchronous observers provide an alternative to temporal
logic as a means to specify safety properties but have the advantage
that they are expressed in the same notation as the system model---and
thereby lower the mental hurdle to effective use of model checking and
other techniques for automated analysis of system models. Model
checkers that do use temporal logic can nonetheless employ synchronous
observers by checking for properties such as "never(flag raised)."
The use of synchronous observers to specify properties is well-known;
rather less well-known is that they can be used to specify assumptions
and axioms, to constrain models, and to specify test cases. The idea
underlying these applications is that the basic model generates
more behaviors than are desired, the synchronous observer recognizes
those that are interesting, and the model checker is constrained to
just the interesting cases. The efficiency in this approach is that
it is usually much easier to write recognizers than generators.
The paper describes and illustrates several applications of
synchronous observers.
PDF
Slides
PDF
Citations
from Google scholar
BibTeX Entry
@INPROCEEDINGS{Rushby:SAS14,
AUTHOR = {John Rushby},
TITLE = {The Versatile Synchronous Observer},
BOOKTITLE = {Specification, Algebra, and Software,
A Festschrift Symposium in Honor of {Kokichi Futatsugi}},
EDITOR = {S. Iida and J. Meseguer and K. Ogata},
YEAR = 2014,
PUBLISHER = {Springer-Verlag},
ADDRESS = {Kanazawa, Japan},
MONTH = apr,
SERIES = {Lecture Notes in Computer Science},
VOLUME = 8373,
PAGES = {110--128}
}
Having trouble reading our papers?
Return to John Rushby's bibliography page
Return to the Formal Methods Program home page
Return to the Computer Science Laboratory home page