Abstract
The I/O automaton paradigm of Lynch and Tuttle models asynchrony through an interleaving parallel composition. The recognition that such interleaving models in fact can be viewed as special cases of synchronous parallel composition has been very limited. Let \(\mathcal{A}\) be any set of finite-state I/O automata drawing actions from a fixed finite set containing a subset Δ. In this article we establish a translation T : \(\mathcal{A} \to \mathcal{P}\) to a class of ω-automata \(\mathcal{P}\) closed under a synchronous parallel composition, for which T is monotonic with respect to implementation relative to Δ, and linear with respect to composition. Thus, for A1, ..., A, B1, ..., B ∈ \(\mathcal{A}\) and A = A1 ‖...‖ A, B = B1 ‖...‖ B, if Δ is the set of actions common to both A and B, then A implements B (in the sense of I/O automata) if and only if the ω-automaton language containment\(\mathcal{L}\) (T(A1) ⊗ ... ⊗ T(A)) ⊂ \(\mathcal{L}\) (T(B1) ⊗ ... ⊗ T(B)) obtains, where ‖ denotes the interleaving parallel composition on \(\mathcal{A}\) and ⊗ denotes the synchronous parallel composition on \(\mathcal{P}\) . For the class \(\mathcal{P}\), we use the L-process model of ω-automata. This result enables one to verify systems specified by I/O automata through model-checkers such as COSPAN or SMV, that operate on models with synchronous parallel composition. The translation technique generalizes to other interleaving models, although in each case, the translation map must match the specific model.
Similar content being viewed by others
References
Y. Afek, D.S. Greenberg, M. Merritt, and G. Taubenfeld, “Computing with faulty shared memory,” in Proc. 11th ACM Symp. on Principles of Distributed Computing, 1992.
S. Aggarwal, R.P. Kurshan, and K. Sabnani, “A calculus for protocol specification and validation,” Protocol Specification, Testing and Verification III, North-Holland, pp. 19–34, 1983.
P. Halmos, Lectures on Boolean Algebras, Springer-Verlag, 1974.
Z. Har'El and R.P. Kurshan, “Modelling concurrent processes,” in Proceedings of Internat. Conf. Syst. Sci. Eng., pp. 382–385, 1988.
C.A.R. Hoare, Communicating Sequential Processes. Prentice-Hall, 1985.
R.P. Kurshan, Automata-Theoretic Verification, UC Berkeley Lecture Notes, 1992.
R.P. Kurshan, Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach, Princeton University Press, 1994.
N. Lynch, Distributed Algorithms, Morgan-Kaufman, 1996.
R. Milner, “Calculi for Synchrony and Asynchrony,” in Theoretical Computer Science, vol. 25, pp. 267–340, 1983.
N. Lynch and M. Tuttle, “Hierarchical correctness proofs for distributed algorithms,” in Proc. 6th ACM Symp. on Principles of Distributed Computing, pp. 137–151, 1987.
N. Lynch and M. Tuttle, “An introduction to input/output automata,” CWI-Quarterly, Vol. 2, pp. 219–246, September 1989.
K.L. McMillan, Symbolic Model Checking, Kluwer, 1993.
M. Merritt, A. Orda, and S.R. Sachs, “Formal verification of a distributed algorithm for accessing faulty shared memory,” Formal Methods in System Design, Vol. 10, pp. 93–125, February 1997.
E. Sikorski, Boolean Algebras, Springer Verlag, 1969.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Kurshan, R., Merritt, M., Orda, A. et al. Modelling Asynchrony with a Synchronous Model. Formal Methods in System Design 15, 175–199 (1999). https://doi.org/10.1023/A:1008792918020
Issue Date:
DOI: https://doi.org/10.1023/A:1008792918020