Expressing the Behavior of Three Very Different Concurrent Systems by Using Natural Extensions of Separation Logic
arXiv:0911.2034 · doi:10.4204/EPTCS.8.3
Abstract
Separation Logic is a non-classical logic used to verify pointer-intensive code. In this paper, however, we show that Separation Logic, along with its natural extensions, can also be used as a specification language for concurrent-system design. To do so, we express the behavior of three very different concurrent systems: a Subway, a Stopwatch, and a 2x2 Switch. The Subway is originally implemented in LUSTRE, the Stopwatch in Esterel, and the 2x2 Switch in Bluespec.