Lecture 9: Live Sequence Charts
|
|
- Hilary Welch
- 6 years ago
- Views:
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
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 informationLecture 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 informationLecture 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 informationLecture 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 informationLecture 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 informationLecture 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 informationLecture 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 informationReal-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 informationLecture 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 informationAlan 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 informationLecture 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 informationReal-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 informationLecture 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 informationLecture 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 informationEmbedded 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 informationSoftware 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 informationAutomata 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 informationFinite 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 informationLinear 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 informationLecture 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 informationLecture 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 informationFormal 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 informationTheoretical 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 informationFinite 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 informationFINITE 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 informationFormal 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 informationCS256/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 informationLecture 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 informationCSE 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 informationPart 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 informationLecture 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 informationFinite-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 informationCMP 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 informationFoundations 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 informationFoundations 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 informationLecture 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 informationChapter 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 informationApplied 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 informationwe 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 informationReasoning 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 informationFormal 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 informationAutomata 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 informationVersion 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 informationLecture 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 informationAutomata, 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 informationCS: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 informationHomework. 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 informationIntroduction 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 informationConcept 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 informationT 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 informationDynamic 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 informationTheory 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 informationComputer-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 informationCS154, 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 informationSubsumption 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 informationOverview. 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 informationAutomata-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 informationEECS 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 informationFoundations 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 informationCSE 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 informationTheory 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 informationPropositions. 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 informationMonadic 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 informationHow 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 informationPropositional 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 informationClassical 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 informationCompositions 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 informationConcurrent 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 informationModel 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 informationNondeterministic 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 informationA 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 informationSeamless 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 informationIntroduction. 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 informationLecture 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 informationTemporal 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 informationDeterministic 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 informationPropositional 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 informationDecision, 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 informationCompositions 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 informationClasses 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 informationIntroduction 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 informationProcess 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 informationGuest 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 informationAutomata-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 informationAbstractions 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 informationSPECIFICATION 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 informationFormal 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 informationHomework. 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 informationAutomata 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 informationPROPOSITIONAL 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 informationSoftwaretechnik. 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 informationA 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 informationHarvard 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 informationPSL 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 informationLecture 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)
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 informationNondeterministic 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 informationNondeterministic 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 information2.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 informationFinite-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