Aachen Department of Computer Science Technical Report

Aachen Department of Computer Science Technical Report

Aachen Department of Computer Science Technical Report Learning Communicating and Nondeterministic Automata Carsten Kern ISSN 0935–3232 Aachener Informatik Berichte AIB-2009-17 · · RWTH Aachen Department of Computer Science September 2009 · · Learning Communicating and Nondeterministic Automata Von der Fakult¨at f¨ur Mathematik, Informatik und Naturwissenschaften der Rheinisch-Westf¨alischen Technischen Hochschule Aachen zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften genehmigte Dissertation vorgelegt von Diplom-Informatiker Carsten Kern aus Aachen Berichter: Prof. Dr. Ir. Joost-Pieter Katoen Prof. Dr. Bengt Jonsson Tag der m¨undlichen Pr¨ufung: 31. August 2009 Diese Dissertation ist auf den Internetseiten der Hochschulbibliothek online verf¨ugbar. Carsten Kern Lehrstuhl Informatik 2 [email protected] Aachener Informatik-Bericht AIB-2009-17 Herausgeber: Fachgruppe Informatik RWTH Aachen University Ahornstr. 55 52074 Aachen GERMANY ISSN 0935–3232 Abstract The results of this dissertation are two-fold. On the one hand, inductive learning tech- niques are extended and two new inference algorithms for inferring nondeterministic, and universal, respectively, finite-state automata are presented. On the other hand, certain learning techniques are employed and enhanced to semi-automatically infer communi- cating automata (also called design models in the software development cycle). For both topics, theoretical results on the feasibility of the approaches, as well as an implementation are presented which, in both cases, support our theory. Concerning the first objective to derive a so-called active online learning algorithm for nondeterministic finite-state automata (NFA), we present, in analogy to Anlguin’s famous learning algorithm L∗ [Ang87a] for deterministic finite-state automata (DFA), a version for inferring a certain subclass of NFA. The automata from this class are called residual finite- state automata (RFSA). It was shown by Denis et al. [DLT02] that there is an exponential gap between the size of minimal DFA and their corresponding minimal RFSA. Even if there are also cases where the canonical (i.e., minimal) RFSA is exponentially larger than a corresponding minimal NFA, we show that the new learning algorithm—called NL∗— is a great improvement compared to L∗ as the inferred canonical RFSA has always at most the size of the corresponding minimal DFA but is usually even considerably smaller and more easy to learn. Unlike a learning procedure developed by Denis et al.—called DeLeTe2 [DLT04]—our algorithm is capable of deriving canonical RFSA. Like L∗, the new algorithm will be applicable in many fields including pattern recognition, computational linguistics and biology, speech recognition, and verification. From our point of view, NL∗ might especially play a mayor role in the area of formal verification where the size of the models that are processed is of enormous importance and nondeterminism not regarded an unpleasant property. The second objective of this thesis is to create a method for inferring distributed design models (CFMs) from a given set of requirements specified as scenarios (message sequence charts). The main idea is to extend the L∗ algorithm to cope with valid and invalid sets of system runs and, after some iterations, come up with an intermediate design model (a DFA) which exhibits features that make it distributable into communicating components (or processes) interacting via FIFO channels. Theoretical results on which classes of CFMs are learnable in which time-complexity bounds are presented. We also developed a tool implementation called Smyle, realizing important theoretical results evolving from this part of the thesis. Based on this learning formalism we also derive a software-engineering lifecycle model called the Smyle Modeling Approach in which we embedded our learning approach. Additionally, we launched a project for a new learning library called libalf which includes most of the learning algorithms (and their extensions) mentioned in this thesis. We hope that, due to its continuously increasing functionality, libalf will find broad acceptance among researchers, and that it will be the starting point for an extensive project of different research groups which will employ libalf, or augment the library with new algorithms. Zusammenfassung Die Ergebnisse dieser Arbeit sind zweigeteilt. Einerseits werden existierende induktive Lernverfahren grundlegend erweitert, und zwei neue Lernalgorithmen zur Inferenz nichtde- terministischer bzw. universeller Automaten vorgestellt. Andererseits werden bestimmte Lerntechniken eingesetzt und verbessert, um kommunizierende Automaten (in der Soft- wareentwicklung auch Designmodelle genannt) semi-automatisch zu inferieren. Es werden sowohl theoretische Resultate bez¨uglich der Durchf¨uhrbarkeit der Ans¨atze als auch zwei Implementierungen vorgestellt, die jeweils unsere theoretische Arbeit untermaueren. F¨ur das erste Ziel, n¨amlich einen sogenannten aktiven online Lernalgorithms f¨ur nicht- deterministische, endliche Automaten (NFA) zu entwerfen, wird in Analogie zu An- gluins ber¨uhmtem Lernalgorithmus L∗ [Ang87a] f¨ur determinisitische, endliche Automaten (DFA) eine Version eines Algorithmus entwickelt, der eine bestimmte Teilklasse nicht- deterministischer, endlicher Automaten inferieren kann. Die Automaten dieser Klasse werden residuelle, endliche Automaten (RFSA) genannt. Denis et al. haben in [DLT02] gezeigt, dass es eine exponentielle Kluft zwischen der Gr¨oße minimaler DFA und ¨aquiva- lenter kanonischer RFSA gibt. Auch in F¨allen in denen der kanonische RFSA exponentiell gr¨oßer ist als ein ¨aquivalenter minimaler NFA, zeigen wir, dass unser neuer Lernalgorith- mus NL∗ eine große Verbesserung im Vergleich zu dem schon existierenden Algorithmus L∗ darstellt, da der kanonische RFSA im schlimmsten Fall die gleiche Gr¨oße wie der ¨aquivalente minimale DFA besitzt, im Regelfall jedoch wesentlich kleiner und leichter zu lernen ist. Im Gegensatz zu dem von Denis et al. in [DLT04] vorgestellten Lernverfahren ist unser Algorithmus in der Lage kanonische RFSA zu lernen. Wie L∗ so wird auch unser Algorithmus NL∗ in vielen Bereichen Einsatz finden: z.B. in der Mustererkennung, in der maschinellen Linguistik und Biologie sowie in der Spracherkennung und formalen Verifikation. Unserer Meinung nach k¨onnte NL∗ vor allem im Bereich der formalen Veri- fikation eine Hauptrolle spielen, in der die Gr¨oße der zu pr¨ufenden Modelle von essentieller Bedeutung und Nichtdeterminismus nur von untergeordnetem Interesse ist. Das zweite Ziel dieser Arbeit lautet, einen Ansatz zur Inferenz verteilter Designmodelle (CFMs) basierend auf Anforderungen zu kreieren, die als Systemszenarios (Message Se- quence Charts) spezifiziert sind. Die Hauptidee besteht darin, den Algorithmus von Angluin dahingehend zu erweitern, dass er mit g¨ultigen und ung¨ultigen Systeml¨aufen umzugehen weiß und nach einigen Iterationen mit einem Zwischenmodell (einem DFA) aufwartet, das Eigenschaften aufweist, die es in ¨uber FIFO Kan¨ale kommunizierende Kom- ponenten (oder Prozesse) verteilen lassen. Es werden theoretische Ergebnisse hergeleitet, die Aussagen dar¨uber liefern, welche Klassen verteiler Automaten (CFMs) mit welchen Komplexit¨atsschranken lernbar sind. In diesem Zusammenhang wird außerdem eine Im- plementierung mit Namen Smyle vorgestellt, die die Durchf¨uhrbarkeit des Lernens einiger in dieser Arbeit vorgestellter Klassen aufzeigt. Aufbauend auf diesem theoretischen Lern- formalismus wird ein softwaretechnisches Lebenszyklusmodell, genannt der Smyle Model- ing Approach, entwickelt, in das unsere Lernanwendung Smyle integriert wird. Zus¨atzlich wurde ein Projekt ins Leben gerufen, das aktuell die meisten der in dieser Arbeit vorgestellten Lernverfahren und deren Erweiterungen implementiert. Die ent- standene Lernbibliothek tr¨agt den Namen libalf. Wir hoffen, dass diese Bibliothek auf- grund ihres kontinuierlich ansteigenden Umfangs an Lernverfahren großen Anklang unter Wissenschaftlern finden wird, und dass sie der Startpunkt eines weitl¨aufigen Projektes unterschiedlicher Universit¨aten wird, die diese Bibliothek nutzen und dazu beitragen, sie mit neuen Algorithmen an zu reichern. Acknowledgments My first and utmost thanks go to my supervisor Professor Dr. Ir. Joost-Pieter Katoen for being, at all times, a pleasant, motivating, and challenging employer, colleague, and men- tor, and always encouraging me to present research results at international conferences. I am equally beholden to my former diploma thesis supervisor, current coauthor, and friend Dr. Benedikt Bollig who always elated me for starting and continuing the challenge of doing a PhD, even when I was facing difficult situations. I am grateful to Professor Dr. Bengt Jonsson for immediately agreeing on being the second supervisor for this dissertation. Moreover, I would like to unendingly thank my coauthors Professor Dr. Ir. Joost-Pieter Katoen, Dr. Benedikt Bollig, Professor Dr. Martin Leucker, and Dr. Peter Habermehl for sharing their knowledge and expertise with me, for the great, pleasant but at the same time professional and inspiring research atmosphere, for interesting discussions, and for all the memorable moments we lived through during my PhD time. They all greatly contributed to the successful completion of this dissertation. Furthermore, I want to express my gratitude towards the Ecole Normale Sup´erieure de Cachan and the researchers from the Laboratoire Sp´ecification et V´erification for making two incredible

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    230 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