SPECIFICATION MODELS. Chapter 3. Overview. Introducing Hierarchy. StateCharts

Size: px
Start display at page:

Download "SPECIFICATION MODELS. Chapter 3. Overview. Introducing Hierarchy. StateCharts"

Transcription

1 hapter SPEIFITION MOELS Overview Stateharts Hierarchy oncurrency Events and ctions Simulation Semantics Non-eterminism and onflicts Petri Nets Notation oncurrency Petri Net Languages ehavioral Properties nalysis Roger Wattenhofer ETH Zurich istributed omputing / Stateharts Introducing Hierarchy eficits of finite automata for modeling: Only one sequential process, no concurrency No hierarchical structuring capabilities Extension Statecharts: Model of avid Harel [987] Stateharts introduces hierarchy, concurrency and computation Model is used in many tools for the specification, analysis and simulation of discrete event systems, e.g. Matlab-Stateflow, UML, Rhapsody, Magnum omplicated semantics: We will only cover some basic mechanisms. f g h i j E m F S f g h i j E FSM is in exactly one of the sub states of S if S is active (either in xor xor ) super-state sub states m F / /

2 ey-off ey-on efinitions Introducing oncurrency super-state S is called OR-super-state, if exactly one of its sub states is active when S is active. S f g h i j E m F equivalent S f g h i j E urrent states of FSMs are called active states States which are not composed of other states are called basic States containing other states are called super states For each basic state s, the super-states containing s are called ancestor states m F super-state S is called N-super-state, if all (immediate) sub-states are active when S is active. answering machine ON Line monitoring Line wait ring hang-up (caller) Line Process ey-off OFF Key monitoring (excl. ON / OFF) Key wait ey-on ey pressed done Key Process /5 /6 Entering and leaving N-Super-States Representation of omputations New: on / off events handled by ey process. answering machine ON Line monitoring Line wait ring hang-up (caller) Line Process Key monitoring (incl. ON / OFF) Key wait ey pressed done Key Process esides states, arbitrary many other variables can be defined. This way, not all states of the system are modeled explicitly. The variables can be changed as a result of a state transaction ( action ). State transitions can be dependent on these variables ( conditions ). action condition variables OFF /7 /8

3 General form of edge labels Events and ctions event [condition] / reaction event [condition] / reaction Event ondition an be either internally or externally generated. Refer to values of variables that eep their value until they are reassigned. State transition Transition is enabled if event exists and condition holds Reaction / ction an be assignment to variables and/or creation of events n event can be composed of several events: (e and e) event that corresponds to the simultaneous occurrence of e and e. (e or e) event that corresponds to the occurrence of either e or e or both. (not e) event that corresponds to the absence of event e. Similarly for conditions reaction can also be composed: (a; a) actions a und a are executed sequentially. ll events, states and actions are globally visible. /9 /0 Example The Stateharts Simulation Phases e / a [c] / a event [condition] / reaction The transitions are evaluated in simulation steps. e: a: Each step is divided in three phases: a: c: true false time. Effect of changes on events and conditions is evaluated.. The set of transitions to be made in the current step and e: right hand sides of assignments are computed. a: a: c: true false. Transitions become effective, variables obtain new values. / /

4 Example Swap More on semantics of Stateharts swap e / a:=b e / b:=a / a:=; b:=0 Unfortunately, there are several time-semantics of Stateharts in use. This is one possibility: step is executed in arbitrarily small time. Internal (generated) events exist only within the next step. External events can only be detected after a stable state has been reached. In phase, variables a and b are assigned to temporary variables In phase, these are assigned to b and a, respectively s a result, variables a and b are swapped state transitions external events stable state stable state t transport of internal events step / / Example, Stable State and State iagram Example Non-eterminism a/a c/c a b/a a e E G a e F H orresponding state diagrams: ac/a, ac/c, ac/a c, c/c a/a,, b/a ab, ab/a, unstable state ba/a, a State iagram Which one is chosen? /5 /6

5 onflicts OR or XOR? Real Time Exercise Reservoir bc bc XOR b b c bc XOR (with priority to b if simultaneous events) What if the events b and c occur simultaneously? bc bc OR bc Initial ondition Empty pools, faucets closed Sensors & regulators F i, G i = 0 if closed H i, L i = if water is above sensor Operation fter pressing button m, the pools are filled up to level H i. When pool i has reached H i, close F i and open G i until the water level reaches L i. Restarting is only possible after both pools have been emptied. Q: raw a Statehart that models this system. H reservoir F F H Pool Pool L L G G m /7 /8 Real Time Solution Reservoir Usability reservoir F F H L H Pool Pool L G G m ε [ && ] m \ F =;F = H \ F =0;G = H \ F =0;G = Intuitive language to describe event driven automata New: oncurrency incl. synchronization Used in different flavors in industry and even for ids: L \ G =0 L \ G =0 /9 /0

