Lecture 9: Live Sequence Charts

Size: px
Start display at page:

Download "Lecture 9: Live Sequence Charts"

Transcription

1 Softwaretechnik / Software-Engineering Lecture 9: Live Sequence Charts Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany main Topic Area Requirements Engineering: Content VL 6 Introduction Requirements Specification Desired Properties Kinds of Requirements. Analysis Techniques Documents Dictionary, Specification Specification Languages Natural Language VL 7 Decision Tables. Syntax, Semantics Completeness, Consistency, Sblockcontent VL 8. VL 9. Scenarios User Stories, Use Cases Live Sequence Charts Syntax, Semantics Working Definition: Software Discussion 2/54

2 main 3/54 Content Formal Methods in Requirements Engineering Software & Software Specification, formally Requirements Engineering, formally Examples: Decision Tables Use Cases Live Sequence Charts Scontent LSC Semantics: Full LSC syntax Activation, Pre-Chart, Chart Mode Automaton Construction Loop / Progress / Exit Conditions LSCs vs. Software Excursion: Symbolic Büchi Automata Methodology Requirements Engineering with scenarios Strengthening scenarions into requirements Requirements Engineering Wrap-Up 4/54

3 Software and Software Specification, formally Definition. Software is a finite description S of a (possibly infinite) set S of (finite or infinite) computation paths of the form where α σ 1 α 0 σ 2 1 σ 2 σ i Σ,i N 0, is called state (or configuration), and α i A,i N 0, is called action (or event). The (possibly partial) function : S S is called interpretation ofs. Definition. A software specification is a finite description S of a (possibly infinite) set S of softwares, i.e Sformalre S = {(S 1, 1 ),(S 2, 2 ),...}. The (possibly partial) function : S S is called interpretation of S. 6/54

4

5 Software Specification vs. Software S = {(S 0, 0 )} σ 0 0 α 0 1 σ1 0 α 0 2 σ2 0 I M I M σ0 1 α 1 1 α 1 2 σ1 1 σ2 1 σ0 2 α 2 1 α 2 2 σ1 2 σ2 2 (S 1, 1)} (S 2, 2)} Sformalre S 1 implements S viai andm S 2 implements S viai andm 9/54

6 Content Formal Methods in Requirements Engineering Software & Software Specification, formally Requirements Engineering, formally Examples: Decision Tables Use Cases Live Sequence Charts Scontent LSC Semantics: Full LSC syntax Activation, Pre-Chart, Chart Mode Automaton Construction Loop / Progress / Exit Conditions LSCs vs. Software Excursion: Symbolic Büchi Automata Methodology Requirements Engineering with scenarios Strengthening scenarions into requirements Requirements Engineering Wrap-Up 12/54

7 LSC Semantics main 13/54 Full LSC Syntax LSC: buy water AC: true AM: invariant I: strict User CoinValidator ChoicePanel Dispenser C50 pwater water_in_stock dwater OK A full LSC L = (PC,MC,ac 0,am,Θ L ) actually consist of pre-chartpc = ((L P, P, P ),I P,Msg P,Cond P,LocInv P,Θ P ) (possibly empty), main-chartmc = ((L M, M, M ),I M,Msg M,Cond M,LocInv M,Θ M ) (non-empty), activation conditionac 0 Φ(C), strictness flag strict (if false, L is permissive) activation mode am {initial, invariant}, chart mode existential (Θ L = cold) or universal (Θ L = ). 14/54

8 From Concrete to Abstract Syntax I1 I2 I3 locations L, l1,0 l2,0 l3,0 L L, L L I = {I 1,...,I n}, Msg L E L, Cond (2 L \ ) (C) LocInv L {, } (C) L {, }, : L Msg Cond LocInv {,cold}. c2 c3 l1,1 l1,2 A B l2,1 l2,2 c1 c4 C l3,1 l3,2 l2,3 l1,3 D l3,3 l1,4 E L = {l 1,0,l 1,1,l 1,2,l 1,3, l 1,2,l 1,4, l 2,0,l 2,1,l 2,2,l 2,3, l 3,0,l 3,1,l 3,2,l 3,3} l 1,0 l 1,1 l 1,2 l 1,3, l 1,2 l 1,4, l 2,0 l 2,1 l 2,2 l 2,3, l 3,0 l 3,1 l 3,2 l 3,3, l 1,1 l 2,1, l 2,2 l 1,2, l 2,3 l 1,3, l 3,2 l 1,4, l 2,1 l 3,1, l 2,2 l 3,2, I = {{l 1,0,l 1,1,l 1,2,l 1,3,l 1,4},{l 2,0,l 2,1,l 2,2,l 2,3},{l 3,0,l 3,1,l 3,2}}, Slscsyn Msg = {(l 1,1,A,l 2,1),(l 2,2,B,l 1,2),(l 2,2,C,l 3,2),(l 2,3,D,l 1,3),(l 3,3,E,l 1,4)} Cond = {({l 2,1,l 3,1},c 4),({l 2,2},c 2 c 3)}, LocInv = {(l 1,1,,c 1,l 1,2, )} 32/46 15/54 LSC Semantics am = initial am = invariant ΘL = cold ΘL = w W m N 0 w 0 = ac ψ exit (C0 P ) ψ prog(,c0 P ) w m+1 = ψ prog(,c0 M ) w W m N 0 w 0 = ac ψ exit(c P 0 ) ψprog(,cp 0 ) w m+1 = ψ exit (C M 0 ) = w m+1 = ψ prog (,C0 M ) w W k < m N 0 w k = ac ψ exit (C0 P ) ψ prog(,c0 P ) w m+1 = ψ prog(,c0 M ) w W k m N 0 w k = ac ψ exit(c P 0 ) ψprog(,cp 0 ) w m+1 = ψ exit (C M 0 ) = w m+1 = ψ prog (,C0 M ) Here,W is a set of words (for the moment, think of computation paths, like S ). α w W is a word (for the moment, think of a computation path, likeσ 1 α 0 2 σ1 σ2 S ). 16/32

