Semantics and Verification of Software
|
|
|
- Vivien Pitts
- 10 years ago
- Views:
Transcription
1 Semantics and Verification of Software Lecture 21: Nondeterminism and Parallelism IV (Equivalence of CCS Processes & Wrap-Up) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) [email protected] Winter Semester 2011/12
2 Outline 1 Repetition: Calculus of Communicating Systems 2 Equivalence of CCS Processes 3 Strong Bisimulation 4 Further Topics in Formal Semantics 5 Upcoming Courses Semantics and Verification of Software Winter Semester 2011/
3 Syntax of CCS I Definition (Syntax of CCS) Let N be a set of (action) names. N := {a a N} denotes the set of co-names. Act := N N {τ} is the set of actions where τ denotes the silent (or: unobservable) action. Let Pid be a set of process identifiers. The set Prc of process expressions is defined by the following syntax: P ::= nil (inaction) α.p (prefixing) P 1 + P 2 (choice) P 1 P 2 (parallel composition) new a P (restriction) A(a 1,..., a n ) (process call) where α Act, a, a i N, and A Pid. Semantics and Verification of Software Winter Semester 2011/
4 Semantics of CCS I Definition (Semantics of CCS) A process definition (A i (a i1,..., a ini ) = P i 1 i k) determines the labeled transition system (LTS) (Prc, Act, ) whose transitions can be inferred from the following rules (P, P, Q, Q Prc, α Act, λ N N, a, b N, A Pid): λ P Q λ Q (Act) α.p α P (Com) P P Q P α P Q (Sum 1) P + Q α P (Sum 2) P + Q P α P (Par 1) P Q α P Q τ P Q α Q α Q Q α Q (Par 2) P Q α P Q P α P (α / {a, a}) P[ a α b] P (New) new a P α new a P (Call) A( if A( a) = P α b) P (Here P[ a b] denotes the replacement of every a i by b i in P.) Semantics and Verification of Software Winter Semester 2011/
5 Semantics of CCS II Example (on the board) 1 One-place buffer: 2 Sequential two-place buffer: 3 Parallel two-place buffer: B(in, out) = in.out.b(in, out) B 0 (in, out) = in.b 1 (in, out) B 1 (in, out) = out.b 0 (in, out) + in.b 2 (in, out) B 2 (in, out) = out.b 1 (in, out) B (in, out) = new com (B(in, com) B(com, out)) B(in, out) = in.out.b(in, out) Semantics and Verification of Software Winter Semester 2011/
6 Semantics of CCS III Example (continued) Complete LTS of parallel two-place buffer (=: LTS(B (in, out))): B (in, out) new com (B(in, com) B(com, out)) empty in in out new com (com.b(in, com) B(com, out)) τ new com (B(in, com) out.b(com, out)) 1 entry out in new com (com.b(in, com) out.b(com, out)) full Semantics and Verification of Software Winter Semester 2011/
7 Outline 1 Repetition: Calculus of Communicating Systems 2 Equivalence of CCS Processes 3 Strong Bisimulation 4 Further Topics in Formal Semantics 5 Upcoming Courses Semantics and Verification of Software Winter Semester 2011/
8 Equivalence of CCS Processes Generally: two syntactic objects are equivalent if they have the same meaning Here: two processes are equivalent if they have the same behavior (i.e., communication potential) Communication potential described by LTS First idea: define (for P, Q Prc) P, Q are called LTS equivalent if LTS(P) = LTS(Q) But: yields too many distinctions Example 21.1 LTS: X (a) = a.x (a) a Y (a) = a.a.y (a) a a although both processes can (only) execute infinitely many a-actions, and should therefore be considered equivalent Semantics and Verification of Software Winter Semester 2011/
9 Trace Equivalence I Second idea: reduce process to its action sequences Definition 21.2 (Trace language) For every P Prc, let Tr(P) := {w Act ex. P Prc such that P be the trace language of P (where w := a 1... a 1 for w = a 1... a n ). P, Q Prc are called trace equivalent if Tr(P) = Tr(Q). w P } Example 21.3 (One-place buffer) B(in, out) = in.out.b(in, out) Tr(B(in, out)) = (in out) (in + ε) Semantics and Verification of Software Winter Semester 2011/
10 Trace Equivalence II Remarks: The trace language of P Prc is accepted by the LTS of P, interpreted as an automaton with initial state P and where every state is final. Trace equivalence is obviously an equivalence relation (i.e., reflexive, symmetric, and transitive). Trace equivalence identifies processes with identical LTSs: the trace language of a process consists of the (finite) paths in the LTS. Thus: LTS(P) = LTS(Q) Tr(P) = Tr(Q) Semantics and Verification of Software Winter Semester 2011/
11 Trace Equivalence III Are we satisfied with trace equivalence? No! Example 21.4 P : a a b and Q : a b are trace equivalent (Tr(P) = Tr(Q) = {ε, a, ab}) But P and Q are distinguishable: both can execute ab but P can deny b after a while Q always has to offer b after a (e.g., consider a model of vending machine with a = insert coin, b = return coffee ) take into account such deadlock properties Semantics and Verification of Software Winter Semester 2011/
12 Outline 1 Repetition: Calculus of Communicating Systems 2 Equivalence of CCS Processes 3 Strong Bisimulation 4 Further Topics in Formal Semantics 5 Upcoming Courses Semantics and Verification of Software Winter Semester 2011/
13 Definition of Strong Bisimulation I Observation: equivalence should be sensitive to deadlocks needs to take branching structure of processes into account This is guaranteed by a definition according to the following scheme: Bisimulation scheme P, Q Prc are equivalent iff, for every α Act, every α-successor of P is equivalent to some α-successor of Q, and vice versa. Strong version ignores special function of silent action τ (alternative: weak bisimulation; not considered here) Unidirectional version: simulation (not considered here) Semantics and Verification of Software Winter Semester 2011/
14 Definition of Strong Bisimulation II Definition 21.5 (Strong bisimulation) A relation ρ Prc Prc is called a strong bisimulation if PρQ implies, for every α Act, 1 P α P ex. Q Prc such that Q α Q and P ρq 2 Q α Q ex. P Prc such that P α P and P ρq P, Q Prc are called strongly bisimilar (notation: P Q) if there exists a strong bisimulation ρ such that PρQ. Theorem 21.6 is an equivalence relation. Proof. omitted Semantics and Verification of Software Winter Semester 2011/
15 Examples Example 21.7 (on the board) 1 Bisimilar but not LTS equivalent (cf. Example 21.1): P a Q 1 a a Q 2 2 Trace equivalent (cf. Example 21.4) but not bisimilar: P a P 1 b P 2 Q a a Q 1 Q 3 b Q 2 Semantics and Verification of Software Winter Semester 2011/
16 Bisimulation vs. LTS/Trace Equivalence Theorem 21.8 For every P, Q Prc, LTS(P) = LTS(Q) P Q Tr(P) = Tr(Q) Proof. LTS(P) = LTS(Q) P Q: clear as Definition 21.5 (of ) is directly based on LTS(p) and LTS(Q) P Q LTS(p) = LTS(Q): see Example 21.7(1) P Q Tr(P) = Tr(Q): by contradiction (show: w Tr(P) \ Tr(Q) P Q by induction on w ) Tr(P) = Tr(Q) P Q: see Example 21.7(2) Semantics and Verification of Software Winter Semester 2011/
17 More Examples I Example 21.9 Binary semaphore (controls exclusive access to two instances of a resource) Sequential definition: Sem 0 (get, put) = get.sem 1 (get, put) Sem 1 (get, put) = get.sem 2 (get, put) + put.sem 0 (get, put) Sem 2 (get, put) = put.sem 1 (get, put) Parallel definition: S(get, put) = S 0 (get, put) S 0 (get, put) S 0 (get, put) = get.s 1 (get, put) S 1 (get, put) = put.s 0 (get, put) Proposition: Sem 0 (get, put) S(get, put) Semantics and Verification of Software Winter Semester 2011/
18 More Examples II Example Two-place buffer Sequential definition: B 0 (in, out) = in.b 1 (in, out) B 1 (in, out) = out.b 0 (in, out) + in.b 2 (in, out) B 2 (in, out) = out.b 1 (in, out) Parallel definition: B (in, out) = new com (B(in, com) B(com, out)) B(in, out) = in.out.b(in, out) Proposition: B 0 (in, out) B (in, out) Semantics and Verification of Software Winter Semester 2011/
19 Outline 1 Repetition: Calculus of Communicating Systems 2 Equivalence of CCS Processes 3 Strong Bisimulation 4 Further Topics in Formal Semantics 5 Upcoming Courses Semantics and Verification of Software Winter Semester 2011/
20 Semantics of Functional Languages I Program = list of function definitions Simplest setting: first-order function definitions of the form f (x 1,..., x n ) = t function name f formal parameters x 1,..., x n term t over (base and defined) function calls and x 1,..., x n Operational semantics (only function calls) call-by-value case: call-by-name case: t 1 z 1... t n z n t[x 1 z 1,..., x n z n ] z f (t 1,..., t n ) z t[x 1 t 1,..., x n t n ] z f (t 1,..., t n ) z Semantics and Verification of Software Winter Semester 2011/
21 Semantics of Functional Languages II Denotational semantics program = equation system (for functions) induces call-by-value and call-by-name functional monotonic and continuous w.r.t. graph inclusion semantics := least fixpoint (Tarski/Knaster Theorem) coincides with operational semantics Extensions: higher-order types, data types,... see [Winskel 1996, Sct. 9] and Functional Programming course [Giesl] Semantics and Verification of Software Winter Semester 2011/
22 Outline 1 Repetition: Calculus of Communicating Systems 2 Equivalence of CCS Processes 3 Strong Bisimulation 4 Further Topics in Formal Semantics 5 Upcoming Courses Semantics and Verification of Software Winter Semester 2011/
23 Courses Summer 2012 Course Advanced Model Checking [Katoen] Course Compiler Construction [Noll] ( Hiwi jobs available!) Semantics and Verification of Software Winter Semester 2011/
A Propositional Dynamic Logic for CCS Programs
A Propositional Dynamic Logic for CCS Programs Mario R. F. Benevides and L. Menasché Schechter {mario,luis}@cos.ufrj.br Abstract This work presents a Propositional Dynamic Logic in which the programs are
Software Model Checking. Equivalence Hierarchy
Software Equivalence Hierarchy Moonzoo Kim CS Dept. KAIST CS750B Software Korea Advanced Institute of Science and Technology Equivalence semantics and SW design Preliminary Hierarchy Diagram Trace-based
Software Verification and Testing. Lecture Notes: Temporal Logics
Software Verification and Testing Lecture Notes: Temporal Logics Motivation traditional programs (whether terminating or non-terminating) can be modelled as relations are analysed wrt their input/output
Andrew Pitts chapter for D. Sangorgi and J. Rutten (eds), Advanced Topics in Bisimulation and Coinduction, Cambridge Tracts in Theoretical Computer
Andrew Pitts chapter for D. Sangorgi and J. Rutten (eds), Advanced Topics in Bisimulation and Coinduction, Cambridge Tracts in Theoretical Computer Science No. 52, chapter 5, pages 197 232 ( c 2011 CUP)
Simulation-Based Security with Inexhaustible Interactive Turing Machines
Simulation-Based Security with Inexhaustible Interactive Turing Machines Ralf Küsters Institut für Informatik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany [email protected]
A Distributed Calculus for Role-Based Access Control
A Distributed Calculus for Role-Based Access Control Chiara Braghin joint work with D. Gorla and V. Sassone MyThS Meeting, Venice, June, 14th, 2004 A Distributed Calculus for Role-Based Access Control
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
Rigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical
Observational Program Calculi and the Correctness of Translations
Observational Program Calculi and the Correctness of Translations Manfred Schmidt-Schauss 1, David Sabel 1, Joachim Niehren 2, and Jan Schwinghammer 1 Goethe-University, Frankfurt, Germany 2 INRIA Lille,
Path Querying on Graph Databases
Path Querying on Graph Databases Jelle Hellings Hasselt University and transnational University of Limburg 1/38 Overview Graph Databases Motivation Walk Logic Relations with FO and MSO Relations with CTL
6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
Formal Verification and Linear-time Model Checking
Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging
Mathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
Temporal Logics. Computation Tree Logic
Temporal Logics CTL: definition, relationship between operators, adequate sets, specifying properties, safety/liveness/fairness Modeling: sequential, concurrent systems; maximum parallelism/interleaving
Lecture 2 Introduction to Data Flow Analysis
Lecture 2 Introduction to Data Flow Analysis I. Introduction II. Example: Reaching definition analysis III. Example: Liveness analysis IV. A General Framework (Theory in next lecture) Reading: Chapter
Fixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
Verification of hybrid dynamical systems
Verification of hybrid dynamical systems Jüri Vain Tallinn Technical University/Institute of Cybernetics [email protected] Outline What are Hybrid Systems? Hybrid automata Verification of hybrid systems Verification
Regular Languages and Finite Automata
Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a
ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear:
ω-automata ω-automata Automata that accept (or reject) words of infinite length. Languages of infinite words appear: in verification, as encodings of non-terminating executions of a program. in arithmetic,
Summary Last Lecture. Automated Reasoning. Outline of the Lecture. Definition sequent calculus. Theorem (Normalisation and Strong Normalisation)
Summary Summary Last Lecture sequent calculus Automated Reasoning Georg Moser Institute of Computer Science @ UIBK Winter 013 (Normalisation and Strong Normalisation) let Π be a proof in minimal logic
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
Chapter 7: Functional Programming Languages
Chapter 7: Functional Programming Languages Aarne Ranta Slides for the book Implementing Programming Languages. An Introduction to Compilers and Interpreters, College Publications, 2012. Fun: a language
Reading 13 : Finite State Automata and Regular Expressions
CS/Math 24: Introduction to Discrete Mathematics Fall 25 Reading 3 : Finite State Automata and Regular Expressions Instructors: Beck Hasti, Gautam Prakriya In this reading we study a mathematical model
Deterministic Discrete Modeling
Deterministic Discrete Modeling Formal Semantics of Firewalls in Isabelle/HOL Cornelius Diekmann, M.Sc. Dr. Heiko Niedermayer Prof. Dr.-Ing. Georg Carle Lehrstuhl für Netzarchitekturen und Netzdienste
Omega Automata: Minimization and Learning 1
Omega Automata: Minimization and Learning 1 Oded Maler CNRS - VERIMAG Grenoble, France 2007 1 Joint work with A. Pnueli, late 80s Summary Machine learning in general and of formal languages in particular
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Informatique Fondamentale IMA S8
Informatique Fondamentale IMA S8 Cours 1 - Intro + schedule + finite state machines Laure Gonnord http://laure.gonnord.org/pro/teaching/ [email protected] Université Lille 1 - Polytech Lille
Non-deterministic Semantics and the Undecidability of Boolean BI
1 Non-deterministic Semantics and the Undecidability of Boolean BI DOMINIQUE LARCHEY-WENDLING, LORIA CNRS, Nancy, France DIDIER GALMICHE, LORIA Université Henri Poincaré, Nancy, France We solve the open
On strong fairness in UNITY
On strong fairness in UNITY H.P.Gumm, D.Zhukov Fachbereich Mathematik und Informatik Philipps Universität Marburg {gumm,shukov}@mathematik.uni-marburg.de Abstract. In [6] Tsay and Bagrodia present a correct
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Automata and Formal Languages
Automata and Formal Languages Winter 2009-2010 Yacov Hel-Or 1 What this course is all about This course is about mathematical models of computation We ll study different machine models (finite automata,
Algorithmic Software Verification
Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal
Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007
Constant Propagation Class notes Program Analysis course given by Prof. Mooly Sagiv Computer Science Department, Tel Aviv University second lecture 8/3/2007 Osnat Minz and Mati Shomrat Introduction This
OPERATIONAL TYPE THEORY by Adam Petcher Prepared under the direction of Professor Aaron Stump A thesis presented to the School of Engineering of
WASHINGTON NIVERSITY SCHOOL OF ENGINEERING AND APPLIED SCIENCE DEPARTMENT OF COMPTER SCIENCE AND ENGINEERING DECIDING JOINABILITY MODLO GROND EQATIONS IN OPERATIONAL TYPE THEORY by Adam Petcher Prepared
Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan
Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan 3 Binary Operations We are used to addition and multiplication of real numbers. These operations combine two real numbers
Schedule. Logic (master program) Literature & Online Material. gic. Time and Place. Literature. Exercises & Exam. Online Material
OLC mputational gic Schedule Time and Place Thursday, 8:15 9:45, HS E Logic (master program) Georg Moser Institute of Computer Science @ UIBK week 1 October 2 week 8 November 20 week 2 October 9 week 9
MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set.
MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set. Vector space A vector space is a set V equipped with two operations, addition V V (x,y) x + y V and scalar
TRINITY COLLEGE DUBLIN
TRINITY COLLEGE DUBLIN COLÁISTE NA TRÍONÓIDE, BAILE ÁTHA CLIATH Modelling session types using contracts Giovanni Bernardi and Matthew Hennessy Computer Science Department Technical Report TCS-CS-2011-07
logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?
5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling
Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.
Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas [email protected] Background One basic goal in complexity theory is to separate interesting complexity
Introduction to Software Verification
Introduction to Software Verification Orna Grumberg Lectures Material winter 2013-14 Lecture 4 5.11.13 Model Checking Automated formal verification: A different approach to formal verification Model Checking
Basic Proof Techniques
Basic Proof Techniques David Ferry [email protected] September 13, 010 1 Four Fundamental Proof Techniques When one wishes to prove the statement P Q there are four fundamental approaches. This document
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding
The Software Development Process
Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016 Lecture 03 (26.10.2015) The Software Development Process Christoph Lüth Jan Peleska Dieter Hutter Your Daily Menu Models of software
Model Checking II Temporal Logic Model Checking
1/32 Model Checking II Temporal Logic Model Checking Edmund M Clarke, Jr School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 2/32 Temporal Logic Model Checking Specification Language:
INTRODUCTORY SET THEORY
M.Sc. program in mathematics INTRODUCTORY SET THEORY Katalin Károlyi Department of Applied Analysis, Eötvös Loránd University H-1088 Budapest, Múzeum krt. 6-8. CONTENTS 1. SETS Set, equal sets, subset,
COMPUTER SCIENCE TRIPOS
CST.98.5.1 COMPUTER SCIENCE TRIPOS Part IB Wednesday 3 June 1998 1.30 to 4.30 Paper 5 Answer five questions. No more than two questions from any one section are to be answered. Submit the answers in five
Scheduling Shop Scheduling. Tim Nieberg
Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations
CSE 135: Introduction to Theory of Computation Decidability and Recognizability
CSE 135: Introduction to Theory of Computation Decidability and Recognizability Sungjin Im University of California, Merced 04-28, 30-2014 High-Level Descriptions of Computation Instead of giving a Turing
Understanding Basic Calculus
Understanding Basic Calculus S.K. Chung Dedicated to all the people who have helped me in my life. i Preface This book is a revised and expanded version of the lecture notes for Basic Calculus and other
INF5140: Specification and Verification of Parallel Systems
INF5140: Specification and Verification of Parallel Systems Lecture 7 LTL into Automata and Introduction to Promela Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2007 Gerardo
The Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
Chapter ML:IV. IV. Statistical Learning. Probability Basics Bayes Classification Maximum a-posteriori Hypotheses
Chapter ML:IV IV. Statistical Learning Probability Basics Bayes Classification Maximum a-posteriori Hypotheses ML:IV-1 Statistical Learning STEIN 2005-2015 Area Overview Mathematics Statistics...... Stochastics
ML for the Working Programmer
ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming
Development of dynamically evolving and self-adaptive software. 1. Background
Development of dynamically evolving and self-adaptive software 1. Background LASER 2013 Isola d Elba, September 2013 Carlo Ghezzi Politecnico di Milano Deep-SE Group @ DEIB 1 Requirements Functional requirements
(LMCS, p. 317) V.1. First Order Logic. This is the most powerful, most expressive logic that we will examine.
(LMCS, p. 317) V.1 First Order Logic This is the most powerful, most expressive logic that we will examine. Our version of first-order logic will use the following symbols: variables connectives (,,,,
Baltic Way 1995. Västerås (Sweden), November 12, 1995. Problems and solutions
Baltic Way 995 Västerås (Sweden), November, 995 Problems and solutions. Find all triples (x, y, z) of positive integers satisfying the system of equations { x = (y + z) x 6 = y 6 + z 6 + 3(y + z ). Solution.
Determination of the normalization level of database schemas through equivalence classes of attributes
Computer Science Journal of Moldova, vol.17, no.2(50), 2009 Determination of the normalization level of database schemas through equivalence classes of attributes Cotelea Vitalie Abstract In this paper,
Theoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
MA651 Topology. Lecture 6. Separation Axioms.
MA651 Topology. Lecture 6. Separation Axioms. This text is based on the following books: Fundamental concepts of topology by Peter O Neil Elements of Mathematics: General Topology by Nicolas Bourbaki Counterexamples
Linear Types for Continuations
1/28 Linear Types for Continuations Alex Simpson LFCS, School of Informatics University of Edinburgh, UK Joint work with: Jeff Egger (LFCS, Edinburgh) Rasmus Møgelberg (ITU, Copenhagen) Linear Types for
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
Bindings, mobility of bindings, and the -quantifier
ICMS, 26 May 2007 1/17 Bindings, mobility of bindings, and the -quantifier Dale Miller, INRIA-Saclay and LIX, École Polytechnique This talk is based on papers with Tiu in LICS2003 & ACM ToCL, and experience
A first step towards modeling semistructured data in hybrid multimodal logic
A first step towards modeling semistructured data in hybrid multimodal logic Nicole Bidoit * Serenella Cerrito ** Virginie Thion * * LRI UMR CNRS 8623, Université Paris 11, Centre d Orsay. ** LaMI UMR
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
it is easy to see that α = a
21. Polynomial rings Let us now turn out attention to determining the prime elements of a polynomial ring, where the coefficient ring is a field. We already know that such a polynomial ring is a UF. Therefore
I. GROUPS: BASIC DEFINITIONS AND EXAMPLES
I GROUPS: BASIC DEFINITIONS AND EXAMPLES Definition 1: An operation on a set G is a function : G G G Definition 2: A group is a set G which is equipped with an operation and a special element e G, called
Parametric Domain-theoretic models of Linear Abadi & Plotkin Logic
Parametric Domain-theoretic models of Linear Abadi & Plotkin Logic Lars Birkedal Rasmus Ejlers Møgelberg Rasmus Lerchedahl Petersen IT University Technical Report Series TR-00-7 ISSN 600 600 February 00
Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:
CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
1 Operational Semantics for While
Models of Computation, 2010 1 1 Operational Semantics for While The language While of simple while programs has a grammar consisting of three syntactic categories: numeric expressions, which represent
Process Mining Using BPMN: Relating Event Logs and Process Models
Noname manuscript No. (will be inserted by the editor) Process Mining Using BPMN: Relating Event Logs and Process Models Anna A. Kalenkova W. M. P. van der Aalst Irina A. Lomazova Vladimir A. Rubin Received:
Degrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets.
Degrees of Truth: the formal logic of classical and quantum probabilities as well as fuzzy sets. Logic is the study of reasoning. A language of propositions is fundamental to this study as well as true
Which Semantics for Neighbourhood Semantics?
Which Semantics for Neighbourhood Semantics? Carlos Areces INRIA Nancy, Grand Est, France Diego Figueira INRIA, LSV, ENS Cachan, France Abstract In this article we discuss two alternative proposals for
24 Uses of Turing Machines
Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Martin Leucker Technische Universität München (joint work with Andreas Bauer, Christian Schallhart et. al) FLACOS
A Framework for the Semantics of Behavioral Contracts
A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK [email protected] Abstract. Contracts have proved a powerful concept
Jim Lambers MAT 169 Fall Semester 2009-10 Lecture 25 Notes
Jim Lambers MAT 169 Fall Semester 009-10 Lecture 5 Notes These notes correspond to Section 10.5 in the text. Equations of Lines A line can be viewed, conceptually, as the set of all points in space that
8 Divisibility and prime numbers
8 Divisibility and prime numbers 8.1 Divisibility In this short section we extend the concept of a multiple from the natural numbers to the integers. We also summarize several other terms that express
Open Access to Call and Session Control in Mobile Networks
BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 10, No 1 Sofia 2010 Open Access to Call and Session Control in Mobile Networks Evelina Pencheva, Ivaylo Atanasov Technical
Functional Programming. Functional Programming Languages. Chapter 14. Introduction
Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The
Left-Handed Completeness
Left-Handed Completeness Dexter Kozen Computer Science Department Cornell University RAMiCS, September 19, 2012 Joint work with Alexandra Silva Radboud University Nijmegen and CWI Amsterdam Result A new
Finite Automata. Reading: Chapter 2
Finite Automata Reading: Chapter 2 1 Finite Automaton (FA) Informally, a state diagram that comprehensively captures all possible states and transitions that a machine can take while responding to a stream
Monitoring Metric First-order Temporal Properties
Monitoring Metric First-order Temporal Properties DAVID BASIN, FELIX KLAEDTKE, SAMUEL MÜLLER, and EUGEN ZĂLINESCU, ETH Zurich Runtime monitoring is a general approach to verifying system properties at
GROUPS ACTING ON A SET
GROUPS ACTING ON A SET MATH 435 SPRING 2012 NOTES FROM FEBRUARY 27TH, 2012 1. Left group actions Definition 1.1. Suppose that G is a group and S is a set. A left (group) action of G on S is a rule for
Regular Expressions and Automata using Haskell
Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions
