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

Size: px
Start display at page:

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

Transcription

1 Softwaretechnik / Software-Engineering Lecture 10: Requirements Engineering Wrap-Up Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Pre-Charts (Again) 4/ Sblockcontent 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,... VL 8 VL 9 VL 10 Scenarios User Stories, Use Cases Live Sequence Charts Syntax, Semantics Definition: Software & SW Specification Wrap-Up Example: Vending Machine Positive scenario: Buy a Softdrink (i) Insert one 1 euro coin. (ii) Press the softdrink button. (iii) Get a softdrink. LSC: buy 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. LSC: get change chg- 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.!! 2/34 5/ Scontent Content Pre-Charts Semantics, once again Requirements Engineering with scenarios Strengthening scenarions into requirements Software, formally Software specification Requirements Engineering, formally Software implements specification LSCs vs. Software Software implements LSCs Scenarios and tests Play In/Play Out Requirements Engineering Wrap-Up Pre-Charts A fulllscl = (PC,MC,ac,am,ΘL) actually consists of pre-chartpc = ((LP, P, P),IP,Msg P,CondP,LocInvP,ΘP) (poss. empty), main-chartmc = ((LM, M, M),IM,Msg M,CondM,LocInvM,ΘM), activation conditionac Φ(C), and mode am {initial, invariant}, strictness flagstrict, chart mode existential (ΘL = cold) or universal (ΘL = hot). Concrete syntax:!! 3/34 6/34

2 Requirements Engineering with Scenarios wherec P 0 andcm 0 are the minimal (or instance heads) cuts of pre- and main-chart. ΘL = hot w W m N0 w 0 = ac ψexit(c P 0 ) ψprog(,cp 0 ) w/1,...,w/m Lang(B(PC)) w m+1 = ψexit(c 0 M ) = w m+1 = ψprog(,c 0 M ) w/m + 2 Lang(B(MC)) w W k m N0 w k = ac ψexit(c P 0 ) ψprog(,cp 0 ) w/k + 1,...,w/m Lang(B(PC)) w m+1 = ψexit(c 0 M ) = w m+1 = ψprog(,c 0 M ) w/m + 2 Lang(B(MC)) ΘL = cold w W m N0 w 0 = ac ψexit(c 0 P ) ψprog(,cp 0 ) w/1,...,w/m Lang(B(PC)) w m+1 = ψexit(c 0 M ) w m+1 = ψprog(,c 0 M ) w/m + 2 Lang(B(MC)) w W k < m N0 w k = ac ψexit(c 0 P ) ψprog(,cp 0 ) w/k + 1,...,w/m Lang(B(PC)) w m+1 = ψexit(c 0 M ) w m+1 = ψprog(,c 0 M ) w/m + 2 Lang(B(MC)) am = initial am = invariant A set of wordsw (C B) ω is accepted by L, denoted byw = L, if and only if activation conditionac Φ(C), and mode am {initial, invariant}, strictness flagstrict, chart mode existential (ΘL = cold) or universal (ΘL = hot). pre-chartpc = ((LP, P, P),IP,Msg P,CondP,LocInvP,ΘP) (poss. empty), main-chartmc = ((LM, M, M),IM,Msg M,CondM,LocInvM,ΘM), A fulllscl = (PC,MC,ac,am,ΘL) actually consists of Pre-Charts!! 6/34 8/34 OK dwater pwater Universal LSC: Example LSC: buy water AM: invariant I: strict User CoinValidator ChoicePanel Dispenser water_in_stock 7/34 OK dwater pwater Universal LSC: Example LSC: buy water AM: invariant I: strict User CoinValidator ChoicePanel Dispenser water_in_stock (!!! ptea! pfillup!) (dsoft! dtea!) 7/34

