Lecture 2: Semantical Model

Size: px
Start display at page:

Download "Lecture 2: Semantical Model"

Transcription

1 Software Design, Modelling and Analysis in UML Lecture 2: Semantical Model Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany main

2 ->enable_water(); Idle drinkready C50 OK waitok E1 have_c50> ->enable_soft(); C50 have_c100_or_e1> have_e1 have_c100 E1/itsChoicePanel->enableSoft(); W3 S3 T3 E1/itsChanger ->giveback_100() C50/itsChoicePanel C50 on DWATER/ Prepare_Water(); itscoinvalidator ->GEN(OK); DSOFT/ Prepare_Soft(); itscoinvalidator ->GEN(OK); DTEA/ Prepare_Tea(); itscoinvalidator ->GEN(OK); have_c150> ->enable_tea(); ->giveback_100() C50/ itschanger ->giveback_50() S2 T2 W2 FillingUp DWATER/ Prepare_Water(); itscoinvalidator ->GEN(OK); DSOFT/ Prepare_Soft(); itscoinvalidator ->GEN(OK); DTEA/ Prepare_Tea(); itscoinvalidator ->GEN(OK); Inactive FILLUP/itsCoinValidator ->update_choicepanel(); S1 T1 W1 WATER[Water_enabled] SOFT[Soft_enabled] TEA[Tea_enabled] DWATER/ Prepare_Water(); itscoinvalidator ->GEN(OK); DSOFT/ Prepare_Soft(); itscoinvalidator ->GEN(OK); DTEA/ Prepare_Tea(); itscoinvalidator ->GEN(OK); Water_selected Soft_selected Tea_selected Soft_out Tea_out /disable_all(); Water_out if (itscoinvalidator->is_in(have_c150)) itschanger->giveback_50(); itschanger->giveback_50(); /itsdrinkdispenser ->GEN(DTEA) Request_sent Course Map Entry Action: itschoicepanel Entry Action: itschoicepanel Entry Action: itschoicepanel /itsdrinkdispenser ->GEN(DWATER); itschanger->giveback_100(); else if (itscoinvalidator->is_in(have_c100)) VendingMachine ->enable_water(); E1/ itschanger /itsdrinkdispenser ->GEN(DSOFT); if (itscoinvalidator ->IS_IN(have_c150)) LSC: buy water AC: true AM: invariant I: strict 1 :CoinValidator +fallthrough():void +update_choicepanel() +C50() +E1() +OK() :ChoicePanel Water_enabled : int Soft_enabled : int Tea_enabled : int +disable_all():void +enable_water():void +enable_soft():void +enable_tea():void +WATER() +SOFT() +TEA() +ChoicePanel() 1 1 :DrinkDispenser +Prepare_Water():void +Prepare_Soft():void 1 +Prepare_Tea():void +DWATER() +DTEA() +DSOFT() +FILLUP() 1 1 :Changer 1 +giveback_100():void +giveback_50():void User CoinValidator ChoicePanel Dispenser C50 pwater water_in_stock OK dwater UML W N E CD,SM ϕ OCL CD,SD S Model S = (T, C,V,atr),SM M = (Σ D S,A S, SM ) expr S,SD B = (Q SD,q 0,A S, SD,F SD ) Sleplan Instances π = (σ 0,ε 0 ) (cons 0,Snd 0 ) u 0 (σ 1,ε 1 ) w π = ((σ i,cons i,snd i )) i N G = (N,E,f) OD Mathematics UML 2/20

3 Content Basic Object System Signature (basic) types, classes, typed attributes, attribute mapping. Basic Object System Structure objects / object identities, domains of basic and derived types. System State concrete and symbolic, dangling references, A Complete Example Scontent 3/20

4 Semantical Foundation 4/ main

5 Basic Object System Signature Definition. A (Basic) Object System Signature is a quadruple S = (T, C,V,atr) where T is a set of (basic) types, C is a finite set of classes, V is a finite set of typed attributes, i.e., eachv V has a type τ T, or C 0,1 orc, wherec C (writtenv : τ orv : C 0,1 orv : C ), atr : C 2 V maps each class to its set of attributes. Note: Inspired by OCL 2.0 standard OMG (2006), Annex A. 5/20

