Interactive Verification of Synchronous Systems

  • Embedded systems, ranging from very simple systems up to complex controllers, may nowadays have quite challenging real-time requirements. Many embedded systems are reactive systems that have to respond to environmental events and have to guarantee certain real-time constrain. Their execution is usually divided into reaction steps, where in each step, the system reads inputs from the environment and reacts to these by computing corresponding outputs. The synchronous Model of Computation (MoC) has proven to be well-suited for the development of reactive real-time embedded systems whose paradigm directly reflects the reactive nature of the systems it describes. Another advantage is the availability of formal verification by model checking as a result of the deterministic execution based on a formal semantics. Nevertheless, the increasing complexity of embedded systems requires to compensate the natural disadvantages of model checking that suffers from the well-known state-space explosion problem. It is therefore natural to try to integrate other verification methods with the already established techniques. Hence, improvements to encounter these problems are required, e.g., appropriate decomposition techniques, which encounter the disadvantages of the model checking approach naturally. But defining decomposition techniques for synchronous language is a difficult task, as a result of the inherent parallelism emerging from the synchronous broadcast communication. Inspired by the progress in the field of desynchronization of synchronous systems by representing them in other MoCs, this work will investigate the possibility of adapting and use methods and tools designed for other MoC for the verification of systems represented in the synchronous MoC. Therefore, this work introduces the interactive verification of synchronous systems based on the basic foundation of formal verification for sequential programs – the Hoare calculus. Due to the different models of computation several problems have to be solved. In particular due to the large amount of concurrency, several parts of the program are active at the same point of time. In contrast to sequential programs, a decomposition in the Hoare-logic style that is in some sense a symbolic execution from one control flow location to another one requires the consideration of several flows here. Therefore, different approaches for the interactive verification of synchronous systems are presented. Additionally, the representation of synchronous systems by other MoCs and the influence of the representation on the verification task by differently embedding synchronous system in a single verification tool are elaborated. The feasibility is shown by integration of the presented approach with the established model checking methods by implementing the AIFProver on top of the Averest system.
  • Eingebette Systeme reichen von sehr einfachen Systemen zu sehr komplexen Steuerungen, und haben meist extreme Echtzeit- und Planungsanforderungen. Viele Eingebettete Systeme sind reaktive Systeme, die auf Ereignisse der Umgebung reagieren müssen und dabei bestimmte zeitliche Vorgaben erfüllen müssen. Die Ausführung solcher Systeme wird normalerweise in Reaktionsschritte unterteilt, wobei in jedem Schritt das System seine Eingaben liest und auf diese mit den entsprechenden Ausgaben reagiert. Das synchrone Berechnungsmodel (MoC) ist geeignet solche Systeme zu modellieren, da es dem Paradigma der perfekten Synchronie folgt, welches die Natur der reaktiven Systeme wiederspiegelt. Ein weiterer Vorteil ist das Vorhandensein von formalen Verifikationsmethoden, wie Modelprüfung. Die Anwendbarkeit dieser Methoden basiert auf der deterministischen Ausführung solcher Systeme, aufgrund der formalen Semantik. Durch die steigende Komplexität von Eingebetteten Systemen muss der natürliche Nachteil der Modellprüfung, die Zustandsraumexplosion, ausgeglichen werden um akzeptable Laufzeiten des Verifikationsverfahren sicher zu stellen. Dafür werden meist bestehende Techniken wiederverwendet. Vor allem Methoden, die den Zustandsraum durch z.B. Zerlegung verkleinern und damit dem Nachteil der Modellprüfung entgegenwirken sind wichtig. Die Definition solcher Dekompositionstechniken ist für synchrone Sprachen, durch deren Parallelität nicht einfach. Inspiriert durch die Erfolge im Gebiet der Desynchronisation von synchronen Systemen, welche diese in asynchrone Systeme transformieren, wird diese Arbeit die Möglichkeit untersuchen, ob ähnliche Techniken auch für die Verifikation verwendet werden können. Dabei werden Techniken betrachtet, die ein anderes Berechnungsmodell zu Grunde legen und eine mögliche Verwendung für die Verifikation synchroner Systeme untersucht. Dabei wird der Schwerpunkt auf die interaktive Verifikation synchroner Systeme, basierend auf dem Hoare- Kalkül, einer grundlegenden Verifikationstechnik sequentieller Programme gelegt. Durch die verschiedenen zugrundeliegenden Berechnungsmodelle muss eine vielzahl an Problemen gelöst werden. Besonders problematisch ist die Möglichkeit, dass verschiedene Programmteile zum gleichen Zeitpunkt aktiv sein und sich gegenseitig beeinflussen können. Im Gegensatz zum sequentiellen Fall, bei dem man einzelne Anweisungen betrachtet, bedeutet eine Dekomposition synchroner Programme, dass man eine symbolische Ausführung von mehreren parallelen Programteilen betrachten muss. Zum Lösen dieses Problems werden verschiedene Ansätze gezeigt. Außerdem wird gezeigt wie ein synchrones System durch andere Berechnungsmodelle zum Zwecke der Verifikation dargestellt werden kann und welchen Einfluß dies auf dessen Verifikation hat. Die Realisierbarkeit der vorgestellten Ansätze wird durch die Integration mit den vorhandenen Modellprüfungsmethoden durch die Implementierung eines Prototyps gezeigt.

Download full text files

Export metadata

Metadaten
Author:Manuel Gesell
URN:urn:nbn:de:hbz:386-kluedo-39734
Advisor:Klaus Schneider
Document Type:Doctoral Thesis
Language of publication:English
Date of Publication (online):2015/01/21
Year of first Publication:2014
Publishing Institution:Technische Universität Kaiserslautern
Granting Institution:Technische Universität Kaiserslautern
Acceptance Date of the Thesis:2014/11/07
Date of the Publication (Server):2015/01/23
Page Number:XIII, 169
Faculties / Organisational entities:Kaiserslautern - Fachbereich Informatik
DDC-Cassification:0 Allgemeines, Informatik, Informationswissenschaft / 004 Informatik
Licence (German):Standard gemäß KLUEDO-Leitlinien vom 28.10.2014