6 Summary Where are we? dvantages of hierarchical state machines: Simple transformation into efficient hardware and software implementations Efficient simulation asis for formal verification (usually via symbolic model checing), if in reactions only events are generated isadvantages: Intricate for large systems, limited re-usability of models No formal representation of operations on data Large part of the system state is hidden in variables. This limits possibilities for efficient implementation and formal verification. Stateharts Hierarchy oncurrency Events and ctions Simulation Semantics Non-eterminism and onflicts Petri Nets Notation oncurrency Petri Net Languages ehavioral Properties nalysis / / Petri nets Motivation Petri net efinition In contrast to hierarchical state machines, state transitions in Petri nets are asynchronous. The ordering of transitions is partly uncoordinated; it is specified by a partial order. Petri net is a bipartite, directed graph defined by a -tuple (S, T, F, M 0 ), where Therefore, Petri nets can be used to model concurrent distributed systems. Many flavors of Petri nets are in use, e.g. ctivity charts (UML) ata flow graphs and mared graphs GRFET (programming language for prog. logic controllers) S is a set of places p i T is a set of transitions t i F is a set of edges (flow relations) f i M 0 : S N; the initial maring p p p t Invented by arl dam Petri in 96 in his thesis Kommuniation mit utomaten p5 p / /

7 Toen maring Toen game of Petri nets Each place p i is mared with a certain number of toens The initial distribution of the toens is given by M 0 M(s) denotes the maring of a place s The distribution of toens on places defines the state of a Petri net The dynamics of a Petri net is defined by a toen game maring M activates a transition t T if each place p i connected through an edge f i towards t contains at least one toen. If a transition t is activated by M, a state transition to M fires (happens) eventually. Only one transition is fired at any time. When a transition fires, it onsumes a toen from each of its input places dds a toen to each of its output places fires /5 /6 Non-eterministic Evolution Syntax Exercise The evolution of Petri nets is not deterministic. Q: Is it a valid Petri Net? Which transitions are activated? Maring after firing? ny of the activated transactions might fire t t E t t F G H I /7 /8

8 Syntax Exercise () Weighted Edges Q: Is it a valid Petri Net? Which transitions are activated? Maring after firing? t ssociating weights to edges: Each edge f i has an associated weight W(f i ) (defaults to ) transition t is active if each place p i connected through an edge f i to t contains at least W(f) toens. J K H O H O Reaction H + O H O L H O H O /9 /0 Finite apacity Petri Net Removing apacity onstraints Each place p i can hold maximally K(p i ) toens transition t is only active if all output places p i of t cannot exceed K(p i ) after firing t. For each place p with K(p) >, add a complementary placep with initial maring M 0 (p ) = K(p) M 0 (p). For each outgoing edge e = (p, t), add an edge e from t to p with weight W(e). For each incoming edge e = (t, p), add an edge e from p to t with weight W(e). K()= t K()= t t K()= t remove capacity constraint Note: Only wors for pure Petri nets, i.e. without self loops. Pure finite capacity Petri Nets can be transformed into equivalent infinite capacity Petri Nets (without capacity restrictions). Equivalence: oth nets have the same set of all possible firing sequences K()= t t K(p)=5 / /

9 Resolving Self-Loops Your turn! The algorithm to remove capacity constraints wors if the Petri net has no self loops (is pure). No Problem! Rewrite the Petri net without self loops: dummy transition Remove the capacity constraint from place t5 t t5 t t K()= t t dummy place / / Modeling FSM oncurrent ctivities FSM can be represented by a subclass of Petri nets, where each transition has exactly one incoming edge and one outgoing edge. Such Petri nets are called state machines oe vending machine revisited Q 0 5 Q 5 Q Q 0 5 Q 5 Q Q State machines allow representation of decision, but no synchronization. General Petri nets support concurrency with intuitive notation: decision / conflict for join / synchronization Soda /5 /6