6 Basic Object System Signature Example S = (T, C,V,atr) where (basic) types T and classes C (both finite), typed attributesv,τ from T, orc 0,1 orc, for somec C, atr : C 2 V mapping classes to attributes. Example: S 0 = ({Int},{C,D},{x : Int,p : C 0,1,n : C },{C {p,n},d {x}}) 6/20

7 Basic Object System Signature Another Example S = (T, C,V,atr) where (basic) types T and classes C (both finite), typed attributesv,τ from T, orc 0,1 orc, for somec C, atr : C 2 V mapping classes to attributes. Example: 7/20

8 Basic Object System Structure Definition. A Basic Object System Structure of S = (T, C,V,atr) is a domain function D which assigns to each type a domain, i.e. τ T is mapped to D(τ), C C is mapped to an infinite set D(C) of (object) identities. Note: Object identities only have the =" operation. Sets of object identities for different classes are disjoint, i.e. C,D C : C D D(C) D(D) =. C andc 0,1 forc C are mapped to2 D(C). We use D(C) to denote C C D(C); analogously D(C ). Note: We identify objects and object identities, because both uniquely determine each other (cf. OCL 2.0 standard). 8/20

9 Basic Object System Structure Example Wanted: a structure for signature S 0 = ({Int},{C,D},{x : Int,p : C 0,1,n : C },{C {p,n},d {x}}) D needs to map: τ T to some D(τ), C C to some set of identities D(C) (infinite, disjoint for different classes), C andc 0,1 forc C : always mapped to D(C ) = D(C 0,1 ) = 2 D(C). D(Int) = Z D(C) = N + {C} = {1 C,2 C,3 C,...} D(D) = N + {D} = {1 D,2 D,3 D,...} D(C 0,1 ) = D(C ) = 2 D(C) D(D 0,1 ) = D(D ) = 2 D(D) 9/20

10 System State Definition. Let D be a structure of S = (T, C,V,atr). A system state of S wrt. D is a type-consistent mapping σ : D(C) (V (D(T ) D(C ))). That is, for eachu D(C),C C, ifu dom(σ) dom(σ(u)) = atr(c) σ(u)(v) D(τ) ifv : τ,τ T σ(u)(v) D(D ) ifv : D 0,1 orv : D withd C We callu D(C) alive inσ if and only ifu dom(σ). We useσ D S to denote the set of all system states of S wrt.d. 10/20

11 System State Example S 0 = ({Int},{C,D},{x : Int,p : C 0,1,n : C },{C {p,n},d {x}}) D(Int) = Z, D(C) = {1 C,2 C,3 C,...}, D(D) = {1 D,2 D,3 D,...} Wanted: σ : D(C) (V (D(T ) D(C ))) such that (i)dom(σ(u)) = atr(c), and (ii)σ(u)(v) D(τ) ifv : τ,τ T, (iii)σ(u)(v) D(C ) ifv : D withd C. 11/20

12 System State Example S 0 = ({Int},{C,D},{x : Int,p : C 0,1,n : C },{C {p,n},d {x}}) D(Int) = Z, D(C) = {1 C,2 C,3 C,...}, D(D) = {1 D,2 D,3 D,...} Wanted: σ : D(C) (V (D(T ) D(C ))) such that (i)dom(σ(u)) = atr(c), and (ii)σ(u)(v) D(τ) ifv : τ,τ T, (iii)σ(u)(v) D(C ) ifv : D withd C. Two options: Concrete, explicit identities: σ = {1 C {p,n {5 C }},5 C {p,n },1 D {x 23}}. Alternative: symbolic system state. σ = {c 1 {p,n {c 2 }},c 2 {p,n },d {x 23}} assumingc 1,c 2 D(C),d D(D),c 1 c 2. 12/20

13 System State: Spot the 10 (?) Mistakes S 0 = ({Int},{C,D},{x : Int,p : C 0,1,n : C },{C {p,n},d {x}}) D(Int) = Z, D(C) = {1 C,2 C,3 C,...}, D(D) = {1 D,2 D,3 D,...} Wanted: σ : D(C) (V (D(T ) D(C ))) such that (i)dom(σ(u)) = atr(c), and (ii)σ(u)(v) D(τ) ifv : τ,τ T, (iii)σ(u)(v) D(C ) ifv : D withd C. σ = {1 C {p,n {5 C }}, 5 C {p,n 1 C }, 1 D {x 2.3}}. σ = {1 C {p,n {5 C }}, 5 C {p 1 C,n }, 1 D {x 23}}. σ = {1 C {p,n {1 D }}, 5 C {p,n }, 1 D {x 22}}. σ = {1 C {p,n {5 C }}, 5 C {n }, 1 D {x 1,p {1 C }}}. σ = {1 C {p,n {5 C }}, 5 C {p,n {9 C }}} 13/20

14 Dangling References Definition. Letσ Σ D S be a system state. We say attributev V 0,1,, i.e. v : C 0,1 or v : C, in object u dom(σ) has a dangling reference if and only if the attribute s value comprises an object which is not alive inσ, i.e. if σ(u)(v) dom(σ). We callσ closed if and only if no attribute has a dangling reference in any object alive inσ. Example: σ = {1 C {p,n {5 C }}} 14/20

15 A Complete Example: Vending Machine Structure 15/20

16 You Are Here. 16/ main

17 Course Map UML CD,SM ϕ OCL CD,SD Model S = (T, C,V,atr),SM M = (Σ D S,A S, SM ) expr S,SD B = (Q SD,q 0,A S, SD,F SD ) Instances π = (σ 0,ε 0 ) (cons 0,Snd 0 ) u 0 (σ 1,ε 1 ) w π = ((σ i,cons i,snd i )) i N G = (N,E,f) Mathematics main OD UML 17/20

18 Tell Them What You ve Told Them... We can directly use object system signatures to model the structure of systems. We don t need diagrams, they will be more pleasent to read. We introduce basic types and classes, basic type and derived type attributes, and assign to each class a set of attributes. Object system structures provide domains for basic and derived types. An object system signature S and an object system structure D uniquely define the setσ D S of system states. Outlook: Sttwytt Object system signatures will be used to capture the abstract syntax of class diagrams. OCL expressions will be evaluated on system states. State machines will define sequences of system configurations (consisting of a system state and an ether). 18/20

19 References 19/ main

20 References OMG (2006). Object Constraint Language, version 2.0. Technical Report formal/ OMG (2011a). Unified modeling language: Infrastructure, version Technical Report formal/ OMG (2011b). Unified modeling language: Superstructure, version Technical Report formal/ main 20/20

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

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

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

More information

Lecture 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

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

Lecture 4: OCL Semantics

Lecture 4: OCL Semantics Software Design, Modelling and Analysis in UML Lecture 4: OCL Semantics 2016-11-03 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 4 2016-11-03 main Content

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

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 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 13: Behavioural Software Modelling

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

More information

Lecture 15: Software Quality Assurance

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

More information

Lecture 5: Object Diagrams

Lecture 5: Object Diagrams Softwae Design, Modelling and Analysis in UML Lectue 5: Object Diagams 2016-11-10 Pof. D. Andeas Podelski, D. Bend Westphal Albet-Ludwigs-Univesität Feibug, Gemany 5 2016-11-10 main Content Object Constaint

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

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

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

More information

Lecture 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

Lecture 3: Duration Calculus I

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

More information

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

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach

EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types

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

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

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

More information

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

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

Formal Conformance Testing 2006

Formal Conformance Testing 2006 Formal Conformance Testing 2006 Lecture 1 14th Sep 2006 Welcome! This is T-79.5304: Formal Conformance Testing Lectures from 10 to 12 am, no regular tutorials Cancellations and other notes at the web page

More information

Limitations of OCAML records

Limitations of OCAML records Limitations of OCAML records The record types must be declared before they are used; a label e can belong to only one record type (otherwise fun x x.e) would have several incompatible types; we cannot

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

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

