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