9 LSC Semantics Θ L am = initial am = invariant cold w W m N 0 w 0 = ac w W w 0 = ac w W k < m N 0 w k = ac w W k m N 0 w k = ac Here,W is a set of words (for the moment, think of computation paths, like S ). α w W is a word (for the moment, think of a computation path, likeσ 1 α 0 2 σ1 σ2 S ). 16/54 Example: Vending Machine Positive scenario: Buy a Softdrink (i) Insert one 1 euro coin. (ii) Press the softdrink button. (iii) Get a softdrink. Positive scenario: Get Change (i) Insert one 50 cent and one 1 euro coin. (ii) Press the softdrink button. (iii) Get a softdrink. (iv) Get 50 cent change. Negative scenario: A Drink for Free (i) Insert one 1 euro coin. (ii) Press the softdrink button. (iii) Do not insert any more money. (iv) Get two softdrinks. 17/54

10 LSC Semantics LSC: buy softdrink AC: true AM: invariant I: permissive User E1 psoft Vend. Ma. SOFT am = initial am = invariant ΘL = cold w W m N 0 w 0 = ac ψ exit(c0 P ) ψprog(,cp 0 ) w m+1 = ψ prog(,c0 M ) w W k < m N 0 w k = ac ψ exit(c0 P ) ψprog(,cp 0 ) w m+1 = ψ prog(,c0 M ) ΘL = w W m N 0 w 0 = ac ψ exit(c P 0 ) ψprog(,cp 0 ) w m+1 = ψ exit(c M 0 ) = w m+1 = ψ prog(,c M 0 ) w W k m N 0 w k = ac ψ exit(c P 0 ) ψprog(,cp 0 ) w m+1 = ψ exit(c M 0 ) = w m+1 = ψ prog(,c M 0 ) 18/32 LSC Semantics LSC: get change AC: true AM: invariant I: permissive User C50 Vend. Ma. E1 psoft SOFT chg-c50 am = initial am = invariant ΘL = cold w W m N 0 w 0 = ac ψ exit(c0 P ) ψprog(,cp 0 ) w m+1 = ψ prog(,c0 M ) w W k < m N 0 w k = ac ψ exit(c0 P ) ψprog(,cp 0 ) w m+1 = ψ prog(,c0 M ) ΘL = w W m N 0 w 0 = ac ψ exit(c0 P ) ψprog(,cp 0 ) w m+1 = ψ exit(c M 0 ) = w m+1 = ψ prog(,c M 0 ) w W k m N 0 w k = ac ψ exit(c0 P ) ψprog(,cp 0 ) w m+1 = ψ exit(c M 0 ) = w m+1 = ψ prog(,c M 0 ) 19/32

11 LSC Semantics LSC: buy water AC: true AM: invariant I: strict User CoinValidator ChoicePanel Dispenser C50 pwater water_in_stock dwater OK am = initial am = invariant ΘL = cold w W m N 0 w 0 = ac ψ exit(c0 P ) ψprog(,cp 0 ) w m+1 = ψ prog(,c0 M ) w W k < m N 0 w k = ac ψ exit(c0 P ) ψprog(,cp 0 ) w m+1 = ψ prog(,c0 M ) ΘL = w W m N 0 w 0 = ac ψ exit(c P 0 ) ψprog(,cp 0 ) = w m+1 = ψ prog(,c0 M ) w W k m N 0 w k = ac ψ exit(c P 0 ) ψprog(,cp 0 ) = w m+1 = ψ prog(,c0 M ) 20/32 LSC Semantics LSC: buy softdrink AC: true AM: invariant I: permissive User E1 psoft Vend. Ma. SOFT Θ L am = initial am = invariant cold w W m N 0 w 0 = ac w W k < m N 0 w k = ac w W w 0 = ac w W k m N 0 w k = ac 18/54