Clocks Model for Specification and Analysis of Timing in Real-Time Embedded Systems

Clocks Model for Specification and Analysis of Timing in Real-Time Embedded Systems Clocks Model for Specification and Analysis of Timing in Real-Time Embedded Systems Iryna Zaretska 1, Galyna Zholtkevych 1, Grygoriy Zholtkevych 1 and Frédéric Mallet 2 1 V.N. Karazin Kharkiv National

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

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

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

More information

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

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

Formal Methods for Java

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

More information

Erly Marsh - a Model-Based Testing tool. Johan Blom, PhD

Erly Marsh - a Model-Based Testing tool. Johan Blom, PhD Erly Marsh - a Model-Based Testing tool Johan Blom, PhD 1 Motivation Mobile Arts Develops server software for mobile telecom operators (Location server, SMSC etc.) Implementations rather big and complicated

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

Research Report 326 ISBN ISSN

Research Report 326 ISBN ISSN University of Oslo Department of Informatics How to transform UML neg into a useful construct Ragnhild Kobro Runde, Øystein Haugen, Ketil Stølen Research Report 326 ISBN 82-7368-280-3 ISSN 0806-3036 November

More information

Languages. Languages. An Example Grammar. Grammars. Suppose we have an alphabet V. Then we can write:

Languages. Languages. An Example Grammar. Grammars. Suppose we have an alphabet V. Then we can write: Languages A language is a set (usually infinite) of strings, also known as sentences Each string consists of a sequence of symbols taken from some alphabet An alphabet, V, is a finite set of symbols, e.g.

More information

Towards a Mechanised Denotational Semantics for Modelica

Towards a Mechanised Denotational Semantics for Modelica Towards a Mechanised Denotational Semantics for Modelica Simon Foster Bernhard Thiele Jim Woodcock Peter Fritzson Department of Computer Science, University of York PELAB, Linköping University 3rd February

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

The Situation Today A Software Engineering Problem. An Interactive Proof Environment for Object-oriented Specifications.

The Situation Today A Software Engineering Problem. An Interactive Proof Environment for Object-oriented Specifications. Motivation An Interactive Proof Environment for Object-oriented Specifications Achim D. Brucker brucker@inf.ethz.ch http://www.brucker.ch/ Information Security, ETH Zurich, Switzerland March 9th, 2007

More information

This Lecture will Cover...

This Lecture will Cover... Last Lecture Covered... DFAs, NFAs, -NFAs and the equivalence of the language classes they accept Last Lecture Covered... This Lecture will Cover... Introduction to regular expressions and regular languages

More information

CFLs and Regular Languages. CFLs and Regular Languages. CFLs and Regular Languages. Will show that all Regular Languages are CFLs. Union.

CFLs and Regular Languages. CFLs and Regular Languages. CFLs and Regular Languages. Will show that all Regular Languages are CFLs. Union. We can show that every RL is also a CFL Since a regular grammar is certainly context free. We can also show by only using Regular Expressions and Context Free Grammars That is what we will do in this half.

More information

CS154, Lecture 10: Rice s Theorem, Oracle Machines

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

More information

Lecture 10: PLC Automata

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

More information

Formal Methods for Java

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

More information

Introduction and Motivation. Introduction and Motivation. Introduction to Computability. Introduction and Motivation. Theory. Lecture5: Context Free

Introduction and Motivation. Introduction and Motivation. Introduction to Computability. Introduction and Motivation. Theory. Lecture5: Context Free ntroduction to Computability Theory Lecture5: Context Free Languages Prof. Amos sraeli 1 ntroduction and Motivation n our study of RL-s we Covered: 1. Motivation and definition of regular languages. 2.

More information

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

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

More information

Verification of Recursive Programs. Andreas Podelski February 8, 2012

Verification of Recursive Programs. Andreas Podelski February 8, 2012 Verification of Recursive Programs Andreas Podelski February 8, 2012 1 m(x) = x 10 if x > 100 m(m(x + 11)) if x 100 2 procedure m(x) returns (res) `0: if x>100 `1: res:=x-10 else `2: x m := x+11 `3: res

More information

State-Dependent Representation Independence (Technical Appendix)

State-Dependent Representation Independence (Technical Appendix) State-Dependent Representation Independence (Technical Appendix) Amal Ahmed Derek Dreyer Andreas Rossberg TTI-C MPI-SWS MPI-SWS amal@tti-c.org dreyer@mpi-sws.mpg.de rossberg@mpi-sws.mpg.de Contents August

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

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures CS 6110 S18 Lecture 21 Products, Sums, and Other Datatypes 1 Introduction In this lecture, we add constructs to the typed λ-calculus that allow working with more complicated data structures, such as pairs,

More information

KB Agents and Propositional Logic

KB Agents and Propositional Logic Plan Knowledge-Based Agents Logics Propositional Logic KB Agents and Propositional Logic Announcements Assignment2 mailed out last week. Questions? Knowledge-Based Agents So far, what we ve done is look

More information

Bringing class diagrams to life

Bringing class diagrams to life Bringing class diagrams to life Luis S. Barbosa & Sun Meng DI-CCTC, Minho University, Braga & CWI, Amsterdam UML & FM Workshop 2009 Rio de Janeiro 8 December, 2009 Formal Methods proofs problems structures

More information

Performance Modeling of Distributed Collaboration Services with Independent Inputs/Outputs

Performance Modeling of Distributed Collaboration Services with Independent Inputs/Outputs Performance Modeling of Distributed Collaboration Services with Independent Inputs/Outputs Toqeer Israr, Gregor v Bochmann Department of Electrical Engineering and Computer Science University of Ottawa

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

Propositional Logic: Semantics and an Example

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

More information

A Sample State Machine

A Sample State Machine A Sample State Machine Environment Signatures An environment signature is a triple of sets of guards, actions, and messages. H = (G H, A H, M H ) Guards: formulas in some logical language, e.g. OCL. Actions

More information

Algebraic Trace Theory

Algebraic Trace Theory Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, Trace Theory for Automatic Verification of Real-Time Concurrent Systems, PhD thesis, CMU, August 1992 October 21, 2002 ee249

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

Algebraic Trace Theory

Algebraic Trace Theory Algebraic Trace Theory EE249 Presented by Roberto Passerone Material from: Jerry R. Burch, Trace Theory for Automatic Verification of Real-Time Concurrent Systems, PhD thesis, CMU, August 1992 October

More information

Reducibility in polynomialtime computable analysis. Akitoshi Kawamura (U Tokyo) Wadern, Germany, September 24, 2015

Reducibility in polynomialtime computable analysis. Akitoshi Kawamura (U Tokyo) Wadern, Germany, September 24, 2015 Reducibility in polynomialtime computable analysis Akitoshi Kawamura (U Tokyo) Wadern, Germany, September 24, 2015 Computable Analysis Applying computability / complexity theory to problems involving real

More information

Type Inference. For the Simply-Typed Lambda Calculus. Peter Thiemann, Manuel Geffken. Albert-Ludwigs-Universität Freiburg. University of Freiburg

Type Inference. For the Simply-Typed Lambda Calculus. Peter Thiemann, Manuel Geffken. Albert-Ludwigs-Universität Freiburg. University of Freiburg Type Inference For the Simply-Typed Lambda Calculus Albert-Ludwigs-Universität Freiburg Peter Thiemann, Manuel Geffken University of Freiburg 24. Januar 2013 Outline 1 Introduction 2 Applied Lambda Calculus

More information

IE1204 Digital Design. L10: State Machines (Part 2) Masoumeh (Azin) Ebrahimi Elena Dubrova

IE1204 Digital Design. L10: State Machines (Part 2) Masoumeh (Azin) Ebrahimi Elena Dubrova IE1204 Digital Design L10: State Machines (Part 2) Masoumeh (Azin) Ebrahimi (masebr@kth.se) Elena Dubrova (dubrova@kth.se) KTH / ICT / ES This lecture BV pp. 528-532, 557-567 IE1204 Digital Design, Autumn2015