10 Petri Net Languages ehavioral Properties Transitions labeled with (not necessarily distinct) symbols ny sequence of firing the transitions generates a string of symbols (word) Final place Reachability maring M n is reachable iff there exists a sequence of firings {t, t, t n } s.t. M n = M 0 t t t n Reachability is decidable, but taes exponential space (and time) for the general case L(M 0 ) = {a n b m c m n m 0 }??? a b c Every finite-state machine can be modeled by a Petri net Every regular language is a Petri net language K-oundedness Petri net is K-bounded if the number of toens in every place never exceeds K. The number of states is finite. Safety -oundedness: Every node holds at most toen at any time /7 /8 ehavioral Properties () Liveness Example Liveness Having reached M n from M 0, can we eventually fire any transition? losely related to the complete absence of dead locs. transition t in a Petri net is dead iff t cannot be fired in any firing sequence of L(M 0 ) L -live iff t can be fired at least once in some sequence of L(M 0 ) L -live iff, N +, t can be fired at least times in some sequence of L(M 0 ) L -live iff t appears infinitely often in some infinite sequence of L(M 0 ) L -live (live) iff t is L -live for every maring reachable from M 0 t t Note: L -liveness ) L -liveness )L -liveness )L -liveness /9 /0

11 nalysis Methods overability Tree overability tree Enumeration of all reachable marings, limited to small nets Incidence Matrix escribes the toen-flow llows a necessary but not sufficient condition for reachability Reduction Rules Simplification rules to rewrite a Petri net, conserving liveness, safeness and boundedness properties. Question: What toen distributions are reachable? Problem: There might be infinitely many ) must avoid infinite tree Solution: etect & handle infinite cycles t Special symbol to denote an arbitrary number of toens t0 M = [0 0 ] deadend M 0 = [ 0 0] M = [0 ] t M = [ 0] M 6 = [ 0] old M 5 = [0 ] old / / overability Tree the lgorithm Special symbol, similar to : nn: > n; = ± n; Label initial maring M 0 as root and tag it as new while new marings exist, pic one, say M If M is identical to a maring on the way from the root to M, mar it as old; continue; If no transitions are enabled at M, tag it as deadend; For each enabled transition t at M do Obtain maring M' = M t If there exists a maring M'' on the way from the root to M s.t. M'(p) M''(p) for each place p and M' M'', replace M'(p) with for p where M'(p) > M''(p). Introduce M' as a node, draw an arc with label t from M to M' and tag M' new. Results from the overability Tree T The net is bounded iffdoes not appear in any node label of T The net is safe iff only 0 and appear in the node labels of T transition t is dead iff it does not appear as an arc in T If M is reachable from M 0, then there exists a node M' s.t. M M'. (This is a necessary, but not sufficient condition for reachability.) For bounded Petri nets, this tree does not contain and is also called reachability tree, as all reachable marings are contained in it. / /

12 Incidence Matrix State Equation Goal: escribe a Petri net through equations The incidence matrix (m n) describes the toen-flow according for the n different transitions ij = gain of toens at node i m when transition j n fires maring M is written as a m column vector The firing vector u i describes the firing of transition t i. It consists of all 0, except for the i-th row, where it has a. E.g. t t transition t i from M to M + is written as M + = M + u i M is obtained from M 0 by firing /5 /6 State Equation: Reachability Reduction Rules maring M is reachable from M 0 if there is a sequence σ of transitions {t σ[], t σ[],, t σ[] } such that M = M 0 t σ[] t σ[] t σ[]. Expressed with the incidence matrix: M M 0 i () () If M is reachable from M 0, equation () must have a solution where all components of are positive integers. (This is a necessary, but not sufficient condition for reachability.) u [ i] which can be rewritten as M ΔMx M 0 t nalysis of Petri nets is tedious, especially for large, complex nets Often, the complexity for analysis increases exponentially with the size of the Petri net Solution: Simplify the net while retaining the properties to analyze. In our case, the properties in question are Liveness Safeness oundedness 6 of the simplest reduction rules are shown in the sequel /7 /8

13 Reduction Rules () Reduction Rules () Fusion of Series Places (FSP) Fusion of Series Transitions (FST) Elimination of Self Loop Places (ESP) Elimination of Self Loop Transitions (EST) Fusion of Parallel Places (FPP) Fusion of Parallel Transitions (FPT) /9 /50 Reduction Example ommon Extensions t olored Petri nets: Toens carry values (colors) ny Petri net with finite number of colors can be transformed into a regular Petri net. ontinuous Petri nets: The number of toens can be real. annot be transformed to a regular Petri net Inhibitor rcs: Enable a transition if a place contains no toens annot be transformed to a regular Petri net t Final place a b c /5 /5

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models 4. Petri Nets Introduction Different Classes of Petri Net Petri net properties Analysis of Petri net models 1 Petri Nets C.A Petri, TU Darmstadt, 1962 A mathematical and graphical modeling method. Describe

More information

7. Queueing Systems. 8. Petri nets vs. State Automata