12 LSC Semantics LSC: get change AC: true AM: invariant I: permissive User C50 Vend. Ma. E1 psoft SOFT chg-c50 Θ L am = initial am = invariant cold w W m N 0 w 0 = ac w W k < m N 0 w k = ac w W w 0 = ac w W k m N 0 w k = ac 19/54 LSC Semantics LSC: buy water AC: true AM: invariant I: strict User CoinValidator ChoicePanel Dispenser C50 pwater water_in_stock dwater OK Θ L am = initial am = invariant cold w W m N 0 w 0 = ac w W k < m N 0 w k = ac w W w 0 = ac w W k m N 0 w k = ac 20/54

13 Example: Vending Machine Positive scenario: Buy a Softdrink (i) Insert one 1 euro coin. (ii) Press the softdrink button. (iii) Get a softdrink. Positive scenario: Get Change (i) Insert one 50 cent and one 1 euro coin. (ii) Press the softdrink button. (iii) Get a softdrink. (iv) Get 50 cent change. Negative scenario: A Drink for Free (i) Insert one 1 euro coin. (ii) Press the softdrink button. (iii) Do not insert any more money. (iv) Get two softdrinks. 21/54 LSC Semantics LSC: only one drink AC: true AM: invariant I: permissive User E1 psoft Vend. Ma. SOFT C50! E1! SOFT false Θ L am = initial am = invariant cold w W m N 0 w 0 = ac w W k < m N 0 w k = ac w W w 0 = ac w W k m N 0 w k = ac 22/54

14 LSC Semantics: TBA Construction main 23/54