More information

Process Algebras and Concurrent Systems

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

More information

Decision Trees.

Decision Trees. . Machine Learning Decision Trees 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

Accuracy of Admissible Heuristic Functions in Selected Planning Domains

Accuracy of Admissible Heuristic Functions in Selected Planning Domains Accuracy of Admissible Heuristic Functions in Selected Planning Domains Malte Helmert Robert Mattmüller Albert-Ludwigs-Universität Freiburg, Germany AAAI 2008 Outline 1 Introduction 2 Analyses 3 Summary

More information

Model Checking for Time Division Multiple Access Systems

Model Checking for Time Division Multiple Access Systems Model Checking for Time Division Multiple Access Systems zur Erlangung des Doktorgrades der technischen Fakultät der Albert-Ludwigs-Universität Freiburg im Breisgau von Marco Antonio Muñiz Rodríguez 15.

More information

Outline. CS21 Decidability and Tractability. Machine view of FA. Machine view of FA. Machine view of FA. Machine view of FA.

Outline. CS21 Decidability and Tractability. Machine view of FA. Machine view of FA. Machine view of FA. Machine view of FA. Outline CS21 Decidability and Tractability Lecture 5 January 16, 219 and Languages equivalence of NPDAs and CFGs non context-free languages January 16, 219 CS21 Lecture 5 1 January 16, 219 CS21 Lecture

More information

Compositions of Tree Series Transformations

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

More information

Applied Computer Science II Chapter 1 : Regular Languages

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

More information

Foundations of Artificial Intelligence

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

More information

Foundations of Artificial Intelligence

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

More information

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

Consistency, Optimality, and Incompleteness

Consistency, Optimality, and Incompleteness Consistency, Optimality, and Incompleteness Yijia Chen Shanghai Jiaotong University, China Jörg Flum Albert-Ludwigs-Universität Freiburg, Germany Moritz Müller Kurt Gödel Research Center, University of

More information

Software Specification 2IX20

Software Specification 2IX20 Software Specification 2IX20 Julien Schmaltz (with slides jointly with J. Tretmans, TNO&RUN) Lecture 11: Introduction to Model-Based Testing Context & Motivation Testing Testing: checking or measuring

More information

Compiler Design Spring 2017

Compiler Design Spring 2017 Compiler Design Spring 2017 8.5 Reaching definitions Dr. Zoltán Majó Compiler Group Java HotSpot Virtual Machine Oracle Corporation Admin issues Brief reminder: Code review takes place today @ 15:15 You

More information

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw Applied Logic Lecture 1 - Propositional logic Marcin Szczuka Institute of Informatics, The University of Warsaw Monographic lecture, Spring semester 2017/2018 Marcin Szczuka (MIMUW) Applied Logic 2018

More information

Linear Temporal Logic (LTL)

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

More information

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Summer 2012

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Summer 2012 Decision Procedures Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Summer 2012 Jochen Hoenicke (Software Engineering) Decision Procedures Summer 2012 1 / 28 Quantifier-free Rationals

More information

Reasoning Under Uncertainty: Introduction to Probability

Reasoning Under Uncertainty: Introduction to Probability Reasoning Under Uncertainty: Introduction to Probability CPSC 322 Lecture 23 March 12, 2007 Textbook 9 Reasoning Under Uncertainty: Introduction to Probability CPSC 322 Lecture 23, Slide 1 Lecture Overview

More information

Mechanics Physics 151

Mechanics Physics 151 Mechanics Physics 151 Lecture 4 Continuous Systems and Fields (Chapter 13) What We Did Last Time Built Lagrangian formalism for continuous system Lagrangian L Lagrange s equation = L dxdydz Derived simple

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

Mathematical Foundations of Programming. Nicolai Kraus. Draft of February 15, 2018

Mathematical Foundations of Programming. Nicolai Kraus. Draft of February 15, 2018 Very short lecture notes: Mathematical Foundations of Programming University of Nottingham, Computer Science, module code G54FOP, Spring 2018 Nicolai Kraus Draft of February 15, 2018 What is this? This