3 Sre Scontent Content Pre-Charts Semantics, once again Requirements Engineering with scenarios Strengthening scenarions into requirements Software, formally Software specification Requirements Engineering, formally Software implements specification LSCs vs. Software Software implements LSCs Scenarios and tests Play In/Play Out Requirements Engineering Wrap-Up 12/34 Software and Software Specification, formally 13/ Sstrengthen Analysing LSC Requiremnts Requirements on Requirements Specifications A requirements specification should be correct it correctly represents the wishes/needs of the customer, complete all requirements (existing in somebody s head, or a document, or...) should be present, relevant things which are not relevant to the project should not be constrained, consistent, free of contradictions each requirement is compatible with all other requirements; otherwise the requirements are not realisable, neutral, abstract a requirements specification does not constrain the realisation more than necessary, traceable, comprehensible the sources of requirements are documented, requirements are uniquely identifiable, testable, objective the final product can objectively be checked for satisfying a requirement. Correctness and completeness are defined relative to something which is usually only in the customer s head. is is difficult to be sure of correctness and completeness. Dear customer, please tell me what is in your head! is in almost all cases not a solution! It s not unusual that even the customer does not precisely know...! For example, the customer may not be aware of contradictions due to technical limitations. Definition. [LSC Consistency] A set of LSCs{L1,...,Ln} is called consistent if and only if there exists a set of wordsw such that n i=1 W = Lang(Li). Software, formally Definition. Software is a finite descriptions of a (possibly infinite) set S of (finite or infinite) computation paths of the form σ 0 α 1 σ 1 α 2 σ 2 where σi Σ, i N0, is called state (or configuration), and αi A, i N0, is called action (or event). The (possibly partial) function : S S is called interpretation ofs. 12/37 11/34 14/34

4 (CC-by-sa 4.0, Dirk Ingo Franke) Example: Software, formally Software is a finite descriptions of a (possibly infinite) set S of (finite or infinite) computation paths α of the formσ 1 α 0 σ 2 1 σ 2. σi: state/configuration;αi: action/event. 1: public int f( int x, int y ) { 2: x = x + y; 3: y = x / 2; 4: return y; 5:} 15/34 Example: Software, formally Software is a finite descriptions of a (possibly infinite) set S of (finite or infinite) computation paths α of the formσ 1 α 0 σ 2 1 σ 2. σi: state/configuration;αi: action/event. HTML. 1: <html> 2: <head> 3: <title>swt 2016</title> 4: </head> 5: <body/> 6: </html> Example: Software Specification Alphabet: M dispense cash only, C return card only, M C dispense cash and return card. Customer 1: don t care ( ) C.M M ω S1 = M.C C Customer 2: you choose, but be consistent S2 = (M.C) ω or(c.m) ω Customer 3: consider human errors S3 = (C.M) ω 15/34 17/34 Example: Software, formally Software is a finite descriptions of a (possibly infinite) set S of (finite or infinite) computation paths α of the formσ 1 α 0 σ 2 1 σ 2. σi: state/configuration;αi: action/event. HTML. User s Manual. etc. etc. T : room ventilation r1 r2 r3 b button pressed? off ventilation off? on ventilation on? go start ventilation stop stop ventilation 15/34

5 LSC: get change!! chg- Global Invariants. State Machines. 1: public int f( int x, int y ) { 2: x = x + y; 3: y = x / 2; 4: return y; 5:} Global Invariants. x 0 Global Invariants. State Machines. User s Manual. etc. etc. Global Invariants. State Machines. later The Requirements Engineering Problem Formally (Σ A) ω all computation paths overσanda, aka. chaos requirements, all these computation paths are allowed (maybe including refinements) one software which does not satisfy the requirements one software (= set of computation paths) which satisfies the requirements Requirements engineering: Describe/specify the set of the allowed softwares as S. Note: what is not constrained is allowed, usually! Software development: Create one softwares whose computation paths S are all allowed, i.e. S S. Note: different programs in different programming languages may describe the same S. Often allowed: any refinement of ( in a minute; e.g. allow intermediate transitions). 19/34

6 OK I Stestplay Software Specification vs. Software S = {(S0, 0)} σ 0 0 α 0 1 σ 1 0 α 0 2 σ 2 0 M I M σ 1 0 α 1 1 σ 1 1 α 1 2 σ 2 1 σ 2 0 α 2 1 σ 1 2 α 2 2 σ 2 2 (S1, 1)} S1 implements S viai andm S2 implements S viai andm How to Prove that a Software Satisfies an LSC? LSC: buy softdrink LSC: get change chg- SoftwareS satisfies existential LSC L if there existsπ S such that L acceptsw(π). ProveS = L by demonstratingπ. Note: Existential LSCs may hint at test-cases for the acceptance test! ( : as well as (positive) scenarios in general, like use-cases) requirements fixed verification & validation acceptance specified delivered architecture designed integrated modules designed realised (S2, 2)} 20/34 23/ Stestplay LSCs vs. Software How to Prove that a Software Satisfies an LSC? LSC: buy softdrink LSC: get change chg- SoftwareS satisfies existential LSC L if there existsπ S such that L acceptsw(π). ProveS = L by demonstratingπ. Note: Existential LSCs may hint at test-cases for the acceptance test! ( : as well as (positive) scenarios in general, like use-cases) requirements fixed specified architecture designed verification & validation modules designed acceptance delivered integrated realised!! pwater LSC: buy water AM: invariant I: strict User CoinValidator ChoicePanel Dispenser (!!! ptea! pfillup!) water_in_stock (dsoft! dtea!) Universal LSCs (and negative/anti-scenarios!) in general need an exhaustive analysis! (Because they require that the software never ever exhibits the unwanted behaviour.) ProveS = L by demonstrating oneπ such thatw(π) is not accepted by L. dwater 21/34 23/ Stestplay Stestplay (Harel and Marelly, 2003) Pushing It Even Further Software S satisfiesaset of LSCsL1,...,Ln ifandonlyifs = Li forall1 i n. hot w WS w 0 = ac ψexit(c0) = w 0 = ψprog(,c0) w/1 Lang(B(L)) w WS k N0 w k = ac ψexit(c0) = w k = ψhot Cond (,C0) w/k+1 Lang(B(L)) cold w WS w 0 = ac ψexit(c0) w 0 = ψprog(,c0) w/1 Lang(B(L)) w WS k N0 w k = ac ψexit(c0) w k = ψprog(,c0) w/k +1 Lang(B(L)) ΘL am = initial am = invariant Wesaysoftware S satisfies LSCL (withoutpre-chart), denotedbys = L, ifandonlyif we usews to denote the set of words induced by S. w(π) = (σ0 α1),(σ1 α2),(σ2 α3),..., A computation pathπ = σ 0 α 1 σ 1 α 2 σ 2 S of softwares induces the word Σ = (C B), i.e. the states are valuations of the conditions inc, A E!?, i.e. the events are of the forme!,e? (viewed as a valuation ofe!,e?). A softwares is called compatible with LSC L overc ande is if and only if LSCs as Software Specification 22/34 24/34

7 (CC-by-sa 4.0, Dirk Ingo Franke) Swrapup Sttwytt Tell Them What You ve Told Them... Live Sequence Charts (if well-formed) have an abstract syntax: instance lines, messages, conditions, local invariants; mode: hot or cold. From an abstract syntax, mechanically construct its TBA. Pre-charts allow us to specify anti-scenarios ( this must not happen ), contrain activation. AnLSC issatisfied byasoftware S ifandonlyif existential (cold): there is a word induced by a computation path ofs which is accepted by the LSC s pre/main-chart TBA. universal (hot): all words induced by the computation paths ofs are accepted by the LSC s pre/main-chart TBA. Method: discuss (anti-)scenarios with customer, generalise into universal LSCs and re-validate. Example: Software Specification Alphabet: M dispense cash only, C return card only, M C dispense cash and return card. Customer 1: don t care ( ) C.M M ω S1 = M.C C Customer 2: you choose, but be consistent S2 = (M.C) ω or(c.m) ω Customer 3: consider human errors S3 = (C.M) ω 25/34 28/34 Requirements Engineering Wrap-Up 26/ Swrapup Sblockcontent 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,... VL 8 VL 9 VL 10 Scenarios User Stories, Use Cases Live Sequence Charts Syntax, Semantics Definition: Software & SW Specification Wrap-Up Tell Them What You ve Told Them... A Requirements Specification should be correct, complete, relevant, consistent, neutral, traceable, objective. Requirements Representations should be easily understandable, precise, easily maintainable, easily usable. Languages / Notations for Requirements Representations: Natural Language Patterns Decision Tables User Stories Use Cases Live Sequence Charts Formal representations can be very precise, objective, testable, can be analysed for, e.g., completeness, consistency can be verified against a formal design description. (Formal) inconsistency of, e.g., a decision table hints at inconsistencies in the requirements. 27/34 30/34

8 Swrapup Requirements Analysis in a Nutshell Customers may not know what they want. That s in general not their fault! Care for tacit requirements. Care for non-functional requirements / constraints. For requirements elicitation, consider starting with scenarios ( positive use case ) and anti-scenarios ( negative use case ) and elaborate corner cases. Thus, use cases can be very useful use case diagrams not so much. Maintain a dictionary and high-quality descriptions. Care for objectiveness / testability early on. Ask for each requirements: what is the acceptance test? Use formal notations to fully understand requirements (precision), for requirements analysis (completeness, etc.), to communicate with your developers. If in doubt, complement (formal) diagrams with text (as safety precaution, e.g., in lawsuits). 31/34 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. 34/ Swrapup Literature Recommendation (Rupp and die SOPHISTen, 2014) 32/34 References 33/34

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: 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 9: Live Sequence Charts

Lecture 9: Live Sequence Charts Softwaretechnik / Software-Engineering Lecture 9: Live Sequence Charts 2017-06-19 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 9 2017-06-19 main Topic Area

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 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 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

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 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

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 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

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 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 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

Safety and Liveness Properties

Safety and Liveness Properties Safety and Liveness Properties Lecture #6 of Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling and Verification E-mail: katoen@cs.rwth-aachen.de November 5, 2008 c JPK Overview Lecture

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

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

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

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

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

A non-turing-recognizable language

A non-turing-recognizable language CS 360: Introduction to the Theory of Computing John Watrous, University of Waterloo A non-turing-recognizable language 1 OVERVIEW Thus far in the course we have seen many examples of decidable languages

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

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

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness Requirements Validation Requirements Management Requirements Validation?? Validation, Verification, Accreditation!! Check if evrything is OK With respect to what? Mesurement associated with requirements

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

COMP6463: λ-calculus

COMP6463: λ-calculus COMP6463: λ-calculus 1. Basics Michael Norrish Michael.Norrish@nicta.com.au Canberra Research Lab., NICTA Semester 2, 2015 Outline Introduction Lambda Calculus Terms Alpha Equivalence Substitution Dynamics

More information

Lecture 05: High-Level Design with SysML. An Introduction to SysML. Where are we? What is a model? The Unified Modeling Language (UML)

Lecture 05: High-Level Design with SysML. An Introduction to SysML. Where are we? What is a model? The Unified Modeling Language (UML) Where are we? Systeme hoher Sicherheit und Qualität Universität Bremen, WS 2017/2018 Lecture 05: High-Level Design with SysML Christoph Lüth, Dieter Hutter, Jan Peleska 01: Concepts of Quality 02: Legal

More information

Lesson 6-1: Relations and Functions

Lesson 6-1: Relations and Functions I ll bet you think numbers are pretty boring, don t you? I ll bet you think numbers have no life. For instance, numbers don t have relationships do they? And if you had no relationships, life would be

More information

Lecture Notes: The Halting Problem; Reductions

Lecture Notes: The Halting Problem; Reductions Lecture Notes: The Halting Problem; Reductions COMS W3261 Columbia University 20 Mar 2012 1 Review Key point. Turing machines can be encoded as strings, and other Turing machines can read those strings

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

EXPERIMENT : Thermal Equilibrium. Topics of investigation: Temperature, heat, heat capacity, entropy, irreversibility

EXPERIMENT : Thermal Equilibrium. Topics of investigation: Temperature, heat, heat capacity, entropy, irreversibility EXPERIMENT 2000.06.1: Thermal Equilibrium Topics of investigation: Temperature, heat, heat capacity, entropy, irreversibility Read about this topic in: Serway, Chs. 16, 17, 18; C&J Chs 13, 14, 15; also,

More information

Lecture 36: Other Non-computable Problems

Lecture 36: Other Non-computable Problems Lecture 36: Other Non-computable Problems Aims: To show how to prove that other problems are non-computable, which involves reductions from, e.g., the Halting Problem; and To point out how few problems

More information

Discrete Mathematics for CS Spring 2007 Luca Trevisan Lecture 27

Discrete Mathematics for CS Spring 2007 Luca Trevisan Lecture 27 CS 70 Discrete Mathematics for CS Spring 007 Luca Trevisan Lecture 7 Infinity and Countability Consider a function f that maps elements of a set A (called the domain of f ) to elements of set B (called

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

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

Formal Verification. Lecture 1: Introduction to Model Checking and Temporal Logic¹

Formal Verification. Lecture 1: Introduction to Model Checking and Temporal Logic¹ Formal Verification Lecture 1: Introduction to Model Checking and Temporal Logic¹ Jacques Fleuriot jdf@inf.ed.ac.uk ¹Acknowledgement: Adapted from original material by Paul Jackson, including some additions

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

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods NICTA Advanced Course Theorem Proving Principles, Techniques, Applications Gerwin Klein Formal Methods 1 ORGANISATORIALS When Mon 14:00 15:30 Wed 10:30 12:00 7 weeks ends Mon, 20.9.2004 Exceptions Mon

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

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

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

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

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2017 http://cseweb.ucsd.edu/classes/sp17/cse105-ab/ Today's learning goals Sipser Ch 5.1 Define and explain core examples of decision problems: A DFA, E DFA, EQ DFA,

More information

Fundamentals of Probability CE 311S

Fundamentals of Probability CE 311S Fundamentals of Probability CE 311S OUTLINE Review Elementary set theory Probability fundamentals: outcomes, sample spaces, events Outline ELEMENTARY SET THEORY Basic probability concepts can be cast in

More information

Object Modeling Approach! Object Modeling Approach!

Object Modeling Approach! Object Modeling Approach! Object Modeling Approach! 1 Object Modeling Approach! Start with a problem statement! High-level requirements! Define object model! Identify objects and classes! Prepare data dictionary! Identify associations

More information

Announcements. Problem Set Four due Thursday at 7:00PM (right before the midterm).

Announcements. Problem Set Four due Thursday at 7:00PM (right before the midterm). Finite Automata Announcements Problem Set Four due Thursday at 7:PM (right before the midterm). Stop by OH with questions! Email cs3@cs.stanford.edu with questions! Review session tonight, 7PM until whenever

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

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

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

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #4 MIPS Assembly and Simulation

More information

EGR224 F 18 Assignment #4

EGR224 F 18 Assignment #4 EGR224 F 18 Assignment #4 ------------------------------------------------------------------------------------------------------------- Due Date: Friday (Section 10), October 19, by 5 pm (slide it under

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

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

Turing Machines Part Three

Turing Machines Part Three Turing Machines Part Three What problems can we solve with a computer? What kind of computer? Very Important Terminology Let M be a Turing machine. M accepts a string w if it enters an accept state when

More information

Formal Analysis of UML/OCL Models

Formal Analysis of UML/OCL Models Formal Analysis of UML/OCL Models Achim D. Brucker Vincenz-Priessnitz-Str. 1, 76131 Karlsruhe, Germany achim.brucker@sap.com University Bremen Computer Science Colloqium Bremen, 29th October 2008 Outline

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

Turing Machines Part III

Turing Machines Part III Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's

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

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

Transition Predicate Abstraction and Fair Termination

Transition Predicate Abstraction and Fair Termination Transition Predicate Abstraction and Fair Termination Andreas Podelski and Andrey Rybalchenko Max-Planck-Institut für Informatik Saarbrücken, Germany POPL 2005 ETH Zürich Can Ali Akgül 2009 Introduction

More information

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018 CS 301 Lecture 18 Decidable languages Stephen Checkoway April 2, 2018 1 / 26 Decidable language Recall, a language A is decidable if there is some TM M that 1 recognizes A (i.e., L(M) = A), and 2 halts

More information

Math 31 Lesson Plan. Day 2: Sets; Binary Operations. Elizabeth Gillaspy. September 23, 2011

Math 31 Lesson Plan. Day 2: Sets; Binary Operations. Elizabeth Gillaspy. September 23, 2011 Math 31 Lesson Plan Day 2: Sets; Binary Operations Elizabeth Gillaspy September 23, 2011 Supplies needed: 30 worksheets. Scratch paper? Sign in sheet Goals for myself: Tell them what you re going to tell

More information

Proving languages to be nonregular

Proving languages to be nonregular Proving languages to be nonregular We already know that there exist languages A Σ that are nonregular, for any choice of an alphabet Σ. This is because there are uncountably many languages in total and

More information

Sequential Logic (3.1 and is a long difficult section you really should read!)

Sequential Logic (3.1 and is a long difficult section you really should read!) EECS 270, Fall 2014, Lecture 6 Page 1 of 8 Sequential Logic (3.1 and 3.2. 3.2 is a long difficult section you really should read!) One thing we have carefully avoided so far is feedback all of our signals

More information

EXAM 2 REVIEW DAVID SEAL

EXAM 2 REVIEW DAVID SEAL EXAM 2 REVIEW DAVID SEAL 3. Linear Systems and Matrices 3.2. Matrices and Gaussian Elimination. At this point in the course, you all have had plenty of practice with Gaussian Elimination. Be able to row

More information

Automated Checking of Integrity Constraints for a Model- and Pattern-Based Requirements Engineering Method (Technical Report)

Automated Checking of Integrity Constraints for a Model- and Pattern-Based Requirements Engineering Method (Technical Report) Automated Checking of Integrity Constraints for a Model- and Pattern-Based Requirements Engineering Method (Technical Report) Isabelle Côté 1, Denis Hatebur 1,2, Maritta Heisel 1 1 University Duisburg-Essen,

More information

Numbers. The aim of this lesson is to enable you to: describe and use the number system. use positive and negative numbers

Numbers. The aim of this lesson is to enable you to: describe and use the number system. use positive and negative numbers Module One: Lesson One Aims The aim of this lesson is to enable you to: describe and use the number system use positive and negative numbers work with squares and square roots use the sign rule master

More information

Name: Exam 2 Solutions. March 13, 2017

Name: Exam 2 Solutions. March 13, 2017 Department of Mathematics University of Notre Dame Math 00 Finite Math Spring 07 Name: Instructors: Conant/Galvin Exam Solutions March, 07 This exam is in two parts on pages and contains problems worth

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

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch

6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, Class 8 Nancy Lynch 6.045: Automata, Computability, and Complexity Or, Great Ideas in Theoretical Computer Science Spring, 2010 Class 8 Nancy Lynch Today More undecidable problems: About Turing machines: Emptiness, etc. About

More information

Lecture 2: Software Metrics

Lecture 2: Software Metrics Softwaretechnik / Software-Engineering Lecture 2: Software Metrics 2017-04-27 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 2 2017-04-27 main Topic Area Project

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

Softwaretechnik / Software-Engineering Lecture 2: Software Metrics

Softwaretechnik / Software-Engineering Lecture 2: Software Metrics ......... 2 17-04-27 Sexpectations Softwaretechnik / Software-Engineering Lecture 2: Software Metrics 17-04-27 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany

More information

Don t Plan for the Unexpected: Planning Based on Plausibility Models

Don t Plan for the Unexpected: Planning Based on Plausibility Models Don t Plan for the Unexpected: Planning Based on Plausibility Models Thomas Bolander, DTU Informatics, Technical University of Denmark Joint work with Mikkel Birkegaard Andersen and Martin Holm Jensen

More information

N/4 + N/2 + N = 2N 2.

N/4 + N/2 + N = 2N 2. CS61B Summer 2006 Instructor: Erin Korber Lecture 24, 7 Aug. 1 Amortized Analysis For some of the data structures we ve discussed (namely hash tables and splay trees), it was claimed that the average time

More information

Lecture 1. ABC of Probability

Lecture 1. ABC of Probability Math 408 - Mathematical Statistics Lecture 1. ABC of Probability January 16, 2013 Konstantin Zuev (USC) Math 408, Lecture 1 January 16, 2013 1 / 9 Agenda Sample Spaces Realizations, Events Axioms of Probability

More information

CSCI3390-Assignment 2 Solutions

CSCI3390-Assignment 2 Solutions CSCI3390-Assignment 2 Solutions due February 3, 2016 1 TMs for Deciding Languages Write the specification of a Turing machine recognizing one of the following three languages. Do one of these problems.

More information

Halting and Equivalence of Program Schemes in Models of Arbitrary Theories

Halting and Equivalence of Program Schemes in Models of Arbitrary Theories Halting and Equivalence of Program Schemes in Models of Arbitrary Theories Dexter Kozen Cornell University, Ithaca, New York 14853-7501, USA, kozen@cs.cornell.edu, http://www.cs.cornell.edu/~kozen In Honor

More information

Model Checking: An Introduction

Model Checking: An Introduction Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations

More information

CS 188: Artificial Intelligence Spring Today

CS 188: Artificial Intelligence Spring Today CS 188: Artificial Intelligence Spring 2006 Lecture 9: Naïve Bayes 2/14/2006 Dan Klein UC Berkeley Many slides from either Stuart Russell or Andrew Moore Bayes rule Today Expectations and utilities Naïve

More information

Equalities and Uninterpreted Functions. Chapter 3. Decision Procedures. An Algorithmic Point of View. Revision 1.0

Equalities and Uninterpreted Functions. Chapter 3. Decision Procedures. An Algorithmic Point of View. Revision 1.0 Equalities and Uninterpreted Functions Chapter 3 Decision Procedures An Algorithmic Point of View D.Kroening O.Strichman Revision 1.0 Outline Decision Procedures Equalities and Uninterpreted Functions

More information

Modal Logics. Most applications of modal logic require a refined version of basic modal logic.

Modal Logics. Most applications of modal logic require a refined version of basic modal logic. Modal Logics Most applications of modal logic require a refined version of basic modal logic. Definition. A set L of formulas of basic modal logic is called a (normal) modal logic if the following closure

More information

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 54 Design for Testability So, in the last lecture we talked

More information

Testing from a Finite State Machine: An introduction 1

Testing from a Finite State Machine: An introduction 1 Testing from a Finite State Machine: An introduction 1 The use of Finite State Machines (FSM) to model systems has lead to much interest in deriving tests from them. Having derived a test sequence from

More information

Automated Solution of the Riddle of Dracula and Other Puzzles

Automated Solution of the Riddle of Dracula and Other Puzzles Automated Solution of the Riddle of Dracula and Other Puzzles László Aszalós IRIT, Universite Paul Sabatier, 118 route de Narbonne F-31062 Toulouse Cedex 4, France, aszalos@irit.fr Abstract. The Door of

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

2 P vs. NP and Diagonalization

2 P vs. NP and Diagonalization 2 P vs NP and Diagonalization CS 6810 Theory of Computing, Fall 2012 Instructor: David Steurer (sc2392) Date: 08/28/2012 In this lecture, we cover the following topics: 1 3SAT is NP hard; 2 Time hierarchies;

More information

20.2 Design Example: Countdown Timer

20.2 Design Example: Countdown Timer EECS 16A Designing Information Devices and Systems I Fall 018 Lecture Notes Note 0 0.1 Design Procedure Now that we ve analyzed many circuits, we are ready to focus on designing interesting circuits to

More information

Midterm Exam 1 Solution

Midterm Exam 1 Solution EECS 126 Probability and Random Processes University of California, Berkeley: Fall 2015 Kannan Ramchandran September 22, 2015 Midterm Exam 1 Solution Last name First name SID Name of student on your left:

More information

Notes on Proving Arithmetic Equations

Notes on Proving Arithmetic Equations Massachusetts Institute of Technology Course Notes 1 6.844, Spring 03: Computability Theory of and with Scheme February 10 Prof. Albert Meyer revised February 25, 2003, 1300 minutes Notes on Proving Arithmetic

More information

Propositional Logic: Semantics

Propositional Logic: Semantics Propositional Logic: Semantics Alice Gao Lecture 4, September 19, 2017 Semantics 1/56 Announcements Semantics 2/56 The roadmap of propositional logic Semantics 3/56 FCC spectrum auction an application

More information

Fooling Sets and. Lecture 5

Fooling Sets and. Lecture 5 Fooling Sets and Introduction to Nondeterministic Finite Automata Lecture 5 Proving that a language is not regular Given a language, we saw how to prove it is regular (union, intersection, concatenation,

More information

First Order Logic: Syntax and Semantics

First Order Logic: Syntax and Semantics CS1081 First Order Logic: Syntax and Semantics COMP30412 Sean Bechhofer sean.bechhofer@manchester.ac.uk Problems Propositional logic isn t very expressive As an example, consider p = Scotland won on Saturday

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

Problems from Probability and Statistical Inference (9th ed.) by Hogg, Tanis and Zimmerman.

Problems from Probability and Statistical Inference (9th ed.) by Hogg, Tanis and Zimmerman. Math 224 Fall 2017 Homework 1 Drew Armstrong Problems from Probability and Statistical Inference (9th ed.) by Hogg, Tanis and Zimmerman. Section 1.1, Exercises 4,5,6,7,9,12. Solutions to Book Problems.

More information

F. Deubzer and U. Lindemann Institute of Product Development, Technische Universität München

F. Deubzer and U. Lindemann Institute of Product Development, Technische Universität München 10 TH INTERNATIONAL DESIGN STRUCTURE MATRIX CONFERENCE, DSM 08 11 12 NOVEMBER 2008, STOCKHOLM, SWEDEN FUNCTIONAL MODELLING FOR DESIGN SYNTHESIS USING MDM METHODOLOGY F. Deubzer and U. Lindemann Institute

More information

This is Solving Linear Systems, chapter 3 from the book Advanced Algebra (index.html) (v. 1.0).

This is Solving Linear Systems, chapter 3 from the book Advanced Algebra (index.html) (v. 1.0). This is Solving Linear Systems, chapter 3 from the book Advanced Algebra (index.html) (v. 1.0). This book is licensed under a Creative Commons by-nc-sa 3.0 (http://creativecommons.org/licenses/by-nc-sa/

More information

18.175: Lecture 2 Extension theorems, random variables, distributions

18.175: Lecture 2 Extension theorems, random variables, distributions 18.175: Lecture 2 Extension theorems, random variables, distributions Scott Sheffield MIT Outline Extension theorems Characterizing measures on R d Random variables Outline Extension theorems Characterizing

More information

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 15 Propositional Calculus (PC)

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 15 Propositional Calculus (PC) Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras Lecture - 15 Propositional Calculus (PC) So, now if you look back, you can see that there are three

More information

Probability (Devore Chapter Two)

Probability (Devore Chapter Two) Probability (Devore Chapter Two) 1016-345-01: Probability and Statistics for Engineers Fall 2012 Contents 0 Administrata 2 0.1 Outline....................................... 3 1 Axiomatic Probability 3

More information