Abstract
Self-stabilization is an elegant approach for designing fault tolerant systems. A system is considered self-stabilizing if, starting in any state, it converges to the desired behavior. Self-stabilizing algorithms were designed for solving fundamental distributed tasks, such as leader election, token circulation and communication network protocols. The algorithms were expressed using guarded commands or pseudo-code. The realization of these algorithms requires the existence of a (self-stabilizing) infrastructure such as a self-stabilizing microprocessor and a self-stabilizing operating system for their execution. Moreover, the high-level description of the algorithms needs to be converted into machine language of the microprocessor. In this article, we present our design for a self-stabilization preserving compiler. The compiler we designed and implemented transforms programs written in a language similar to the abstract state machine (ASM). The compiler preserves the stabilization property of the high level program.
- Borger, E., Gurevich, Y., and Rosenzweig, D. 1995. The bakery algorithm: Yet another specification and verification. In Specification and Validation Methods, E. Borger Ed., 231--243. Google Scholar
Digital Library
- Borger, E. and Stark, R. 2003. Abstract State Machines: A Method for High-Level System Design and Analysis. Springer-Verlag. Google Scholar
Digital Library
- Brukman, O., Dolev, S., and Kolodner, E. K. 2003. Self-stabilizing autonomic recoverer for eventual byzantine software. In Proceedings of the International Conference on Software Science Technology and Engineering. (SwSTE'03). Google Scholar
Digital Library
- Demirbas, M. and Arora, A. 2002. Convergence refinement. In Proceedings of the International Conference on Distributed Computer Services (ICDCS). 589--597. Google Scholar
Digital Library
- Dijkstra, E. W. 1974. Self-stabilizing systems in spite of distributed control. Comm. ACM 11, 17, 643--644. Google Scholar
Digital Library
- Dolev, S. 2000. Self-stabilization. MIT Press. Google Scholar
Digital Library
- Dolev, S. and Haviv, Y. 2004. Self-stabilizing microprocessor analyzing and overcoming soft-errors (extended abstract). In Proceedings of the International Conference on Architecture of Computing Systems (ARCS'04). Lecture Notes in Computer Science, vol. 2981. Springer Verlag, 31--46.Google Scholar
- Dolev, S., Haviv, Y., and Sagiv, M. 2008. Self-stabilization preserving compiler—implementation and examples. Tech. rep. #2008-01, Ben-Gurion University of the Negev, Israel. http://www.cs.bgu.ac.il/~frankel/TechRep/08-01/index.html.Google Scholar
- Dolev, S., Israeli, A., and Moran, S. 1993. Self-stabilization of dynamic systems assuming only read/write atomicity. Distrib. Comput. 7, 1, 3--16. Google Scholar
Digital Library
- Dolev, S. and Kat, R. I. 2002. “self-stabilizing distributed file systems”. In Proceedings of the International Workshop on Self-Repairing and Self-Configurable Distributed Systems, (RCDS'02). 384--389. J. High Speed Netw., To appear. Google Scholar
Digital Library
- Dolev, S. and Welch, J. L. 2004. Self-stabilizing clock synchronization in the presence of byzantine faults. J. ACM 51, 5, 780--799. Google Scholar
Digital Library
- Dolev, S. and Yagel, R. 2004. “toward self-stabilizing operating systems”. In Proceedings of the 2nd International Workshop on Self-Adaptive and Autonomic Computing Systems (SAACS'04). 684--688. Google Scholar
Digital Library
- Dolev, S. and Yagel, R. 2005. Memory management for self-stabilizing operating systems. In Self-Stabilizing Systems, T. Herman and S. Tixeuil, Eds. Lecture Notes in Computer Science, vol. 3764. Springer, 113--127. Google Scholar
Digital Library
- Fox, A. and Patterson, D. 2003. Self-repairing computers. Scientific American.Google Scholar
- Gouda, M. G. and Haddix, F. F. 1999. The alternator. In Proceedings of the International Conference on Web-Based Support Systems (WSS). A. Arora, Ed. IEEE Computer Society, 48--53. Google Scholar
Digital Library
- Gouda, M. G., Howell, R. R., and Rosier, L. E. 1990. The instability of self-stabilization. Acta Inform. 27, 9, 697--724. Google Scholar
Digital Library
- Gurevich, Y. 1994. Evolving algebras 1993: Lipari Guide. In Specification and Validation Methods, E. Börger, Ed. Oxford University Press, 9--37. Google Scholar
Digital Library
- Hadjicostis, C. N. 2001. Coding Approaches to Fault Tolerance in Combinational and Dynamic Systems. Kluwer Academic Publishers, Norwell, MA. Google Scholar
Digital Library
- Herman, T. and Pirwani, I. 2001. A composite stabilizing data structure. In Proceedings of the 5th International Workshop on Self-Stabilizing Systems (WSS'01). Springer-Verlag, 167--182. Google Scholar
Digital Library
- Kephart, J. O. and Chess, D. M. 2003. The vision of autonomic computing. Comput. 36, 1, 41--50. Google Scholar
Digital Library
- Lamport, L., Shostak, R., and Pease, M. 1995. The byzantine generals problem. In Advances in Ultra-Dependable Distributed Systems, N. Suri, C. J. Walter, and M. M. Hugue (Eds.), IEEE Computer Society Press.Google Scholar
- Lamport, L. 1978. Time, clocks, and the ordering of events in a distributed system. Comm. ACM 21, 7, 558--565. Google Scholar
Digital Library
- Lamport, L. 1986. On interprocess communication, part I: Basic formalism. Distrib. Comput. 1, 2, 77--85.Google Scholar
Cross Ref
- Lynch, N. A. 1996. Distributed Algorithms. Morgan Kaufmann Publishers Inc., San Francisco, CA. Google Scholar
Digital Library
- McGuire, T. M. and Gouda, M. G. 2005. The Austin Protocol Compiler. Springer-Verlag.Google Scholar
- Nesterenko, M. and Arora, A. 1999. Stabilization-preserving atomicity refinement. In Proceedings of the International Symposium on Distributed Computing (DISC). P. Jayanti, Ed. Lecture Notes in Computer Science, vol. 1693. Springer, 254--268. Google Scholar
Digital Library
- Perlman, R. 1992. Interconnections: Bridges and Routers. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA. Google Scholar
Digital Library
- Plotkin, G. D. 1981. A Structural Approach to Operational Semantics. Tech. rep. DAIMI FN-19, University of Aarhus.Google Scholar
- Shivakumar, P., Kistler, M., Keckler, S. W., Burger, D., and Alvisi, L. 2002. Modeling the effect of technology trends on the soft error rate of combinational logic. In Proceedings of the 2002 International Conference on Dependable Systems and Networks (DSN'02). IEEE Computer Society, 389--398. Google Scholar
Digital Library
- Tanenbaum, A. S. 1989. Structured Computer Organization 3rd Ed. Prentice-Hall, Inc., Upper Saddle River, NJ. Google Scholar
Digital Library
Index Terms
Self-stabilization preserving compiler
Recommendations
Self-stabilization preserving compiler
SSS'05: Proceedings of the 7th international conference on Self-Stabilizing SystemsSelf-Stabilization is an elegant approach for designing fault tolerant systems. A system is considered self-stabilizing if, starting in any state, it converges to the desired behavior. Self-stabilizing algorithms were designed for solving fundamental ...
Self-stabilization
In 1973 Dijkstra introduced to computer science the notion of self-stabilization in the context of distributed systems. He defined a system as self-stabilizing when “regardless of its initial state, it is guaranteed to arrive at a legitimate state in a ...
A self-stabilizing link-coloring protocol resilient to unbounded byzantine faults in arbitrary networks
OPODIS'05: Proceedings of the 9th international conference on Principles of Distributed SystemsSelf-stabilizing protocols can tolerate any type and any number of transient faults. However, in general, self-stabilizing protocols provide no guarantee about their behavior against permanent faults. This paper proposes a self-stabilizing link-coloring ...






Comments