More information

CHRISTIAN-ALBRECHTS-UNIVERSITÄT KIEL

CHRISTIAN-ALBRECHTS-UNIVERSITÄT KIEL INSTITUT FÜR INFORMATIK UND PRAKTISCHE MATHEMATIK A Constraint-Based Algorithm for Contract-Signing Protocols Detlef Kähler, Ralf Küsters Bericht Nr. 0503 April 2005 CHRISTIAN-ALBRECHTS-UNIVERSITÄT KIEL

More information

Semantics of UML state machines

Semantics of UML state machines 1 Otto-von-Guericke Universität Magdeburg, Germany May 27, 2015 A Sample State Machine stm ATM Behaviour Idle usercom.card(c) / cardid = c CardEntered usercom.pin(p) / pin = p PINEntered [trialsnum >=

More information

Ordinary Differential Equations II

Ordinary Differential Equations II Ordinary Differential Equations II CS 205A: Mathematical Methods for Robotics, Vision, and Graphics Justin Solomon CS 205A: Mathematical Methods Ordinary Differential Equations II 1 / 33 Almost Done! Last

More information

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1

Software Verification using Predicate Abstraction and Iterative Refinement: Part 1 using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models

More information

Automata and Languages

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

More information

Software Verification 1 Deductive Verification

Software Verification 1 Deductive Verification Software Verification 1 Deductive Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für offene Kommunikationssysteme FOKUS 21.5.2015 Folie

More information

Table of Contents. Preface...viii. Acknowledgment... xiv. Section 1 Basics

Table of Contents. Preface...viii. Acknowledgment... xiv. Section 1 Basics Table of Contents Preface...viii Acknowledgment... xiv Section 1 Basics Chapter 1 Reverse Engineering and MDA: An Introduction... 1 Introduction... 1 Reverse Engineering in the Last 20 Years... 4 Reverse

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

Computational Models - Lecture 4

Computational Models - Lecture 4 Computational Models - Lecture 4 Regular languages: The Myhill-Nerode Theorem Context-free Grammars Chomsky Normal Form Pumping Lemma for context free languages Non context-free languages: Examples Push

More information

Foundations of Informatics: a Bridging Course

Foundations of Informatics: a Bridging Course Foundations of Informatics: a Bridging Course Week 3: Formal Languages and Semantics Thomas Noll Lehrstuhl für Informatik 2 RWTH Aachen University noll@cs.rwth-aachen.de http://www.b-it-center.de/wob/en/view/class211_id948.html

More information

Machine Learning for Signal Processing Sparse and Overcomplete Representations

Machine Learning for Signal Processing Sparse and Overcomplete Representations Machine Learning for Signal Processing Sparse and Overcomplete Representations Abelino Jimenez (slides from Bhiksha Raj and Sourish Chaudhuri) Oct 1, 217 1 So far Weights Data Basis Data Independent ICA

More information

A Calculus of Definitions

A Calculus of Definitions A Calculus of Definitions June 13, 2017 1 Type theory We describe how to implement a core type theory. This is very close to a functional programming language with λ abstraction and data types defined

More information

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Winter Term 2016/17

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Winter Term 2016/17 Decision Procedures Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Winter Term 2016/17 Jochen Hoenicke (Software Engineering) Decision Procedures Winter Term 2016/17 1 / 436 Program

More information

Concurrent LSC Verification

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

More information

Reasoning about Strategies: From module checking to strategy logic

Reasoning about Strategies: From module checking to strategy logic Reasoning about Strategies: From module checking to strategy logic based on joint works with Fabio Mogavero, Giuseppe Perelli, Luigi Sauro, and Moshe Y. Vardi Luxembourg September 23, 2013 Reasoning about

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

Propositional and Predicate Logic

Propositional and Predicate Logic Formal Verification of Software Propositional and Predicate Logic Bernhard Beckert UNIVERSITÄT KOBLENZ-LANDAU B. Beckert: Formal Verification of Software p.1 Propositional Logic: Syntax Special symbols

More information