Model Checking Abstract State Machines vorgelegt von Diplom-Informatikerin Kirsten Winter aus Uelzen Von der Fakult¨at IV - Elektrotechnik und Informatik der Technischen Universit¨at Berlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften – Dr.-Ing. – genehmigte Dissertation Promotionsausschuß: Vorsitzender: Prof. Dr.-Ing. G. Hommel Berichter: Prof. Dr.-Ing. S. J¨ahnichen Berichter: Prof. Dr. W. Reisig Tag der wissenschaftlichen Aussprache: 17. Juli 2001 Berlin, 2001 D 83 Acknowledgements First of all, I would like to thank my supervisor Stefan J¨ahnichen who employed me as a PhD student at GMD FIRST. His open and personal approach towards his group strongly influenced my development from a student to a researcher. I was given much scope in choosing my own direction for my PhD topic. Moreover, the opportunity of working on other research projects encouraged me to consider many areas of related work. My experience at GMD FIRST has provided me with a broad background in the field of formal methods that will be useful in the future, I am sure. Next, I would like to thank Wolfgang Reisig for spontaneously agreeing to be my second supervisor. His discussions, often very critical, on drafts of this work helped improve it alot. I very much appreciated the time he took with me to go through his comments. Something one must learn when doing a PhD is to defend their results. I guess, a big part of this I learned on the other side of the road, at the Humboldt University. Also, Egon B¨orger’s support has had a great impact on this thesis. He encour- aged me to write my first publication which is, I believe, the most difficult one and gave me many helpful corrections and much feedback on my first attempt at this paper. While developing my ideas on model checking ASM, he encouraged me alot by showing continuous interest in my results. What is the use of a fully automatic model checker if it needs a manual trans- formation of the models? Giuseppe Del Castillo encouraged me to think about implementation. I was not always happy when fighting with the intricacies of ML but in the end I am very grateful for this cooperation. Sofiene Tahar earns my gratitude for his useful comments on my use of MDGs. I hope to continue this cooperation in the future. The research group of GMD and the Technical University Berlin in which I “grew up” provided a nice atmosphere for discussions. I thank Jochen Burghardt, Carsten S¨uhl, Florian Kamm¨uller, Steffen Helke, Thomas Santen, Matthias Anlauff and Stephan Herrmann for their helpful comments and their personal support. Especially, I would like to thank Stephan for his companionship through the first years of my PhD. Many thanks to Graeme Smith for fighting with the drafts and, as a consequence, for giving me “lessons” in English writing. His sometimes differing point of view led to many useful discussions on formal notations. Apart from this professional support, I want to thank him for keeping me cheery through these last winter months and for the bowls of pasta that ensured survival in the late working hours. Finally, I would also like to thank my mother and my siblings for the love and the sunshine they bring into my life. Zusammenfassung Abstract State Machines (ASM) ist eine formale Spezifikationssprache, die es er- laubt, auf einem hohen Abstraktionsniveau zu modellieren. Sie ist gut geeignet f¨ur verschiedenartigste Anwendungen. Computerbasierte Werkzeugunterst¨utzung ist in Form von Editoren, Typecheckern und Simulatoren vorhanden. ASM ist außer- dem in die Logiken zweier Theorembeweiser eingebettet worden, die interaktives Beweisen unterst¨utzen. Diese Dissertation hat zum Ziel, die vorhandene Werkzeugunterst¨utzung um einen vollst¨andig automatisierten Ansatz zu erweitern, das sogenannte Modelcheck- ing. Modelchecking ist die vollst¨andige Suche im Zustandsraum des zu untersuchen- den Systemmodells. Die Algorithmen arbeiten automatisch und bed¨urfen keiner In- teraktion mit dem Benutzer oder der Benutzerin. Als zentrale Werkzeugumgebung wird die ASM Workbench verwendet, in die ein Modelchecker integriert wird. Diese Werkzeugumgebung wird mit einer allgemeinen Schnittstelle in Form einer Zwis- chensprache versehen. Diese allgemeine Schnittstelle dient als Grundlage zur An- bindung verschiedener Modelchecker, die auf einfachen Transitionssystemen basieren. Mit der Transformation der abstrakten Spezifikationssprache ASM in die sehr ein- fachen Sprachen von vollautomatischen Werkzeugen schl¨agt diese Arbeit eine Br¨ucke ¨uber den tiefen Graben zwischen Modellierungssprachen, die auf hohem Niveau beschreiben, und Werkzeugsprachen, die algorithmisch einfach zu behandeln sind. Auf der Basis der allgemeinen Schnittstelle werden im Rahmen dieser Disserta- tion zwei konkrete Schnittstellen entwickelt: von der ASM Workbench zum Mod- elchecker SMV und zum MDG-Paket. Ersteres Werkzeug wird h¨aufig eingesetzt und implementiert symbolisches Modelchecken f¨ur CTL-Formeln. Die Anbindung zum Modelchecker SMV ist implementiert und zwei Fallstu- dien wurden mittels der entwickelten Transformation und dem SMV Werkzeug un- tersucht. Die Ergebnisse zeigen die Anwendbarkeit aber auch die Grenzen dieses Ansatzes auf. Diese Grenzen motivieren die Entwicklung der zweiten Schnittstelle zum MDG-Paket. Dieses Paket umfaßt die Basisfunktionalit¨at f¨ur symbolisches Modelchecking auf der Grundlage von Multiway Decision Graphs (MDGs). Diese Graphenstruktur erlaubt die Repr¨asentation von m¨oglicherweise unendlichen Tran- sitionssystemen mit Hilfe von abstrakten Sorten und Funktionen. Sie bietet daher ein einfaches Mittel, um die Abstraktion von Modellen zu unterst¨utzen. Außerdem erlaubt dieser Ansatz, Annahmen ¨uber das zu untersuchende System und seine Umgebung in temporaler Logik zu spezifizieren. Die resultierende logische Mod- ellierung wird anschließend mit dem Systemmodell vereinigt und f¨uhrt zu einer vollst¨andigeren Modellierung. Damit erweitert diese zweite Schnittstelle die Gren- zen der vollautomatischen Analyse, die Modelchecking zur Verf¨ugung stellt. Contents 1 Introduction 1 2 Abstract State Machines 7 2.1 Introduction: FormalismandMethodology. 7 2.1.1 A Simple Example . 8 2.1.2 General Practice for Modelling in ASM . 10 2.2 TheASMLanguage ........................... 11 2.2.1 States ............................... 12 2.2.2 LocationsandUpdates. 16 2.2.3 Transition Rules . 17 2.3 TheASMWorkbench .......................... 21 3 Model Checking: An Overview 23 3.1 Introduction................................ 23 3.2 TheOverallFramework ......................... 23 3.2.1 TheLogicalApproach . .. .. .. .. .. .. .. .. .. 24 3.2.2 ModelCheckingwithAutomata . 26 3.3 ModelCheckingforCTL ........................ 28 3.3.1 TheLogicCTL.......................... 28 3.3.2 ModelCheckingCTLFormulas . 30 3.3.3 Symbolic Model Checking . 34 3.3.4 FairnessConstraints .. .. .. .. .. .. .. .. .. .. 36 3.4 ModelCheckingforLTL......................... 38 3.4.1 TheLogicLTL .......................... 38 3.4.2 ModelCheckingLTLFormulas . 39 3.4.3 Symbolic Model Checking for LTL . 44 3.5 Linear-Time versus Branching-Time Logic . 45 3.5.1 Complexity of the Algorithms . 45 3.5.2 ExpressivenessofTemporalLogics . 45 4 Decision Graphs 51 4.1 BinaryDecisionDiagrams . .. .. .. .. .. .. .. .. .. .. 51 4.1.1 AlgorithmsforROBDDs. 53 4.2 MultiwayDecisionGraphs. .. .. .. .. .. .. .. .. .. .. 55 4.2.1 TheLogic............................. 55 4.2.2 Multiway Decision Graphs . 57 4.2.3 OperationsonMDGs ...................... 58 5 Applying Model Checking to ASM 63 5.1 Modelling with Assumptions . 65 5.1.1 Model Checking without Meeting the Assumptions . 66 5.2 TransformationofASM ......................... 68 i CONTENTS 5.2.1 The Transformation Algorithm . 70 6 The SMV Model Checker 83 6.1 TheSMVTool .............................. 84 6.1.1 TheSMVLanguage ....................... 85 6.1.2 ASMversusSMVLanguage. 86 6.2 TheTransformationintoSMV . 87 6.2.1 MappingASMintoSMV .................... 87 7 Case Studies 93 7.1 TheFLASHCacheCoherenceProtocol . 93 7.1.1 TheProtocol ........................... 93 7.1.2 TheASMModeloftheFLASHProtocol . 94 7.1.3 TheRefinedModeloftheProtocol . 99 7.1.4 ModelCheckingtheFLASHModel. 102 7.2 TheProductionCell ........................... 105 7.2.1 TheCaseStudy ......................... 105 7.2.2 TheASMModeloftheProductionCell . 106 7.2.3 TheEnvironmentAssumptions . 108 7.2.4 ModelCheckingthe ProductionCellModel . 110 7.2.5 Discussion............................. 113 8 The MDG-Package 115 8.1 InterfacingtheMDG-Package . 115 8.2 ASMversusMDG ............................ 116 8.3 GeneratingAbstraction . 117 8.3.1 The Non-Termination Problem . 118 8.3.2 AutomaticSupportfortheGeneration . 120 8.3.3 A Simple Example . 121 8.4 TheTransformationofASMintoMDG . 124 8.4.1 The Adapted Transformation into ASM-IL+ .......... 124 8.4.2 ASM-IL+ ModelsasDirectedFormulas . 129 8.4.3 Transformation of ASM-IL+ intoMDGs . .. .. .. .. .. 132 9 Conclusion 137 9.1 RelatedWork............................... 138 9.1.1 ModelCheckingAbstractState Machines . 139 9.1.2 AbstractionTechniques . 139 9.2 DirectionsforFutureWork . 141 A Appendix 143 A.1 FixpointCharacterisation . 144 A.2 FLASHCacheCoherenceProtocol . 146 A.2.1 TheASM-SLCode........................ 146 A.2.2 TheCounterexamples . 157 A.3 ProductionCell.............................. 164 A.3.1 TheASM-SLCode........................ 164 A.3.2 TheEnvironmentModel. 175 A.3.3 TheSafetyRequirements . 179 A.3.4 TheLivenessRequirements . 185 Bibliography 195 ii Chapter 1 Introduction Why use Formal Methods?
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages203 Page
-
File Size-