15 main 25/54 TBA Construction Principle Only construct the transitions labels: = {(q,ψ loop (q),q) q Q} {(q,ψ prog (q,q ),q ) q F q } {(q,ψ exit (q),l) q Q} ψ loop (q) = =:ψ loop (q) {}}{ ψ Msg (q) ψ LocInv (q) ψ LocInv cold (q) ψ exit (q) = ( ψ loop (q) ψlocinv cold (q) ) ( 1 i n ψ prog (q,q i) ( ψ LocInv, cold (q,q i ) ψcold Cond (q,q i) )) q q 1... q n ψ prog(q,q n) = =:ψprog (q,q n) {}}{ ψ Msg (q,q n ) ψ Cond (q,q n ) ψ LocInv, (q,q n ) ψcold Cond (q,qn) ψlocinv, cold (q,q n) true I1 A I2 I3 c2 c3 B c1 C Slscsem D E 26/54

16 Loop Condition ψ Msg (q) = 1 i n ψmsg (q,q i ) ( strict = ψ loop (q) = ψ Msg (q) ψ LocInv (q) ψcold LocInv (q) ψ E!? Msg(L) ψ ) } {{ } =:ψ strict (q) ψθ LocInv (q) = l=(l,ι,φ,l,ι ) LocInv, Θ(l)=θ, l active atq φ A locationlis called front location of cutc if and only if l L l l. Local invariant(l o,ι 0,φ,l 1,ι 1 ) is active at cut (!) q if and only ifl 0 l l 1 for some front locationlof cutq orl = l 1 ι 1 =. Msg(F) = {E! (l,e,l ) Msg, l F} {E? (l,e,l ) Msg, l F} Msg(F 1,...,F n ) = 1 i n Msg(F i) I 1 I 2 I 3 A c 2 c 3 B c 1 C Slscsem D E 27/54 Progress Condition ψ Msg (q,q i ) = ψ Msg(q i \q) ψ j i ( strict = ψ prog (q,qi) = ψmsg (q,q n) ψ Cond (q,q n) ψ LocInv, (q n) ψ (E!? Msg(L))\Msg(F i ) ψ (Msg(q j \q)\msg(q i \q)) ψ ψ ) } {{ } =:ψ strict (q,q i ) ψθ Cond (q,q i ) = γ=(l,φ) Cond, Θ(γ)=θ, L (q i \q) φ ψ LocInv, θ (q,q i ) = λ=(l,ι,φ,l,ι ) LocInv, Θ(λ)=θ, λ -active atq i φ Local invariant(l 0,ι 0,φ,l 1,ι 1 ) is -active atq if and only if l 0 l l 1, or l = l 0 ι 0 =, or I 1 I 2 I 3 l = l 1 ι 1 = for some front locationlof cut (!) q. c 2 c 3 A B c 1 C Slscsem D E 28/54

17 Tell Them What You ve Told Them... Live Sequence Charts (if well-formed) have an abstract syntax. From an abstract syntax, mechanically construct its TBA. A universal LSC is satisfied by a softwares if and only if all words induced by the computation paths ofs are accepted by the LSC s TBA. An existential LSC is satisfied by a softwares if and only if there is a word induced by a computation path ofs which is accepted by the LSC s TBA. Pre-charts allow us to specify anti-scenarios ( this must not happen ), activation interactions Sttwytt 31/54

18 References main 53/54 References Harel, D. and Marelly, R. (2003). Come, Let s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer-Verlag. Ludewig, J. and Lichter, H. (2013). Software Engineering. dpunkt.verlag, 3. edition. Rupp, C. and die SOPHISTen (2014). Requirements-Engineering und -Management. Hanser, 6th edition main 54/54

Lecture 10: Requirements Engineering Wrap-Up

Lecture 10: Requirements Engineering Wrap-Up Softwaretechnik / Software-Engineering Lecture 10: Requirements Engineering Wrap-Up 2016-06-13 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 10 2016-06-13

More information

Lecture 10: Requirements Engineering. Wrap-Up. Softwaretechnik / Software-Engineering. Pre-Charts (Again)

Lecture 10: Requirements Engineering. Wrap-Up. Softwaretechnik / Software-Engineering. Pre-Charts (Again) Softwaretechnik / Software-Engineering Lecture 10: Requirements Engineering Wrap-Up 2016-06-13 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Pre-Charts (Again)

More information

Lecture 10: Live Sequence Charts Cont d

Lecture 10: Live Sequence Charts Cont d Softwaretechnik / Software-Engineering Lecture 10: Live Sequence Charts Cont d 2015-06-15 10 2015-06-15 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Lecture 8: Use Cases and Scenarios

Lecture 8: Use Cases and Scenarios Softwaretechnik / Software-Engineering Lecture 8: Use Cases and Scenarios 2017-06-01 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 8 2017-06-01 main Topic

More information

Lecture 2: Semantical Model

Lecture 2: Semantical Model Software Design, Modelling and Analysis in UML Lecture 2: Semantical Model 2016-10-20 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 2 2016-10-20 main ->enable_water();

More information

Lecture 13: Behavioural Software Modelling

Lecture 13: Behavioural Software Modelling Softwaretechnik / Software-Engineering Lecture 13: Behavioural Software Modelling 2017-07-06 Prof Dr Andreas Podelski, Dr Bernd Westphal 13 2017-07-06 main Albert-Ludwigs-Universität Freiburg, Germany

More information

Lecture 15: Software Quality Assurance

Lecture 15: Software Quality Assurance Softwaretechnik / Software-Engineering Lecture 15: Software Quality Assurance 2015-07-09 15 2015-07-09 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

Real-Time Systems. Lecture 15: The Universality Problem for TBA Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany

Real-Time Systems. Lecture 15: The Universality Problem for TBA Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany Real-Time Systems Lecture 15: The Universality Problem for TBA 2013-06-26 15 2013-06-26 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: Extended Timed

More information

Lecture 13: Behavioural Software Modelling

Lecture 13: Behavioural Software Modelling Softwaretechnik / Software-Engineering Lecture 13: Behavioural Software Modelling 2017-07-06 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 13 2017-07-06 main Albert-Ludwigs-Universität Freiburg, Germany

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

Lecture 12: Core State Machines II

Lecture 12: Core State Machines II Software Design, Modelling and Analysis in UML Lecture 12: Core State Machines II 2015-12-15 12 2015-12-15 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Real-Time Systems. Lecture 10: Timed Automata Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany main

Real-Time Systems. Lecture 10: Timed Automata Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany main Real-Time Systems Lecture 10: Timed Automata 2013-06-04 10 2013-06-04 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: PLC, PLC automata This Lecture:

More information

Lecture 11: Timed Automata

Lecture 11: Timed Automata Real-Time Systems Lecture 11: Timed Automata 2014-07-01 11 2014-07-01 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: DC (un)decidability This Lecture:

More information

Lecture 04: OCL Semantics

Lecture 04: OCL Semantics Software Design, Modelling and Analysis in UML Lecture 04: OCL Semantics 2014-10-30 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 04 2014-10-30 main Albert-Ludwigs-Universität Freiburg, Germany Contents

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

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 14: Core State Machines IV 2013-12-18 14 2013-12-18 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Automata and Languages

Automata and Languages Automata and Languages Prof. Mohamed Hamada Software Engineering Lab. The University of Aizu Japan FINITE STATE MACHINES (AUTOMATA) Switch Example Think about the On/Off button Switch Example The corresponding

More information

Finite Automata. Finite Automata

Finite Automata. Finite Automata Finite Automata Finite Automata Formal Specification of Languages Generators Grammars Context-free Regular Regular Expressions Recognizers Parsers, Push-down Automata Context Free Grammar Finite State

More information

Linear Temporal Logic (LTL)

Linear Temporal Logic (LTL) Chapter 9 Linear Temporal Logic (LTL) This chapter introduces the Linear Temporal Logic (LTL) to reason about state properties of Labelled Transition Systems defined in the previous chapter. We will first

More information

Lecture 9: DC Implementables II

Lecture 9: DC Implementables II Real-Time Systems Lecture 9: DC Implementables II 2017-11-28 Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 9 2017-11-28 main Content Correctness Proof for the Gas Burner Implementables

More information

Lecture 03: Duration Calculus I

Lecture 03: Duration Calculus I Real-Time Systems Lecture 03: Duration Calculus I 2014-05-08 Dr. Bernd Westphal 03 2014-05-08 main Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: Model of timed behaviour:

More information

Formal Methods for Java

Formal Methods for Java Formal Methods for Java Lecture 12: Soundness of Sequent Calculus Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg June 12, 2017 Jochen Hoenicke (Software Engineering) Formal Methods

More information

Theoretical Foundations of the UML

Theoretical Foundations of the UML Theoretical Foundations of the UML Lecture 17+18: A Logic for MSCs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ws-1718/fuml/ 5.

More information

Finite State Machines 2

Finite State Machines 2 Finite State Machines 2 Joseph Spring School of Computer Science 1COM0044 Foundations of Computation 1 Discussion Points In the last lecture we looked at: 1. Abstract Machines 2. Finite State Machines

More information

FINITE STATE MACHINES (AUTOMATA)

FINITE STATE MACHINES (AUTOMATA) FINITE STATE MACHINES (AUTOMATA) Switch Example Think about the On/Off button Switch Example The corresponding Automaton Off Push On Push Input: Push Push Push Push Vending Machine Example 2 Vending machine

More information

Formal Methods for Java

Formal Methods for Java Formal Methods for Java Lecture 20: Sequent Calculus Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg January 15, 2013 Jochen Hoenicke (Software Engineering) Formal Methods for Java

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

Lecture 3: Duration Calculus I

Lecture 3: Duration Calculus I Real-Time Systems Lecture 3: Duration Calculus I 27--26 Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 3 27--26 main Content Introduction Observables and Evolutions Duration Calculus (DC)

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

Part I: Definitions and Properties

Part I: Definitions and Properties Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States

More information

Lecture 05: Duration Calculus III

Lecture 05: Duration Calculus III Real-Time Systems Lecture 05: Duration Calculus III 2014-05-20 Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: DC Syntax and Semantics: Formulae This Lecture:

More information

Finite-State Machines (Automata) lecture 12

Finite-State Machines (Automata) lecture 12 Finite-State Machines (Automata) lecture 12 cl a simple form of computation used widely one way to find patterns 1 A current D B A B C D B C D A C next 2 Application Fields Industry real-time control,

More information

CMP 309: Automata Theory, Computability and Formal Languages. Adapted from the work of Andrej Bogdanov

CMP 309: Automata Theory, Computability and Formal Languages. Adapted from the work of Andrej Bogdanov CMP 309: Automata Theory, Computability and Formal Languages Adapted from the work of Andrej Bogdanov Course outline Introduction to Automata Theory Finite Automata Deterministic Finite state automata

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Wolfram Burgard, Maren Bennewitz, and Marco Ragni Albert-Ludwigs-Universität Freiburg Contents 1 Agents

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Joschka Boedecker and Wolfram Burgard and Bernhard Nebel Albert-Ludwigs-Universität Freiburg May 17, 2016

More information

Lecture 07: Formal Methods for Requirements Engineering

Lecture 07: Formal Methods for Requirements Engineering 1 2015-04-20 main 1 2015-04-20 main 07 2015-05-21 Sprelim Softwaretechnik / Software-Engineering Lecture 07: Formal Methods for Requirements Engineering 2015-05-21 Prof. Dr. Andreas Podelski, Dr. Bernd

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

Applied Computer Science II Chapter 1 : Regular Languages

Applied Computer Science II Chapter 1 : Regular Languages Applied Computer Science II Chapter 1 : Regular Languages Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany Overview Deterministic finite automata Regular languages

More information

we could choose to work with the following symbols for natural numbers: Syntax: zero,one,two,...,twentyseven,...

we could choose to work with the following symbols for natural numbers: Syntax: zero,one,two,...,twentyseven,... 3 27--26 main 27--7 Snoncontent 2 27--9 Sdcpreview 3 27--26 Scontent Content Real- Systems Lecture 3: Duration Calculus I 27--26 Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Symbols

More information

Reasoning about Time and Reliability

Reasoning about Time and Reliability Reasoning about Time and Reliability Probabilistic CTL model checking Daniel Bruns Institut für theoretische Informatik Universität Karlsruhe 13. Juli 2007 Seminar Theorie und Anwendung von Model Checking

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

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

Version Spaces.

Version Spaces. . Machine Learning Version Spaces Prof. Dr. Martin Riedmiller AG Maschinelles Lernen und Natürlichsprachliche Systeme Institut für Informatik Technische Fakultät Albert-Ludwigs-Universität Freiburg riedmiller@informatik.uni-freiburg.de

More information

Lecture 07: Formal Methods for Requirements Engineering

Lecture 07: Formal Methods for Requirements Engineering Softwaretechnik / Software-Engineering Lecture 07: Formal Methods for Requirements Engineering 2015-05-21 07 2015-05-21 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg,

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

CS:4330 Theory of Computation Spring Regular Languages. Finite Automata and Regular Expressions. Haniel Barbosa

CS:4330 Theory of Computation Spring Regular Languages. Finite Automata and Regular Expressions. Haniel Barbosa CS:4330 Theory of Computation Spring 2018 Regular Languages Finite Automata and Regular Expressions Haniel Barbosa Readings for this lecture Chapter 1 of [Sipser 1996], 3rd edition. Sections 1.1 and 1.3.

More information

Homework. Staff. Happy and fruitful New Year. Welcome to CSE105. (Happy New Year) שנה טובה. and. Meeting Times

Homework. Staff. Happy and fruitful New Year. Welcome to CSE105. (Happy New Year) שנה טובה. and. Meeting Times Welcome to CSE5 and Happy and fruitful New Year שנה טובה (Happy New Year) Meeting Times Lectures: Tue Thu :p -3:p Cognitive Science Building Sections: Mon :p -:5p Pepper Canyon Hall Will Tue :p -:5p WLH

More information

Introduction to Theoretical Computer Science. Motivation. Automata = abstract computing devices

Introduction to Theoretical Computer Science. Motivation. Automata = abstract computing devices Introduction to Theoretical Computer Science Motivation Automata = abstract computing devices Turing studied Turing Machines (= computers) before there were any real computers We will also look at simpler

More information

Concept Learning.

Concept Learning. . Machine Learning Concept Learning Prof. Dr. Martin Riedmiller AG Maschinelles Lernen und Natürlichsprachliche Systeme Institut für Informatik Technische Fakultät Albert-Ludwigs-Universität Freiburg Martin.Riedmiller@uos.de

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated

More information

Theory of Finite Automata

Theory of Finite Automata According to the Oxford English Dictionary, an automaton (plural is automata ) is a machine whose responses to all possible inputs are specified in advance. For this course, the term finite automaton can

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

CS154, Lecture 10: Rice s Theorem, Oracle Machines

CS154, Lecture 10: Rice s Theorem, Oracle Machines CS154, Lecture 10: Rice s Theorem, Oracle Machines Moral: Analyzing Programs is Really, Really Hard But can we more easily tell when some program analysis problem is undecidable? Problem 1 Undecidable

More information

Subsumption of concepts in FL 0 for (cyclic) terminologies with respect to descriptive semantics is PSPACE-complete.

Subsumption of concepts in FL 0 for (cyclic) terminologies with respect to descriptive semantics is PSPACE-complete. Subsumption of concepts in FL 0 for (cyclic) terminologies with respect to descriptive semantics is PSPACE-complete. Yevgeny Kazakov and Hans de Nivelle MPI für Informatik, Saarbrücken, Germany E-mail:

More information

Overview. 1 Lecture 1: Introduction. 2 Lecture 2: Message Sequence Charts. Joost-Pieter Katoen Theoretical Foundations of the UML 1/32

Overview. 1 Lecture 1: Introduction. 2 Lecture 2: Message Sequence Charts. Joost-Pieter Katoen Theoretical Foundations of the UML 1/32 Overview 1 Lecture 1: Introduction 2 Lecture 2: Message Sequence Charts Joost-Pieter Katoen Theoretical Foundations of the UML 1/32 Theoretical Foundations of the UML Lecture 1: Introduction Joost-Pieter

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

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

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Joschka Boedecker and Wolfram Burgard and Frank Hutter and Bernhard Nebel Albert-Ludwigs-Universität Freiburg

More information

CSE 311: Foundations of Computing. Lecture 23: Finite State Machine Minimization & NFAs

CSE 311: Foundations of Computing. Lecture 23: Finite State Machine Minimization & NFAs CSE : Foundations of Computing Lecture : Finite State Machine Minimization & NFAs State Minimization Many different FSMs (DFAs) for the same problem Take a given FSM and try to reduce its state set by

More information

Theory of Computation

Theory of Computation Theory of Computation Lecture #2 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 1 Lecture 2: Overview Recall some basic definitions from Automata Theory.

More information

Propositions. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 5.1, Page 1

Propositions. c D. Poole and A. Mackworth 2010 Artificial Intelligence, Lecture 5.1, Page 1 Propositions An interpretation is an assignment of values to all variables. A model is an interpretation that satisfies the constraints. Often we don t want to just find a model, but want to know what

More information

Monadic Second Order Logic and Automata on Infinite Words: Büchi s Theorem

Monadic Second Order Logic and Automata on Infinite Words: Büchi s Theorem Monadic Second Order Logic and Automata on Infinite Words: Büchi s Theorem R. Dustin Wehr December 18, 2007 Büchi s theorem establishes the equivalence of the satisfiability relation for monadic second-order

More information

How do PLC look like? What s special about PLC? What is a PLC? /50 2/50 5/50 6/50 3/ Splc main

How do PLC look like? What s special about PLC? What is a PLC? /50 2/50 5/50 6/50 3/ Splc main http://wikimedia.org (public domain) How do PLC look like? Albert-Ludwigs-Universität Freiburg, Germany Dr. Bernd Westphal 2013-05-29 Lecture 09: PLC Automata Real-ime Systems 4/50 http://wikimedia.org

More information

Propositional Logic: Semantics and an Example

Propositional Logic: Semantics and an Example Propositional Logic: Semantics and an Example CPSC 322 Logic 2 Textbook 5.2 Propositional Logic: Semantics and an Example CPSC 322 Logic 2, Slide 1 Lecture Overview 1 Recap: Syntax 2 Propositional Definite

More information

Classical First-Order Logic

Classical First-Order Logic Classical First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) First-Order Logic (Classical) MFES 2008/09

