Lecture 10: Requirements Engineering. Wrap-Up. Softwaretechnik / Software-Engineering. Pre-Charts (Again)
|
|
- Stella Waters
- 5 years ago
- Views:
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
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: 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 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 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 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 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 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 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 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 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 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 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 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 informationSafety 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 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 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 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 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 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 informationA 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 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 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 informationRequirements 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 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 informationCOMP6463: λ-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 informationLecture 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 informationLesson 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 informationLecture 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 informationThe 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 informationEXPERIMENT : 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 informationLecture 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 informationDiscrete 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 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 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 informationFormal 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 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 informationNICTA 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 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 informationOverview. 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 informationFurther 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 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 informationCSE 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 informationFundamentals 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 informationObject 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 informationAnnouncements. 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)
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 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 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 informationECEN 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 informationEGR224 F 18 Assignment #4
EGR224 F 18 Assignment #4 ------------------------------------------------------------------------------------------------------------- Due Date: Friday (Section 10), October 19, by 5 pm (slide it under
More informationAutomata-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 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 informationTuring 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 informationFormal 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 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 informationTuring 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 informationTESTING 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 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 informationTransition 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 informationCS 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 informationMath 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 informationProving 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 informationSequential 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 informationEXAM 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 informationAutomated 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 informationNumbers. 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 informationName: 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 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 information6.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 informationLecture 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 informationDiscrete 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 informationSoftwaretechnik / 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 informationDon 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 informationN/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 informationLecture 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 informationCSCI3390-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 informationHalting 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 informationModel 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 informationCS 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 informationEqualities 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 informationModal 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 informationVLSI 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 informationTesting 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 informationAutomated 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 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 information2 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 information20.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 informationMidterm 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 informationNotes 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 informationPropositional 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 informationFooling 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 informationFirst 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 informationChapter 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 informationProblems 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 informationF. 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 informationThis 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 information18.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 informationMathematical 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 informationProbability (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