7. Queueing Systems. 8. Petri nets vs. State Automata Petri Nets 1. Finite State Automata 2. Petri net notation and definition (no dynamics) 3. Introducing State: Petri net marking 4. Petri net dynamics 5. Capacity Constrained Petri nets 6. Petri net models

More information

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal.

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal. Embedded Systems 2 REVIEW: Actor models A system is a function that accepts an input signal and yields an output signal. The domain and range of the system function are sets of signals, which themselves

More information

Specification models and their analysis Petri Nets

Specification models and their analysis Petri Nets Specification models and their analysis Petri Nets Kai Lampka December 10, 2010 1 30 Part I Petri Nets Basics Petri Nets Introduction A Petri Net (PN) is a weighted(?), bipartite(?) digraph(?) invented

More information

Analysis and Optimization of Discrete Event Systems using Petri Nets

Analysis and Optimization of Discrete Event Systems using Petri Nets Volume 113 No. 11 2017, 1 10 ISSN: 1311-8080 (printed version); ISSN: 1314-3395 (on-line version) url: http://www.ijpam.eu ijpam.eu Analysis and Optimization of Discrete Event Systems using Petri Nets

More information

Embedded systems specification and design

Embedded systems specification and design Embedded systems specification and design David Kendall David Kendall Embedded systems specification and design 1 / 21 Introduction Finite state machines (FSM) FSMs and Labelled Transition Systems FSMs

More information

Discrete Event Systems Exam

Discrete Event Systems Exam Computer Engineering and Networks Laboratory TEC, NSG, DISCO HS 2016 Prof. L. Thiele, Prof. L. Vanbever, Prof. R. Wattenhofer Discrete Event Systems Exam Friday, 3 rd February 2017, 14:00 16:00. Do not

More information

Business Processes Modelling MPB (6 cfu, 295AA)

Business Processes Modelling MPB (6 cfu, 295AA) Business Processes Modelling MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 07 - Introduction to nets!1 Object Overview of the basic concepts of Petri nets Free Choice Nets (book, optional

More information

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 07 - Introduction to nets 1 Object Overview of the basic concepts of

More information

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 07 - Introduction to nets 1 Object Overview of the basic concepts of

More information

Simulation of Spiking Neural P Systems using Pnet Lab

Simulation of Spiking Neural P Systems using Pnet Lab Simulation of Spiking Neural P Systems using Pnet Lab Venkata Padmavati Metta Bhilai Institute of Technology, Durg vmetta@gmail.com Kamala Krithivasan Indian Institute of Technology, Madras kamala@iitm.ac.in

More information

Time and Timed Petri Nets

Time and Timed Petri Nets Time and Timed Petri Nets Serge Haddad LSV ENS Cachan & CNRS & INRIA haddad@lsv.ens-cachan.fr DISC 11, June 9th 2011 1 Time and Petri Nets 2 Timed Models 3 Expressiveness 4 Analysis 1/36 Outline 1 Time

More information

Industrial Automation (Automação de Processos Industriais)

Industrial Automation (Automação de Processos Industriais) Industrial Automation (Automação de Processos Industriais) Discrete Event Systems http://users.isr.ist.utl.pt/~jag/courses/api1516/api1516.html Slides 2010/2011 Prof. Paulo Jorge Oliveira Rev. 2011-2015

More information

c 2011 Nisha Somnath

c 2011 Nisha Somnath c 2011 Nisha Somnath HIERARCHICAL SUPERVISORY CONTROL OF COMPLEX PETRI NETS BY NISHA SOMNATH THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in Aerospace

More information

Embedded Systems 6 REVIEW. Place/transition nets. defaults: K = ω W = 1

Embedded Systems 6 REVIEW. Place/transition nets. defaults: K = ω W = 1 Embedded Systems 6-1 - Place/transition nets REVIEW Def.: (P, T, F, K, W, M 0 ) is called a place/transition net (P/T net) iff 1. N=(P,T,F) is a net with places p P and transitions t T 2. K: P (N 0 {ω})

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA Time(d) Petri Net Serge Haddad LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA haddad@lsv.ens-cachan.fr Petri Nets 2016, June 20th 2016 1 Time and Petri Nets 2 Time Petri Net: Syntax and Semantic

More information

State modeling. Marlon Dumas. Institute of Computer Science

State modeling. Marlon Dumas. Institute of Computer Science State modeling Marlon Dumas Institute of Computer Science Where are we? Notation Class diagrams Use case diagrams/use cases Sequence diagrams Statecharts Petri nets Decision trees & DMN Purpose Domain

More information

Finite-State Model Checking

Finite-State Model Checking EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,

More information

2. Elements of the Theory of Computation, Lewis and Papadimitrou,

2. Elements of the Theory of Computation, Lewis and Papadimitrou, Introduction Finite Automata DFA, regular languages Nondeterminism, NFA, subset construction Regular Epressions Synta, Semantics Relationship to regular languages Properties of regular languages Pumping

More information

MPRI 1-22 Introduction to Verification January 4, TD 6: Petri Nets

MPRI 1-22 Introduction to Verification January 4, TD 6: Petri Nets TD 6: Petri Nets 1 Modeling Using Petri Nets Exercise 1 (Traffic Lights). Consider again the traffic lights example from the lecture notes: r r ry y r y ry g g y g 1. How can you correct this Petri net

More information

A Review of Petri Net Modeling of Dynamical Systems

A Review of Petri Net Modeling of Dynamical Systems A Review of Petri Net Modeling of Dynamical Systems Arundhati Lenka S.O.A University,Bhubaneswar l_arundhati@yahoo.co.in Contact-+91-9861058591 Dr.Chakradhar Das S.I.E.T College,Dhenkanal dashchakradhar@gmail.com

More information

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012

Decision Problems with TM s. Lecture 31: Halting Problem. Universe of discourse. Semi-decidable. Look at following sets: CSCI 81 Spring, 2012 Decision Problems with TM s Look at following sets: Lecture 31: Halting Problem CSCI 81 Spring, 2012 Kim Bruce A TM = { M,w M is a TM and w L(M)} H TM = { M,w M is a TM which halts on input w} TOTAL TM

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Petri Nets (for Planners)

Petri Nets (for Planners) Petri (for Planners) B. Bonet, P. Haslum... from various places... ICAPS 2011 & Motivation Petri (PNs) is formalism for modelling discrete event systems Developed by (and named after) C.A. Petri in 1960s

More information

Timed Automata VINO 2011

Timed Automata VINO 2011 Timed Automata VINO 2011 VeriDis Group - LORIA July 18, 2011 Content 1 Introduction 2 Timed Automata 3 Networks of timed automata Motivation Formalism for modeling and verification of real-time systems.

More information

Automatic Synthesis of Distributed Protocols

Automatic Synthesis of Distributed Protocols Automatic Synthesis of Distributed Protocols Rajeev Alur Stavros Tripakis 1 Introduction Protocols for coordination among concurrent processes are an essential component of modern multiprocessor and distributed

More information

Elementary Siphons of Petri Nets and Deadlock Control in FMS

Elementary Siphons of Petri Nets and Deadlock Control in FMS Journal of Computer and Communications, 2015, 3, 1-12 Published Online July 2015 in SciRes. http://www.scirp.org/journal/jcc http://dx.doi.org/10.4236/jcc.2015.37001 Elementary Siphons of Petri Nets and

More information

Methods for the specification and verification of business processes MPB (6 cfu, 295AA)

Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 17 - Diagnosis for WF nets 1 Object We study suitable diagnosis techniques

More information

Design and Analysis of Distributed Interacting Systems

Design and Analysis of Distributed Interacting Systems Design and Analysis of Distributed Interacting Systems Organization Prof. Dr. Joel Greenyer April 11, 2013 Organization Lecture: Thursdays, 10:15 11:45, F 128 Tutorial: Thursdays, 13:00 13:45, G 323 first

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits

More information

Time Petri Nets. Miriam Zia School of Computer Science McGill University

Time Petri Nets. Miriam Zia School of Computer Science McGill University Time Petri Nets Miriam Zia School of Computer Science McGill University Timing Specifications Why is time introduced in Petri nets? To model interaction between activities taking into account their start

More information

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Let us first give some intuitive idea about a state of a system and state transitions before describing finite automata.

Let us first give some intuitive idea about a state of a system and state transitions before describing finite automata. Finite Automata Automata (singular: automation) are a particularly simple, but useful, model of computation. They were initially proposed as a simple model for the behavior of neurons. The concept of a

More information

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Wen-ling Huang and Jan Peleska University of Bremen {huang,jp}@cs.uni-bremen.de MBT-Paradigm Model Is a partial

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment

More information

Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Recap: Actor Model An actor is a mapping of input signals to output signals S: R R k R R m where k is the number

More information

Automata Theory (2A) Young Won Lim 5/31/18

Automata Theory (2A) Young Won Lim 5/31/18 Automata Theory (2A) Copyright (c) 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later

More information

Uses of finite automata

Uses of finite automata Chapter 2 :Finite Automata 2.1 Finite Automata Automata are computational devices to solve language recognition problems. Language recognition problem is to determine whether a word belongs to a language.

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

Sleptsov Net Computing

Sleptsov Net Computing International Humanitarian University http://mgu.edu.ua Sleptsov Net Computing Dmitry Zaitsev http://member.acm.org/~daze Write Programs or Draw Programs? Flow charts Process Charts, Frank and Lillian

More information

Introduction: Computer Science is a cluster of related scientific and engineering disciplines concerned with the study and application of computations. These disciplines range from the pure and basic scientific

More information

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action

More information

Classes and conversions

Classes and conversions Classes and conversions Regular expressions Syntax: r = ε a r r r + r r Semantics: The language L r of a regular expression r is inductively defined as follows: L =, L ε = {ε}, L a = a L r r = L r L r

More information

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes Complexity Theory 1 Complexity Theory 2 Complexity Theory Lecture 3 Complexity For any function f : IN IN, we say that a language L is in TIME(f(n)) if there is a machine M = (Q, Σ, s, δ), such that: L

More information

Models of Concurrency

Models of Concurrency Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent

More information

Artificial Intelligence Chapter 7: Logical Agents

Artificial Intelligence Chapter 7: Logical Agents Artificial Intelligence Chapter 7: Logical Agents Michael Scherger Department of Computer Science Kent State University February 20, 2006 AI: Chapter 7: Logical Agents 1 Contents Knowledge Based Agents

More information

fakultät für informatik informatik 12 technische universität dortmund Petri nets Peter Marwedel Informatik 12 TU Dortmund Germany

fakultät für informatik informatik 12 technische universität dortmund Petri nets Peter Marwedel Informatik 12 TU Dortmund Germany 12 Petri nets Peter Marwedel Informatik 12 TU Dortmund Germany Introduction Introduced in 1962 by Carl Adam Petri in his PhD thesis. Focus on modeling causal dependencies; no global synchronization assumed

More information

TESTING is one of the most important parts of the

TESTING is one of the most important parts of the IEEE TRANSACTIONS 1 Generating Complete Controllable Test Suites for Distributed Testing Robert M. Hierons, Senior Member, IEEE Abstract A test suite is m-complete for finite state machine (FSM) M if it

More information

Linear Temporal Logic and Büchi Automata

Linear Temporal Logic and Büchi Automata Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata

More information

Communication in Petri nets

Communication in Petri nets Communication in Petri nets Kamal Lodaya work in progress with Ramchandra Phawade The Institute of Mathematical Sciences, Chennai February 2010 Petri nets - introduction Mathematical model. Widely used

More information

Further discussion of Turing machines

Further discussion of Turing machines Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will

More information

Automata, Logic and Games: Theory and Application

Automata, Logic and Games: Theory and Application Automata, Logic and Games: Theory and Application 1. Büchi Automata and S1S Luke Ong University of Oxford TACL Summer School University of Salerno, 14-19 June 2015 Luke Ong Büchi Automata & S1S 14-19 June

More information

Decidability and Undecidability

Decidability and Undecidability Decidability and Undecidability Major Ideas from Last Time Every TM can be converted into a string representation of itself. The encoding of M is denoted M. The universal Turing machine U TM accepts an

More information

Timo Latvala. March 7, 2004

Timo Latvala. March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness Timo Latvala March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness 14-1 Safety Safety properties are a very useful subclass of specifications.

More information

From Liveness to Promptness

From Liveness to Promptness From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every

More information

Working with combinational logic

Working with combinational logic Working with combinational logic Simplification two-level simplification exploiting don t cares algorithm for simplification Logic realization two-level logic and canonical forms realized with NNs and

More information

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Computation Tree Logic (CTL) & Basic Model Checking Algorithms Computation Tree Logic (CTL) & Basic Model Checking Algorithms Martin Fränzle Carl von Ossietzky Universität Dpt. of Computing Science Res. Grp. Hybride Systeme Oldenburg, Germany 02917: CTL & Model Checking

More information

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

Petri nets. s 1 s 2. s 3 s 4. directed arcs. Petri nets Petri nets Petri nets are a basic model of parallel and distributed systems (named after Carl Adam Petri). The basic idea is to describe state changes in a system with transitions. @ @R s 1

More information

Embedded Systems 5. Synchronous Composition. Lee/Seshia Section 6.2

Embedded Systems 5. Synchronous Composition. Lee/Seshia Section 6.2 Embedded Systems 5-1 - Synchronous Composition Lee/Seshia Section 6.2 Important semantic model for concurrent composition Here: composition of actors Foundation of Statecharts, Simulink, synchronous programming

More information

UNIT-I. Strings, Alphabets, Language and Operations

UNIT-I. Strings, Alphabets, Language and Operations UNIT-I Strings, Alphabets, Language and Operations Strings of characters are fundamental building blocks in computer science. Alphabet is defined as a non empty finite set or nonempty set of symbols. The

More information

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Johns Hopkins Math Tournament Proof Round: Automata

Johns Hopkins Math Tournament Proof Round: Automata Johns Hopkins Math Tournament 2018 Proof Round: Automata February 9, 2019 Problem Points Score 1 10 2 5 3 10 4 20 5 20 6 15 7 20 Total 100 Instructions The exam is worth 100 points; each part s point value

More information

Introduction to Computers & Programming

Introduction to Computers & Programming 16.070 Introduction to Computers & Programming Theory of computation: What is a computer? FSM, Automata Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Models of Computation What is a computer? If you

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 2 Finite Automata & SyncCharts Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Some things I forgot to mention 2 Remember the HISPOS registration

More information

Reduction Rules for Reset/Inhibitor Nets

Reduction Rules for Reset/Inhibitor Nets Reduction Rules for Reset/Inhibitor Nets H.M.W. Verbeek a,, M.T. Wynn b, W.M.P. van der Aalst a,b, A.H.M. ter Hofstede b a Department of Mathematics and Computer Science, Eindhoven University of Technology

More information

Parsing. Context-Free Grammars (CFG) Laura Kallmeyer. Winter 2017/18. Heinrich-Heine-Universität Düsseldorf 1 / 26

Parsing. Context-Free Grammars (CFG) Laura Kallmeyer. Winter 2017/18. Heinrich-Heine-Universität Düsseldorf 1 / 26 Parsing Context-Free Grammars (CFG) Laura Kallmeyer Heinrich-Heine-Universität Düsseldorf Winter 2017/18 1 / 26 Table of contents 1 Context-Free Grammars 2 Simplifying CFGs Removing useless symbols Eliminating

More information

Theoretical Computer Science

Theoretical Computer Science Theoretical Computer Science Zdeněk Sawa Department of Computer Science, FEI, Technical University of Ostrava 17. listopadu 15, Ostrava-Poruba 708 33 Czech republic September 22, 2017 Z. Sawa (TU Ostrava)

More information

Introduction to Turing Machines

Introduction to Turing Machines Introduction to Turing Machines Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 12 November 2015 Outline 1 Turing Machines 2 Formal definitions 3 Computability

More information

3 Net Models of Distributed Systems and Workflows

3 Net Models of Distributed Systems and Workflows 3 Net Models of Distributed Systems and Workflows 3.1 INFORMAL INTRODUCTION TO PETRI NETS In 1962 Carl Adam Petri introduced a family of graphs, called Place-Transition (P/T), nets, to model dynamic systems

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

Equivalence of Regular Expressions and FSMs

Equivalence of Regular Expressions and FSMs Equivalence of Regular Expressions and FSMs Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Regular Language Recall that a language

More information

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING Alessandro Giua Xiaolan Xie Dip. Ing. Elettrica ed Elettronica, U. di Cagliari, Italy. Email: giua@diee.unica.it INRIA/MACSI Team, ISGMP, U. de Metz, France.

More information

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT. Recap DFA,NFA, DTM Slides by Prof. Debasis Mitra, FIT. 1 Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { {, } } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: Automata, State machines, Circuits Stavros Tripakis University of California, Berkeley Stavros

More information

Model checking the basic modalities of CTL with Description Logic

Model checking the basic modalities of CTL with Description Logic Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking

More information

Control Synthesis of Discrete Manufacturing Systems using Timed Finite Automata

Control Synthesis of Discrete Manufacturing Systems using Timed Finite Automata Control Synthesis of Discrete Manufacturing Systems using Timed Finite utomata JROSLV FOGEL Institute of Informatics Slovak cademy of Sciences ratislav Dúbravská 9, SLOVK REPULIC bstract: - n application

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

The STATEMATE Semantics of Statecharts. Presentation by: John Finn October 5, by David Harel

The STATEMATE Semantics of Statecharts. Presentation by: John Finn October 5, by David Harel The STATEMATE Semantics of Statecharts Presentation by: John Finn October 5, 2010 by David Harel Outline Introduction The Basics System Reactions Compound Transitions History Scope of Transitions Conflicting

More information

MA/CSSE 474 Theory of Computation

MA/CSSE 474 Theory of Computation MA/CSSE 474 Theory of Computation CFL Hierarchy CFL Decision Problems Your Questions? Previous class days' material Reading Assignments HW 12 or 13 problems Anything else I have included some slides online

More information

Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS

Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS Proceedings SDPS, Fifth World Conference on Integrated Design and Process Technologies, IEEE International Conference on Systems Integration, Dallas,

More information

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

Algorithmic verification

Algorithmic verification Algorithmic verification Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2018 Outline Overview Model checking Symbolic execution Outline Overview Model checking Symbolic execution Program verification

More information

Logical agents. Chapter 7. Chapter 7 1

Logical agents. Chapter 7. Chapter 7 1 Logical agents Chapter 7 Chapter 7 Outline Knowledge-based agents Wumpus world Logic in general models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules

More information

POLYNOMIAL SPACE QSAT. Games. Polynomial space cont d

POLYNOMIAL SPACE QSAT. Games. Polynomial space cont d T-79.5103 / Autumn 2008 Polynomial Space 1 T-79.5103 / Autumn 2008 Polynomial Space 3 POLYNOMIAL SPACE Polynomial space cont d Polynomial space-bounded computation has a variety of alternative characterizations

More information

Computability and Complexity

Computability and Complexity Computability and Complexity Sequences and Automata CAS 705 Ryszard Janicki Department of Computing and Software McMaster University Hamilton, Ontario, Canada janicki@mcmaster.ca Ryszard Janicki Computability

More information

Automata Theory, Computability and Complexity

Automata Theory, Computability and Complexity Automata Theory, Computability and Complexity Mridul Aanjaneya Stanford University June 26, 22 Mridul Aanjaneya Automata Theory / 64 Course Staff Instructor: Mridul Aanjaneya Office Hours: 2:PM - 4:PM,

More information

Timed Automata. Semantics, Algorithms and Tools. Zhou Huaiyang

Timed Automata. Semantics, Algorithms and Tools. Zhou Huaiyang Timed Automata Semantics, Algorithms and Tools Zhou Huaiyang Agenda } Introduction } Timed Automata } Formal Syntax } Operational Semantics } Verification Problems } Symbolic Semantics & Verification }

