An alternator is an array of interacting processes that satisfy three conditions. First, if a process has an enabled action at some state, then no neighbor of that process has an enabled action at the same state. Second, along any concurrent execution, each action is executed infinitely often. Third, along any maximally concurrent execution, the alternator is stabilizing to states where the number of enabled actions is maximal. In this paper, we specify an alternator with arbitrary topology and verify its correctness. We also show that this alternator can be used in transforming any system that is stabilizing assuming serial execution, to one that is stabilizing assuming concurrent execution.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Price excludes VAT (USA)
Tax calculation will be finalised during checkout.
Arora A., Attie P., Evangelist M., Gouda M.G. (1993). Convergence of iteration systems,. Distrib. Comput. 7: 43–53
Burns, J.E., Gouda, M.G., Miller, R.E.: On relaxing interleaving assumptions. In: Proceedings of the MCC Workshop on Self-Stabilizing Systems, Austin, Texas (1989)
Dolev, S., Gouda, M.G., Schneider, M.: Memory requirements for silent stabilization. In: Proceedings of the 1996 ACM Symposium on Distributed Computing Systems (PODC-96), pp. 27–34 (1996)
Gouda, M.G., Haddix, F.: The linear alternator. In: Proceedings of the Third Workshop on Self-Stabilizing Systems (WSS-97), International Informatics Series 7, Carleton University Press, pp. 31–47 (1997)
Haddix, F.: Alternating parallelism and the stabilization of cellular systems. Ph.D. Dissertation, Department of Computer Sciences, the University of Texas at Austin, Austin, Texas (1999)
Mizuno, M., Kakugawa, H.: A timestamp based transformation of self-stabilizing programs for distributed computing environments. In: Proceedings of the International Workshop On Distributed Algorithms (WDAG). Also published in Lecture Notes on Computer Science, vol. 1151, pp. 304–321 (1996)
Mizuno M., Nesterenko M. (1998). A transformation of self- stabilizing serial model programs for asynchronous parallel computing environments. Inf. Process. Lett. 66(6): 285–290
Nesterenko, M., Arora, A.: Stabilization-preserving atomicity refinement. In: Proceedings of DESC (1999)
Rights and permissions
About this article
Cite this article
Gouda, M.G., Haddix, F.F. The alternator. Distrib. Comput. 20, 21–28 (2007). https://doi.org/10.1007/s00446-007-0033-1
- Distributed systems
- System transformation
- Serial execution