More information

Compositions of Bottom-Up Tree Series Transformations

Compositions of Bottom-Up Tree Series Transformations Compositions of Bottom-Up Tree Series Transformations Andreas Maletti a Technische Universität Dresden Fakultät Informatik D 01062 Dresden, Germany maletti@tcs.inf.tu-dresden.de May 17, 2005 1. Motivation

More information

Concurrent LSC Verification

Concurrent LSC Verification Under consideration for publication in Formal Aspects of Computing Concurrent LSC Verification On Decomposition Properties of Partially Ordered Symbolic Automata Tobe Toben 1 and Bernd Westphal 2 Carl

More information

Model Checking of Safety Properties

Model Checking of Safety Properties Model Checking of Safety Properties Orna Kupferman Hebrew University Moshe Y. Vardi Rice University October 15, 2010 Abstract Of special interest in formal verification are safety properties, which assert

More information

Nondeterministic Finite Automata

Nondeterministic Finite Automata Nondeterministic Finite Automata Mahesh Viswanathan Introducing Nondeterminism Consider the machine shown in Figure. Like a DFA it has finitely many states and transitions labeled by symbols from an input

More information

A logical framework to deal with variability

A logical framework to deal with variability A logical framework to deal with variability (research in progress) M.H. ter Beek joint work with P. Asirelli, A. Fantechi and S. Gnesi ISTI CNR Università di Firenze XXL project meeting Pisa, 21 June

