T Reactive Systems: Introduction and Finite State Automata
|
|
|
- Derek Rice
- 9 years ago
- Views:
Transcription
1 T Reactive Systems: Introduction and Finite State Automata Timo Latvala
2 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software and/or hardware systems which have ongoing behavior. (They do not terminate.) Examples of reactive systems include: Traffic lights Elevators (lifts) Operating systems Data communication protocols (Internet,telephone switches) Mobile phones
3 Reactive Systems: Introduction and Finite State Automata 1-2 Reactive systems do not fulfill the definition of an algorithm, which says that an algorithm should: Terminate, and upon termination, provide a (hopefully correct) return value. If we want to specify the correctness of an algorithm, we usually specify it as follows: The algorithm should terminate on all (allowed) inputs, and on termination, the provided output should correct (with respect to a specification).
4 Reactive Systems: Introduction and Finite State Automata 1-3 Hardware and Software Verification The principal methods for the validation and verification of complex systems are Testing (using the system itself) Simulation (using a model of the system) Deductive verification (proof of correctness by e.g. axioms and proof rules, usually including computer aided proof assistants) Model Checking ( exhaustive testing of a model of a system)
5 Reactive Systems: Introduction and Finite State Automata 1-4 The Need for Formal Methods Hardware and software are widely used in applications where failure is unacceptable (safety or business critical systems): ecommerce, communication networks, air traffic control, medical systems, etc. Two costly system failures experienced: Intel: Pentium FDIV bug (1994, estimated $500 million) Ariane 5: floating point overflow (1996, $500 million) Probably our dependence on critical systems (e.g. the Internet, cars, airplanes,... ) is growing instead of diminishing.
6 Reactive Systems: Introduction and Finite State Automata 1-5 The Need for Formal Methods Reactive systems are often concurrent and sometimes also nondeterministic. This limits the applicability of testing based methods. Deductive verification needs highly advanced personnel and time. (Has been used in highly critical systems where high cost is not an objective.)
7 Reactive Systems: Introduction and Finite State Automata 1-6 What is Needed to Formally Verify Reactive Systems? We need to address the following issues. How do we build a model of a reactive system? How do we specify the correctness of reactive systems? How do we check whether the system meets its specification? We will address the issues of modeling, specification, and verification in this course.
8 Reactive Systems: Introduction and Finite State Automata 1-7 Model Checking Model checking is a technique for verifying reactive systems. It has several advantages over traditional approaches (simulation, testing, deductive reasoning) to this problem. Reachability analysis can be seen as a very basic model checking approach. The method has been successfully used to verify circuit designs (e.g. microprocessors), and communication protocols. The main challenge in using the approach is the state explosion problem. Tackling this problem is still the main source of research into model checking.
9 Reactive Systems: Introduction and Finite State Automata 1-8 Model checking limits itself to systems where decidability is guaranteed (e.g. systems with only a finite number of state bits). Given sufficient amount of time and memory, a model checking tool is guaranteed to terminate with a YES/NO answer. Instances of finite state systems handled with model checking include e.g. hardware controllers and communication protocols. In some cases bugs can be found from infinite state systems by restricting them to finite state ones. One can for example model message FIFOs of infinite size with bounded size FIFOs, and still find some of the bugs bugs which appear in the (harder) infinite-state case. Note that if no bugs are found in the finite-state version, that does not mean that the infinite-state version is correct! Model checking can be performed automatically, which is different from deductive verification. It can thus be used for automatic regression testing.
10 Reactive Systems: Introduction and Finite State Automata 1-9 The Process of Model Checking In model checking process the following phase can be identified: Modeling - How to model your system in a way acceptable from a model checking perspective. This can be as easy as compilation or may involve deep insight into the system being modeled. In this course we will mainly use Petri nets as the modeling formalism. Specification - What properties should the system satisfy? Most model checkers use temporal logic to specify the properties, but there might be some standard properties one would like to check (e.g. deadlock freedom). Verification - Push the model check button. In practice life is not this easy, and analysis of the model checking results is needed. If for example a property does not hold, where does the bug exist? Model checkers produce counterexamples which help in locating the bug. The bug might also be in the specification or in the system model, so these must be analyzed carefully.
11 Reactive Systems: Introduction and Finite State Automata 1-10 Temporal Logic and Model Checking Temporal logics were originally developed by philosophers for reasoning about the way time was used in natural language. Lots of different temporal logics have been suggested. There are two main branches of logics: linear time and branching time logics. The meaning of a temporal logic formula will be determined with respect to a Kripke structure. Pnueli was the first to use temporal logics for reasoning about concurrent systems. In the early 1980 s Clarke and Emerson in USA, and Quielle and Sifakis in France gave model checking algorithms for branching time logics (CTL). The EMC algorithm by Clarke, Emerson and Sistla was the first linear-time algorithm for CTL in 1987.
12 Reactive Systems: Introduction and Finite State Automata 1-11 Sistla and Clarke analyzed the model checking problem for a linear time logic (LTL) and showed it to be PSPACE-complete. Later Lichtenstein and Pnueli made a more careful analysis which showed that the PSPACE-completeness is only in the size of the formula, and not the state space of the system. Other temporal logics include CTL and µ-calculus. Also regular expressions and automata on infinite words (ω-automata) have been used for specification. We will in this course mainly concentrate on LTL model checking using ω-automata. We will start by first introducing finite state automata. They can be seen as a helper formalism used inside model checkers to implement model checking algorithms. They can be used to implement model checking of so called safety properties, as well as used to model systems themselves.
13 Reactive Systems: Introduction and Finite State Automata 1-12 Automata on Finite Words Automata on finite words can also be used to model finite state systems, as well as specifications for systems. Definition 1 A (nondeterministic finite) automaton A is a tuple (Σ,S,S 0,,F), where Σ is a finite alphabet, S is a finite set of states, S 0 S is set of initial states, S Σ S is the transition relation, and F S is the set of accepting states. An automaton A is deterministic if S 0 = 1 and for all pairs s S,a Σ it holds that if for some s S: (s,a,s ) then there is no s S such that s s and (s,a,s ). (I.e., there is only at most one state which can be reached from s with a.)
14 Reactive Systems: Introduction and Finite State Automata 1-13 The meaning of the transition relation S Σ S is the following: (s,a,s ) means that there is a move from state s to state s with symbol a. An alternative (equivalent) definition gives the transition relation as a function ρ : S Σ 2 S, where ρ(s,a) gives the set of states to which the automaton can move with a from state s. Synonyms for the word automaton are: finite state machine (FSM), finite state automaton (FSA), nondeterministic finite automaton (NFA), and finite automaton on finite strings.
15 Reactive Systems: Introduction and Finite State Automata 1-14 Runs and Languages A finite automaton accepts a set of words L(A) Σ called the language accepted by A, defined as follows: A run r of A on a finite word a 0,...,a n 1 Σ is a sequence s 0,...,s n of (n + 1) states in S, such that s 0 S 0, and (s i,a i,s i+1 ) for all 0 i < n. The run r is accepting iff s n F. A word w Σ is accepted by A iff A has an accepting run on w. The language of A, denoted L(A) Σ is the set of finite words accepted by A. A language of automaton A is said to be empty when L(A) = /0.
16 Reactive Systems: Introduction and Finite State Automata 1-15 Operations with Automata To make ourselves more familiar with finite state automata, we will show how simple operations with them can be performed. We will do this by defining the Boolean operators for finite automata: A = A 1 A 2,A = A 1 A 2, and A = A 1. These operations will as a result have an automaton A, such that: L(A) = L(A 1 ) L(A 2 ),L(A) = L(A 1 ) L(A 2 ), and L(A) = L(A 1 ), respectively. In the following we furthermore assume the the automata are disjoint (i.e., they have no states in common), and that they have the same alphabet Σ.
17 Reactive Systems: Introduction and Finite State Automata 1-16 We start by A = A 1 A 2 : Definition 2 Let A 1 = (Σ,S 1,S 0 1, 1,F 1 ) and A 2 = (Σ,S 2,S 0 2, 2,F 2 ). union automaton to be A = (Σ,S,S 0,,F), where: We define the S = S 1 S 2, S 0 = S 0 1 S0 2, = 1 2, and F = F 1 F 2. Now for the union automaton A (also denoted by A 1 A 2 ) it holds that L(A) = L(A 1 ) L(A 2 ).
18 Reactive Systems: Introduction and Finite State Automata 1-17 Next we define A = A 1 A 2 : Definition 3 Let A 1 = (Σ,S 1,S 0 1, 1,F 1 ) and A 2 = (Σ,S 2,S 0 2, 2,F 2 ). product automaton to be A = (Σ,S,S 0,,F), where: We define the S = S 1 S 2, S 0 = S 0 1 S0 2, for all s,s S 1,t,t S 2,a Σ: ((s,t),a,(s,t )) iff (s,a,s ) 1 and (t,a,t ) 2 ; and F = F 1 F 2. Now for the product automaton A (also denoted by A 1 A 2 and A 1 A 2 ) it holds that L(A) = L(A 1 ) L(A 2 ).
19 Reactive Systems: Introduction and Finite State Automata 1-18 The definition of complementation is slightly more complicated. We say that an automaton has a completely specified transition relation if for all states s S and symbols a Σ there exist a state s S such that (s,a,s ). Any automaton which does not have a completely specified transition relation can be turned into one by: adding a new sink state q s, making q s a non-accepting state, adding for all a Σ an arc (q s,a,q s ), and for all pairs s S,a Σ: if there is no state s such that (s,a,s ), then add an arc (s,a,q s ). (Add all those arcs which are still missing to fulfill the completely specified property.) Note that this construction does not change the language accepted by the automaton.
20 Reactive Systems: Introduction and Finite State Automata 1-19 We first give a complementation definition which only works for completely specified deterministic automata! Definition 4 Let A 1 = (Σ,S 1,S 0 1, 1,F 1 ) be a deterministic automaton with a completely specified transition relation. We define the deterministic complement automaton to be A = (Σ,S,S 0,,F), where: S = S 1, S 0 = S 0 1, = 1, and F = S 1 \ F 1. Now for the automaton A (also denoted by A 1 ) it holds that L(A) = Σ \ L(A 1 ).
Model Checking based Software Verification
Model Checking based Software Verification 18.5-2006 Keijo Heljanko [email protected] Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Model Checking II Temporal Logic Model Checking
1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:
Model Checking of Software
Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving
logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?
5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling
Formal Verification and Linear-time Model Checking
Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging
Automata-based Verification - I
CS3172: Advanced Algorithms Automata-based Verification - I Howard Barringer Room KB2.20: email: [email protected] March 2006 Supporting and Background Material Copies of key slides (already
The Course. http://www.cse.unsw.edu.au/~cs3153/
The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,
Formal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
Reading 13 : Finite State Automata and Regular Expressions
CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model
Algorithmic Software Verification
Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary
Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
tutorial: hardware and software model checking
tutorial: hardware and software model checking gerard holzmann and anuj puri { gerard anuj } @research.bell-labs.com Bell Labs, USA outline introduction (15 mins) theory and algorithms system modeling
Introduction to Automata Theory. Reading: Chapter 1
Introduction to Automata Theory Reading: Chapter 1 1 What is Automata Theory? Study of abstract computing devices, or machines Automaton = an abstract computing device Note: A device need not even be a
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Feature Specification and Automated Conflict Detection
Feature Specification and Automated Conflict Detection AMY P. FELTY University of Ottawa and KEDAR S. NAMJOSHI Bell Laboratories Large software systems, especially in the telecommunications field, are
Automata and Formal Languages
Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,
Lecture 2: Universality
CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal
INF5140: Specification and Verification of Parallel Systems
Motivation INF5140: Specification and Verification of Parallel Systems Lecture 1 Introduction: Formal Methods Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2009 Outline
Finite Automata. Reading: Chapter 2
Finite Automata Reading: Chapter 2 1 Finite Automata Informally, a state machine that comprehensively captures all possible states and transitions that a machine can take while responding to a stream (or
Regular Expressions and Automata using Haskell
Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions
Automata and Computability. Solutions to Exercises
Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata
6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
Model checking test models. Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl
Model checking test models Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl February 14, 2014 Abstract This thesis is about model checking testing models. These testing
Constructing Automata from Temporal Logic Formulas : A Tutorial
Constructing Automata from Temporal Logic Formulas : A Tutorial Pierre Wolper Université de Liège, Institut Montefiore, B28, 4000 Liège, Belgium [email protected], http://www.montefiore.ulg.ac.be/~pw/
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86
Atlantic Electronic http://aejm.ca Journal of Mathematics http://rema.ca Volume 1, Number 1, Summer 2006 pp. 69 86 AUTOMATED RECOGNITION OF STUTTER INVARIANCE OF LTL FORMULAS Jeffrey Dallien 1 and Wendy
Finite Automata. Reading: Chapter 2
Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010. Class 4 Nancy Lynch
6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 4 Nancy Lynch Today Two more models of computation: Nondeterministic Finite Automata (NFAs)
Institut für Parallele und Verteilte Systeme. Abteilung Anwendersoftware. Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart
Institut für Parallele und Verteilte Systeme Abteilung Anwendersoftware Universität Stuttgart Universitätsstraße 38 D-70569 Stuttgart Diplomarbeit Nr. 3243 Development and Evaluation of a Framework for
Formal verification of contracts for synchronous software components using NuSMV
Formal verification of contracts for synchronous software components using NuSMV Tobias Polzer Lehrstuhl für Informatik 8 Bachelorarbeit 13.05.2014 1 / 19 Problem description and goals Problem description
Regular Languages and Finite State Machines
Regular Languages and Finite State Machines Plan for the Day: Mathematical preliminaries - some review One application formal definition of finite automata Examples 1 Sets A set is an unordered collection
Introduction to Software Verification
Introduction to Software Verification Orna Grumberg Lectures Material winter 2013-14 Lecture 4 5.11.13 Model Checking Automated formal verification: A different approach to formal verification Model Checking
Automata on Infinite Words and Trees
Automata on Infinite Words and Trees Course notes for the course Automata on Infinite Words and Trees given by Dr. Meghyn Bienvenu at Universität Bremen in the 2009-2010 winter semester Last modified:
Automata Theory. Şubat 2006 Tuğrul Yılmaz Ankara Üniversitesi
Automata Theory Automata theory is the study of abstract computing devices. A. M. Turing studied an abstract machine that had all the capabilities of today s computers. Turing s goal was to describe the
CS5236 Advanced Automata Theory
CS5236 Advanced Automata Theory Frank Stephan Semester I, Academic Year 2012-2013 Advanced Automata Theory is a lecture which will first review the basics of formal languages and automata theory and then
Informatique Fondamentale IMA S8
Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ [email protected] Université Lille 1 - Polytech Lille
Pushdown Automata. place the input head on the leftmost input symbol. while symbol read = b and pile contains discs advance head remove disc from pile
Pushdown Automata In the last section we found that restricting the computational power of computing devices produced solvable decision problems for the class of sets accepted by finite automata. But along
Enforcing Security Policies. Rahul Gera
Enforcing Security Policies Rahul Gera Brief overview Security policies and Execution Monitoring. Policies that can be enforced using EM. An automata based formalism for specifying those security policies.
The Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm
Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to
Deterministic Finite Automata
1 Deterministic Finite Automata Definition: A deterministic finite automaton (DFA) consists of 1. a finite set of states (often denoted Q) 2. a finite set Σ of symbols (alphabet) 3. a transition function
Pushdown automata. Informatics 2A: Lecture 9. Alex Simpson. 3 October, 2014. School of Informatics University of Edinburgh [email protected].
Pushdown automata Informatics 2A: Lecture 9 Alex Simpson School of Informatics University of Edinburgh [email protected] 3 October, 2014 1 / 17 Recap of lecture 8 Context-free languages are defined by context-free
Finding Liveness Errors with ACO
Finding Liveness Errors with ACO Francisco Chicano and Enrique Alba Abstract Model Checking is a well-known and fully automatic technique for checking software properties, usually given as temporal logic
Using Patterns and Composite Propositions to Automate the Generation of Complex LTL
University of Texas at El Paso DigitalCommons@UTEP Departmental Technical Reports (CS) Department of Computer Science 8-1-2007 Using Patterns and Composite Propositions to Automate the Generation of Complex
Monitoring Metric First-order Temporal Properties
Monitoring Metric First-order Temporal Properties DAVID BASIN, FELIX KLAEDTKE, SAMUEL MÜLLER, and EUGEN ZĂLINESCU, ETH Zurich Runtime monitoring is a general approach to verifying system properties at
Fixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
Software Model Checking: Theory and Practice
Software Model Checking: Theory and Practice Lecture: Specification Checking - LTL Model Checking Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course are
Büchi Complementation Made Tighter
International Journal of Foundations of Computer Science c World Scientific Publishing Company Büchi Complementation Made Tighter Ehud Friedgut Hebrew University, Institute of Mathematics, Jerusalem 91904,
Overview of E0222: Automata and Computability
Overview of E0222: Automata and Computability Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. August 3, 2011 What this course is about What we study
LTL Model Checking with Logic Based Petri Nets
LTL Model Checking with Logic Based Petri Nets Tristan M. Behrens and Jürgen Dix IfI Technical Report Series IfI-07-04 Impressum Publisher: Institut für Informatik, Technische Universität Clausthal Julius-Albert
Omega Automata: Minimization and Learning 1
Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular
Scanner. tokens scanner parser IR. source code. errors
Scanner source code tokens scanner parser IR errors maps characters into tokens the basic unit of syntax x = x + y; becomes = + ; character string value for a token is a lexeme
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.
3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem
Finite Automata and Regular Languages
CHAPTER 3 Finite Automata and Regular Languages 3. Introduction 3.. States and Automata A finite-state machine or finite automaton (the noun comes from the Greek; the singular is automaton, the Greek-derived
Fundamentals of Software Engineering
Fundamentals of Software Engineering Model Checking with Temporal Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Software Engineering using Formal Methods
Software Engineering using Formal Methods Model Checking with Temporal Logic Wolfgang Ahrendt 24th September 2013 SEFM: Model Checking with Temporal Logic /GU 130924 1 / 33 Model Checking with Spin model
Software Verification: Infinite-State Model Checking and Static Program
Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,
ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:
ω-automata ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: in verification, as encodings of non-terminating executions of a program. in arithmetic,
CSE 135: Introduction to Theory of Computation Decidability and Recognizability
CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing
INF5140: Specification and Verification of Parallel Systems
INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo
Formal Verification of Computer Systems - (INFO-F-412)
Formal Verification of Computer Systems - (INFO-F-412) Thierry Massart Université Libre de Bruxelles Département d Informatique February 2013 Acknowledgment I want to thank Edmund Clarke, Keijo Heljanko,
Compiler Construction
Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation
Web Data Extraction: 1 o Semestre 2007/2008
Web Data : Given Slides baseados nos slides oficiais do livro Web Data Mining c Bing Liu, Springer, December, 2006. Departamento de Engenharia Informática Instituto Superior Técnico 1 o Semestre 2007/2008
Regular Languages and Finite Automata
Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a
A Classification of Model Checking-based Verification Approaches for Software Models
A Classification of Model Checking-based Verification Approaches for Software Models Petra Brosch, Sebastian Gabmeyer, Martina Seidl Sebastian Gabmeyer Business Informatics Group Institute of Software
On Omega-Languages Defined by Mean-Payoff Conditions
On Omega-Languages Defined by Mean-Payoff Conditions Rajeev Alur 1, Aldric Degorre 2, Oded Maler 2, Gera Weiss 1 1 Dept. of Computer and Information Science, University of Pennsylvania, USA {alur, gera}@cis.upenn.edu
Implementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 1 (2014), pp. 79-84 International Research Publications House http://www. irphouse.com /ijict.htm Implementation
CS 3719 (Theory of Computation and Algorithms) Lecture 4
CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a
How To Compare A Markov Algorithm To A Turing Machine
Markov Algorithm CHEN Yuanmi December 18, 2007 1 Abstract Markov Algorithm can be understood as a priority string rewriting system. In this short paper we give the definition of Markov algorithm and also
Model Checking LTL Properties over C Programs with Bounded Traces
Noname manuscript No. (will be inserted by the editor) Model Checking LTL Properties over C Programs with Bounded Traces Jeremy Morse 1, Lucas Cordeiro 2, Denis Nicole 1, Bernd Fischer 1,3 1 Electronics
Temporal Logics. Computation Tree Logic
Temporal Logics CTL: definition, relationship between operators, adequate sets, specifying properties, safety/liveness/fairness Modeling: sequential, concurrent systems; maximum parallelism/interleaving
Program Synthesis is a Game
Program Synthesis is a Game Barbara Jobstmann CNRS/Verimag, Grenoble, France Outline Synthesis using automata- based game theory. MoBvaBon, comparison with MC and LTL. Basics Terminology Reachability/Safety
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
CMPSCI 250: Introduction to Computation. Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013
CMPSCI 250: Introduction to Computation Lecture #19: Regular Expressions and Their Languages David Mix Barrington 11 April 2013 Regular Expressions and Their Languages Alphabets, Strings and Languages
Theory of Computation Chapter 2: Turing Machines
Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang Feb. 24, 2003 Feb. 19, 2006 0-0 Turing Machine δ K 0111000a 01bb 1 Definition of TMs A Turing Machine is a quadruple M = (K, Σ, δ, s),
Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund
Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund RIACS Technical Report 01.21 August 2001 Presented at the 16 th IEEE International Conference
Improving Active Mealy Machine Learning for Protocol Conformance Testing
Machine Learning manuscript No. (will be inserted by the editor) Improving Active Mealy Machine Learning for Protocol Conformance Testing Fides Aarts Harco Kuppens Jan Tretmans Frits Vaandrager Sicco Verwer
Bounded LTL Model Checking with Stable Models
Under consideration for publication in Theory and Practice of Logic Programming 1 Bounded LTL Model Checking with Stable Models KEIJO HELJANKO and ILKKA NIEMELÄ Helsinki University of Technology Department
On Winning Conditions of High Borel Complexity in Pushdown Games
Fundamenta Informaticae (2005) 1 22 1 IOS Press On Winning Conditions of High Borel Complexity in Pushdown Games Olivier Finkel Equipe de Logique Mathématique U.F.R. de Mathématiques, Université Paris
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
CS154. Turing Machines. Turing Machine. Turing Machines versus DFAs FINITE STATE CONTROL AI N P U T INFINITE TAPE. read write move.
CS54 Turing Machines Turing Machine q 0 AI N P U T IN TAPE read write move read write move Language = {0} q This Turing machine recognizes the language {0} Turing Machines versus DFAs TM can both write
From Workflow Design Patterns to Logical Specifications
AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 1 http://dx.doi.org/10.7494/automat.2013.17.1.59 Rados³aw Klimek* From Workflow Design Patterns to Logical Specifications 1. Introduction Formal methods in software
Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation
Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation Franco Raimondi Alessio Lomuscio Department of Computer Science King s College London London