More information

CS 373: Theory of Computation. Fall 2010

CS 373: Theory of Computation. Fall 2010 CS 373: Theory of Computation Gul Agha Mahesh Viswanathan Fall 2010 1 1 Normal Forms for CFG Normal Forms for Grammars It is typically easier to work with a context free language if given a CFG in a normal

More information

Section 6 Fault-Tolerant Consensus

Section 6 Fault-Tolerant Consensus Section 6 Fault-Tolerant Consensus CS586 - Panagiota Fatourou 1 Description of the Problem Consensus Each process starts with an individual input from a particular value set V. Processes may fail by crashing.

More information

Sanjit A. Seshia EECS, UC Berkeley

Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi

More information

Intelligent Agents. Pınar Yolum Utrecht University

Intelligent Agents. Pınar Yolum Utrecht University Intelligent Agents Pınar Yolum p.yolum@uu.nl Utrecht University Logical Agents (Based mostly on the course slides from http://aima.cs.berkeley.edu/) Outline Knowledge-based agents Wumpus world Logic in

More information

Logical Agent & Propositional Logic

Logical Agent & Propositional Logic Logical Agent & Propositional Logic Berlin Chen 2005 References: 1. S. Russell and P. Norvig. Artificial Intelligence: A Modern Approach. Chapter 7 2. S. Russell s teaching materials Introduction The representation

More information

CSE 311 Lecture 23: Finite State Machines. Emina Torlak and Kevin Zatloukal

CSE 311 Lecture 23: Finite State Machines. Emina Torlak and Kevin Zatloukal CSE 3 Lecture 3: Finite State Machines Emina Torlak and Kevin Zatloukal Topics Finite state machines (FSMs) Definition and examples. Finite state machines with output Definition and examples. Finite state

More information

Chapter Two: Finite Automata

Chapter Two: Finite Automata Chapter Two: Finite Automata In theoretical computer science, automata theory is the study of abstract machines (or more appropriately, abstract 'mathematical' machines or systems) and the computational

More information

Model Checking for Propositions CS477 Formal Software Dev Methods

Model Checking for Propositions CS477 Formal Software Dev Methods S477 Formal Software Dev Methods Elsa L Gunter 2112 S, UIU egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul gha January

More information

Chapter 3: Linear temporal logic

Chapter 3: Linear temporal logic INFOF412 Formal verification of computer systems Chapter 3: Linear temporal logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 LTL: a specification

More information

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever.   ETH Zürich (D-ITET) October, Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) October, 19 2017 Part 5 out of 5 Last week was all about Context-Free Languages Context-Free

More information