More information

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems Computer Journal Lecture - 22nd June 2009 Manfred Broy Technische Universität München Institut für Informatik

More information

Introduction. Büchi Automata and Model Checking. Outline. Büchi Automata. The simplest computation model for infinite behaviors is the

Introduction. Büchi Automata and Model Checking. Outline. Büchi Automata. The simplest computation model for infinite behaviors is the Introduction Büchi Automata and Model Checking Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 The simplest computation model for finite behaviors is the finite

More information

Lecture 12: Mapping Reductions

Lecture 12: Mapping Reductions Lecture 12: Mapping Reductions October 18, 2016 CS 1010 Theory of Computation Topics Covered 1. The Language EQ T M 2. Mapping Reducibility 3. The Post Correspondence Problem 1 The Language EQ T M The

More information

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

Deterministic Finite Automata

Deterministic Finite Automata Deterministic Finite Automata COMP2600 Formal Methods for Software Engineering Ranald Clouston Australian National University Semester 2, 2013 COMP 2600 Deterministic Finite Automata 1 Pop quiz What is

More information

Propositional Logic: Logical Agents (Part I)

Propositional Logic: Logical Agents (Part I) Propositional Logic: Logical Agents (Part I) First Lecture Today (Tue 21 Jun) Read Chapters 1 and 2 Second Lecture Today (Tue 21 Jun) Read Chapter 7.1-7.4 Next Lecture (Thu 23 Jun) Read Chapters 7.5 (optional:

More information

Decision, Computation and Language

Decision, Computation and Language Decision, Computation and Language Non-Deterministic Finite Automata (NFA) Dr. Muhammad S Khan (mskhan@liv.ac.uk) Ashton Building, Room G22 http://www.csc.liv.ac.uk/~khan/comp218 Finite State Automata

More information

Compositions of Tree Series Transformations

Compositions of Tree Series Transformations Compositions of Tree Series Transformations Andreas Maletti a Technische Universität Dresden Fakultät Informatik D 01062 Dresden, Germany maletti@tcs.inf.tu-dresden.de December 03, 2004 1. Motivation 2.

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

Introduction to Probabilistic Programming Language (with Church as an example) Presenter: Enrique Rosales, Xing Zeng

Introduction to Probabilistic Programming Language (with Church as an example) Presenter: Enrique Rosales, Xing Zeng Introduction to Probabilistic Programming Language (with Church as an example) Presenter: Enrique Rosales, Xing Zeng 1 Knowledge How can we infer knowledge from observations? 2 Ron s box Bob has a box

More information

Process Algebras and Concurrent Systems

Process Algebras and Concurrent Systems Process Algebras and Concurrent Systems Rocco De Nicola Dipartimento di Sistemi ed Informatica Università di Firenze Process Algebras and Concurrent Systems August 2006 R. De Nicola (DSI-UNIFI) Process

More information

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia Università degli studi di Udine Corso per il dottorato di ricerca: Temporal Logics: Satisfiability Checking, Model Checking, and Synthesis January 2017 Lecture 01, Part 02: Temporal Logics Guest lecturer:

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

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

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

SPECIFICATION MODELS. Chapter 3. Overview. Introducing Hierarchy. StateCharts 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

More information

Formal Definition of a Finite Automaton. August 26, 2013

Formal Definition of a Finite Automaton. August 26, 2013 August 26, 2013 Why a formal definition? A formal definition is precise: - It resolves any uncertainties about what is allowed in a finite automaton such as the number of accept states and number of transitions

More information

Homework. Staff. Happy and fruitful New Year. Welcome to CS105. (Happy New Year) שנה טובה. Meeting Times.

Homework. Staff. Happy and fruitful New Year. Welcome to CS105. (Happy New Year) שנה טובה. Meeting Times. Welcome to CS5 and Happy and fruitful ew Year שנה טובה (Happy ew Year) Meeting Times Lectures: Tue Thu 3:3p -4:5p WLH ote: Thu Oct 9 Lecture is canceled there may be a make-up lecture by quarter s end.

More information

Automata and Languages

Automata and Languages Automata and Languages Prof. Mohamed Hamada Software Engineering Lab. The University of Aizu Japan Nondeterministic Finite Automata with empty moves (-NFA) Definition A nondeterministic finite automaton

More information

PROPOSITIONAL LOGIC. VL Logik: WS 2018/19

PROPOSITIONAL LOGIC. VL Logik: WS 2018/19 PROPOSITIONAL LOGIC VL Logik: WS 2018/19 (Version 2018.2) Martina Seidl (martina.seidl@jku.at), Armin Biere (biere@jku.at) Institut für Formale Modelle und Verifikation BOX Game: Rules 1. The game board

More information

Softwaretechnik. Lecture 13: Design by Contract. Peter Thiemann University of Freiburg, Germany

Softwaretechnik. Lecture 13: Design by Contract. Peter Thiemann University of Freiburg, Germany Softwaretechnik Lecture 13: Design by Contract Peter Thiemann University of Freiburg, Germany 25.06.2012 Table of Contents Design by Contract Contracts for Procedural Programs Contracts for Object-Oriented

More information

A Little Logic. Propositional Logic. Satisfiability Problems. Solving Sudokus. First Order Logic. Logic Programming

A Little Logic. Propositional Logic. Satisfiability Problems. Solving Sudokus. First Order Logic. Logic Programming A Little Logic International Center for Computational Logic Technische Universität Dresden Germany Propositional Logic Satisfiability Problems Solving Sudokus First Order Logic Logic Programming A Little

More information

Harvard CS 121 and CSCI E-207 Lecture 9: Regular Languages Wrap-Up, Context-Free Grammars

Harvard CS 121 and CSCI E-207 Lecture 9: Regular Languages Wrap-Up, Context-Free Grammars Harvard CS 121 and CSCI E-207 Lecture 9: Regular Languages Wrap-Up, Context-Free Grammars Salil Vadhan October 2, 2012 Reading: Sipser, 2.1 (except Chomsky Normal Form). Algorithmic questions about regular

More information

PSL Model Checking and Run-time Verification via Testers

PSL Model Checking and Run-time Verification via Testers PSL Model Checking and Run-time Verification via Testers Formal Methods 2006 Aleksandr Zaks and Amir Pnueli New York University Introduction Motivation (Why PSL?) A new property specification language,

More information

Lecture 10: PLC Automata

Lecture 10: PLC Automata Real-ime Systems Lecture 10: PLC Automata 2017-11-30 Dr. Bernd Westphal Dr. Jochen Hoenicke Albert-Ludwigs-Universität Freiburg, Germany 10 2017-11-30 main he Plan Full DC DC Implementables PLC-Automata

More information

(Refer Slide Time: 0:21)

(Refer Slide Time: 0:21) Theory of Computation Prof. Somenath Biswas Department of Computer Science and Engineering Indian Institute of Technology Kanpur Lecture 7 A generalisation of pumping lemma, Non-deterministic finite automata

More information

Nondeterministic finite automata

Nondeterministic finite automata Lecture 3 Nondeterministic finite automata This lecture is focused on the nondeterministic finite automata (NFA) model and its relationship to the DFA model. Nondeterminism is an important concept in the

More information

Nondeterministic Finite Automata

Nondeterministic Finite Automata Nondeterministic Finite Automata Not A DFA Does not have exactly one transition from every state on every symbol: Two transitions from q 0 on a No transition from q 1 (on either a or b) Though not a DFA,

More information

2.3 Finite State Machine (FSM) Concept and Implementation

2.3 Finite State Machine (FSM) Concept and Implementation 2.3 Finite State Machine (FSM) Concept and Implementation Topics Finite State Machine (FSM) What are FSM s Why / When to use FSM Implementing of Finite State Machines Home Work Assignment (part 2) What

More information

Finite-state machines (FSMs)

Finite-state machines (FSMs) Finite-state machines (FSMs) Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada January 10, 2017 1/19 Finite-state machines (FSMs) and state

More information