Automated Design of Self-Stabilization

Automated Design of Self-Stabilization

Michigan Technological University Digital Commons @ Michigan Tech Dissertations, Master's Theses and Master's Dissertations, Master's Theses and Master's Reports - Open Reports 2012 Automated design of self-stabilization Aly M. Farahat Michigan Technological University Follow this and additional works at: https://digitalcommons.mtu.edu/etds Copyright 2012 Aly M. Farahat Recommended Citation Farahat, Aly M., "Automated design of self-stabilization", Dissertation, Michigan Technological University, 2012. https://doi.org/10.37099/mtu.dc.etds/178 Follow this and additional works at: https://digitalcommons.mtu.edu/etds AUTOMATED DESIGN OF SELF-STABILIZATION By Aly M. Farahat A DISSERTATION Submitted in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY (Computer Science) MICHIGAN TECHNOLOGICAL UNIVERSITY 2012 c 2012 Aly M. Farahat This dissertation, "Automated Design of Self-Stabilization," is hereby approved in partial fulfillment of the requirements for the Degree of DOCTOR OF PHILOSOPHY IN COMPUTER SCIENCE. Department of Computer Science Signatures: Dissertation Advisor Dr. Ali Ebnenasir Committee Member Dr. Steven Seidel Committee Member Dr. Donald Kreher Committee Member Dr. Jean Mayo Committee Member Dr. Charles Wallace Interim Department Chair Dr. Charles Wallace Date To Mom, Dad, Omar and Mr. Pierre Chaoul – my high school math and computer science professor. Their love, support and knowledge made this work see light. I owe them what I am now. Contents List of Figures ..................................... xi List of Tables ...................................... xv Acknowledgments ...................................xvii Abstract .........................................xix 1 Introduction .................................... 1 1.1MotivationandSignificance......................... 2 1.2ProblemStatement.............................. 3 1.3Organization.................................. 4 2 Background ..................................... 5 2.1Preliminaries................................. 5 2.1.1 Protocols as non-deterministic finite-state machines . ..... 5 2.1.2 Computationsandexecutionsemantics................ 8 2.1.3 Closure,ConvergenceandSelf-Stabilization............. 8 2.1.4 DeadlocksandLivelocks........................ 9 2.1.5 TemporalLogic............................ 10 2.2FormalProblemStatement.......................... 14 3 Lightweight Methods for Automated Design of Convergence ......... 15 3.1 Introduction . .............................. 15 3.2ApproximatingStrongConvergence..................... 20 3.3AlgorithmicDesignofStrongConvergence................. 25 3.4CaseStudies.................................. 31 3.4.1 MaximalMatchingonaBidirectionalRing............. 32 3.4.2 ThreeColoring............................ 33 3.4.3 Three-RingTokenRing........................ 34 3.5 Algorithmic Design of Strong Convergence in Symmetric Protocols . 37 3.6CaseStudiesforSymmetricProtocols.................... 42 3.6.1 ThreeColoring............................ 42 3.6.2 LeaderElection............................ 43 3.6.3 Agreement.............................. 43 vii 3.7ExperimentalResults............................. 44 3.8Discussion................................... 48 3.9SummaryandExtensions........................... 50 4 Swarm Synthesis of Convergence for Symmetric Protocols ........... 53 4.1 Introduction . .............................. 53 4.2ComplexityofSynthesizingConvergence.................. 55 4.3AMethodforSwarmSynthesis........................ 58 4.4CaseStudies.................................. 64 4.4.1 MaximalMatching.......................... 65 4.4.2 Agreement.............................. 67 4.5SummaryandExtensions........................... 69 5 Local Reasoning for Global Convergence of Parameterized Rings ....... 71 5.1 Introduction . .............................. 71 5.2Deadlock-Freedom.............................. 72 5.3Livelock-Freedom............................... 76 5.4ApplicationinAutomatedDesignofConvergence.............. 85 5.4.1 Synthesis Methodology . ....................... 85 5.4.2 FurtherExamples........................... 87 5.5SummaryandExtensions........................... 90 6 An Exact Algebraic Characterization of Livelocks in Unidirectional Rings .. 91 6.1 Introduction . .............................. 91 6.2AlgebraicPropertiesofLivelocks....................... 93 6.2.1 BinaryRelationsonLocalTransitions................ 93 6.2.2 Conditions for Livelock-Freedom in Unidirectional Rings . ..... 96 6.3AdditionalExamples.............................102 6.4SummaryandExtensions...........................104 7 Application: Fault Tolerance of Wireless Sensor Nodes .............107 7.1 Introduction . ..............................107 7.2StructuralInvarianceofTinyOSTaskQueue.................109 7.3AdditionofRecovery.............................111 7.3.1 CorrectingBit-FlipswithECC....................111 7.3.2 AddingRecoverytoTaskQueue...................112 7.4SummaryandExtensions...........................118 8 Tools for Automated Synthesis of Convergence .................121 8.1STabilizationSynthesizer(STSyn)......................121 8.2ParallelSTabilizationSynthesizer(pSTSyn).................123 9 Related Work: A Taxonomy ............................125 viii 9.1Control-TheoreticApproach.........................126 9.1.1 Design.................................126 9.1.2 Analysis................................127 9.2Game-TheoreticApproach..........................129 9.2.1 Synthesis...............................129 9.2.1.1 SynthesisfromSpecification................130 9.2.1.2 ProgramRevision.....................131 9.2.2 Verification..............................132 9.3DistributedAlgorithmsApproach.......................132 9.3.1 ManualDesign............................133 9.3.1.1 ConvergenceStairs/RankingFunctions..........133 9.3.1.2 Local Checking and Correction, Snapshots and Global Reset............................134 9.3.2 AutomatedSynthesisfromSpecification...............135 9.3.3 AutomatedProgramRevision....................136 9.3.4 AutomatedVerificationofSelf-Stabilization.............137 9.3.5 ParameterizedVerificationofConvergence.............138 9.4Discussion...................................141 10 Concluding Remarks ...............................145 10.1Summary...................................145 10.2Extensions...................................146 References .......................................149 ix x List of Figures 1.1 Partitioning of the Set of Configurations of a Dynamic System into LegitimateandIllegitimateConfigurations.................. 2 1.2 Algorithmic Addition of Self-Stabilization . ................ 3 2.1TransitionGraphofMutualExclusionExample............... 13 3.1 The proposed lightweight method for automated design of convergence. ........ 16 3.2 Automated design of weak and strong convergence. ................. 18 3.3 Adding weak convergence. ............................ 20 3.4 Partitioning of ¬I. ................................ 22 3.5 Computing ranks and partitioning the set of illegitimate states ¬I. ........... 22 3.6 Proposed heuristic for adding strong convergence. .................. 27 3.7 Pass_Template is invoked three times by the proposed heuristic with different inputs. .. 28 3.8 Add convergence from a state predicate From to another state predicate To. ....... 30 3.9 The Three-Ring Token Ring (TR2) protocol. .................... 34 3.10 Convergence synthesis for symmetric protocols ................... 39 3.11 Summary of case studies. ............................. 44 3.12 Time spent for adding convergence to matching versus the number of processes. ..... 45 3.13 Space usage for adding convergence to matching versus the number of processes. .... 46 3.14 Time spent for adding convergence to 3-Coloring versus the number of processes. .... 46 3.15 Space usage for adding convergence to 3-Coloring versus the number of processes. .... 47 3.16 Time spent for adding convergence to Token Ring versus the number of processes. .... 47 3.17 Space usage for adding convergence to Token Ring versus the number of processes. ... 48 3.18 Time spent for adding convergence to Agreement versus the number of processes. .... 48 3.19 Space usage for adding convergence to Agreement versus the number of processes. .... 49 3.20 Time spent for adding convergence to Agreement versus the domain size. ........ 49 3.21 Space usage for adding convergence to Agreement versus the domain size. ....... 49 4.1 Ranking and approximating self-stabilization. .................... 55 4.2 Actions of the Token Ring protocol where j =1, 2. ............. 56 4.3 State transition graph of the non-stabilizing Token Ring protocol . ..... 56 4.4 Transition groups included in the TR protocol for deadlock resolution. 57 4.5 Inclusion of actions A1,A2,A3,B1,B2 and B3 creates a non-progress cycle in ¬ITR..................................... 58 xi 4.6 Inclusion of actions A4,A2,A3,B4,B2 and B3 results in a self-stabilizing versionofTR.................................. 59 4.7 Overview of swarm synthesis of convergence. .................... 60 4.8 The Main routine. ................................ 61 4.9 The Looper routine. ............................... 62 4.10 The AddConvergence routine. .......................... 63 4.11 Time spent for adding convergence to matching versus the number of processes ..... 66 4.12 Space usage for adding convergence to matching versus the number of processes ..... 66 4.13 Time spent for adding convergence to agreement versus the size of the variable domain .. 68

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    181 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us