Games and Full Abstraction for Java programs
|
|
- Godwin Bryan Heath
- 3 years ago
- Views:
From this document you will learn the answers to the following questions:
What is an Operational Semantics machine?
What does Denotational Semantics translate programs into?
Transcription
1 Games and Full Abstraction for Java programs Andrzej Murawski University of Warwick Nikos Tzevelekos Queen Mary Uni. of London PLSeminar 2013
2 What this talk is about Semantics of programs: Operational (abstract machines) Denotational (abstract domains) and the notion of Full Abstraction Full abstraction: storyline, sequentiality problems, solution with Game Semantics A fully abstract game semantics for Java programs (Interface Middleweight Java)
3 Operational Semantics Interpret programs in abstract machines: (s, x = 1; P) (s[x 1], P) concrete step-wise description 'intuitive' semantics
4 Operational Equivalence Closed programs: P P' if (s 0, P) * (s, V) (s 0, P') * (s', V) Open programs: P P' if (s 0, C[P]) * (s, V) (s 0, C[P']) * (s', V)
5 Denotational Semantics Translate programs into a domain of 'functions': program: P L denotation: P M abstract mathematical description 'high-level' semantics
6 Power of denotations Abstract away from implementation details Compositional translation: divide-and-conquer modular approach modelling of components in isolation Useful for understanding & analysing programs
7 Full Abstraction Desired properties of the translation: Correctness: P P' P = P' Soundness: P P' P = P' Full abstraction: P P' P = P'
8 Full abstraction pictorially program: P L. M denotation: P
9 The quest for full abstraction 1977 [Milner, Plotkin]: Formulation of the problem (λ-calculus, PCF) Functions cannot capture sequentiality 's: Function stability [Berry, Bucciarelli, Erhard] Sequential algorithms [Berry, Currien] 1993 [AJM, HO/N *]: Game semantics (PCF) 'Functions' with operational content (games) * Abramsky, Jagadeesan, Malacaria; Hyland, Ong; Nickau
10 From PCF to realistic languages Full Abstraction for PCF (early 90's) Two groups in the UK, one in Germany Roots in Mathematical Logic First stage ( ) Models for various programming features Program analysis resources? Nominal game semantics (2004-) Fragments of ML, now Java (IMJ)
11 Interface Middleweight Java (IMJ) Object calculus based on MJ [Bierman, Parkinson, Pitts] Objects, inheritance, subtyping, casting, interfaces
12 Game Semantics Computation is modelled as a 2-player game between: Opponent (the environment), aka O Proponent (the program), aka P Qualitative games ( Game Theory) Computations = plays of a specified game Programs = strategies for P Families (i.e. categories) of games
13 Examples x : Var x.val + 1 : int Var : { val : int } Fun : { val : int int }
14 Examples x : Var x.val + 1 : int Var : { val : int } Fun : { val : int int } O : (x.val = 5) x
15 Examples x : Var x.val + 1 : int Var : { val : int } Fun : { val : int int } O : (x.val = 5) x P : (x.val = 5) 6
16 Examples x : Var x.val + 1 : int Var : { val : int } Fun : { val : int int } O : x (x.val = 5) P : 6 (x.val = 5) O : x (x.val = 8)
17 Examples x : Var x.val + 1 : int Var : { val : int } Fun : { val : int int } O : (x.val = 5) x O : x (x.val = 8) P : 6 (x.val = 5) P : (x.val = 8) 9
18 Examples x : Var x.val + 1 : int Var : { val : int } Fun : { val : int int } O : (x.val = 5) x O : x (x.val = 8) O : x (x.val = 3)... P : 6 (x.val = 5) P : 9 (x.val = 8) P : 4 (x.val = 3)...
19 Examples x : Var x.val + 1 : int Var : { val : int } Fun : { val : int int } O : (x.val = 5) x O : x (x.val = 8) O : x (x.val = 3)... P : 6 (x.val = 5) P : 9 (x.val = 8) P : 4 (x.val = 3)... x : Var x.val + 1 : int = { x (x.val = i) (i +1) (x.val = i) }
20 Examples x : Var, f : Fun Var : { val : int } f. val (x.val) + 1 : int Fun : { val : int int }
21 Examples x : Var, f : Fun Var : { val : int } f. val (x.val) + 1 : int Fun : { val : int int } O : (x.val = 5) (x,f) P : (x.val = 5) call f.val(5) O : (x.val = 42) ret f.val(8) P : (x.val = 42) 9
22 Examples x : Var, f : Fun Var : { val : int } f. val (x.val) + 1 : int Fun : { val : int int } O : (x.val = 5) (x,f) P : (x.val = 5) call f.val(5) O : (x.val = 42) ret f.val(8) P : (x.val = 42) 9 O : (x.val = 7) (x,f) P : (x.val = 7) call f.val(7) O : (x.val = 7) ret f.val(13) P : (x.val = 7) 14
23 Examples x : Var, f : Fun Var : { val : int } f. val (x.val) + 1 : int Fun : { val : int int } O : (x.val = 5) (x,f) P : (x.val = 5) call f.val(5) O : (x.val = 42) ret f.val(8) P : (x.val = 42) 9 O : (x.val = 7) (x,f) P : (x.val = 7) call f.val(7) O : (x.val = 7) ret f.val(13) P : (x.val = 7) 14 x : Var, f : Fun f. val (x.val) + 1 : int = = { (x,f) (x.val = i ) call f.val(i) (x.val = i ) ret f.val(j) (x.val = i' ) ( j +1) (x.val = i' ) }
24 Games in detail x 1 :I 1,, x n :I n M : I M : I 1,, I n I
25 Games in detail free variables program x 1 :I 1,, x n :I n M : I output interface input interfaces M : I 1,, I n I
26 Games in detail free variables program x 1 :I 1,, x n :I n M : I output interface input interfaces M : I 1,, I n I strategy arenas
27 Arenas, moves M : I 1,, I n I strategy arenas Arenas : sets of names with assigned interfaces Moves : value moves are tuples of names, integers, etc.) method moves are calls and returns (of methods, using values) 42, (5,*,x,f), call f.val(42), ret p.set(5,4),
28 Plays, strategies M : I 1,, I n I strategy arenas Plays : sequences of moves-with-store call f.val(5) (x.val=5), Strategies : sets of plays A series of sanity conditions is used, e.g. - moves have polarities (O/P), which alternate - P calls methods of O, and viceversa - dually for returns - calls and returns adhere to interfaces of names - strategies are closed wrt to O-subtyping -
29 Composition Compound programs translated compositionally Strategy composition: play one strategy against the other M M 2 1 I 1 M 1 I 2 M 2 I 3
30 Full abstraction for IMJ Theorem. The game translation is correct & sound Lemma. Every finitary strategy is IMJ-definable Theorem. The game model is fully abstract
31 Further on Program analysis for IMJ Algorithmic representations Automata over infinite alphabets! Model checking Further effects Exceptions (cf. FoSSaCS'14) Concurrency (multi-threading, cf. Laird'06)
32 Further on Program analysis for IMJ Algorithmic representations Automata over infinite alphabets! Model checking thanks! Further effects Exceptions (cf. FoSSaCS'14) Concurrency (multi-threading, cf. Laird'06)
Algorithmic Game Semantics and Software Model-Checking
Algorithmic Game Semantics and Software Model-Checking 1 Algorithmic Game Semantics and Software Model-Checking Samson Abramsky Oxford University Computing Laboratory Algorithmic Game Semantics and Software
More informationFair testing vs. must testing in a fair setting
Fair testing vs. must testing in a fair setting Tom Hirschowitz and Damien Pous Amsterdam, Novembre 2010 Laboratoire de Mathématiques Université de Savoie UMR 5127 Tom Hirschowitz and Damien Pous Fair
More informationA Graph Abstract Machine Describing Event Structure Composition
GT-VC 2006 A Graph Abstract Machine Describing Event Structure Composition Claudia Faggian and Mauro Piccolo 1,2,3 Dipartimento di Matematica Pura e Applicata PPS Universitá di Padova Paris7-CNRS Abstract
More informationIntroduction. Compiler Design CSE 504. Overview. Programming problems are easier to solve in high-level languages
Introduction Compiler esign CSE 504 1 Overview 2 3 Phases of Translation ast modifled: Mon Jan 28 2013 at 17:19:57 EST Version: 1.5 23:45:54 2013/01/28 Compiled at 11:48 on 2015/01/28 Compiler esign Introduction
More informationRegular 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
More informationObject-Oriented Software Specification in Programming Language Design and Implementation
Object-Oriented Software Specification in Programming Language Design and Implementation Barrett R. Bryant and Viswanathan Vaidyanathan Department of Computer and Information Sciences University of Alabama
More informationOverview 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
More informationReading 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
More informationCompilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.
Compilers Spring term Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.es Lecture 1 to Compilers 1 Topic 1: What is a Compiler? 3 What is a Compiler? A compiler is a computer
More informationML 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
More informationABET General Outcomes. Student Learning Outcomes for BS in Computing
ABET General a. An ability to apply knowledge of computing and mathematics appropriate to the program s student outcomes and to the discipline b. An ability to analyze a problem, and identify and define
More informationTuring Machines: An Introduction
CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,
More informationComplexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism
Complexities of Simulating a Hybrid Agent-Landscape Model Using Multi-Formalism Composability Gary R. Mayer Gary.Mayer@asu.edu Hessam S. Sarjoughian Sarjougian@asu.edu Arizona Center for Integrative Modeling
More informationLocally Boolean Domains and Universal Models for Infinitary Sequential Languages
Locally Boolean Domains and Universal Models for Infinitary Sequential Languages Vom Fachbereich Mathematik der Technischen Universität Darmstadt zur Erlangung des akademischen Grades eines Doktors der
More informationDeterministic Finite Automata
1 Deterministic Finite Automata Definition: A deterministic finite automaton (DFA) consists of 1. a finite set of states (often denoted Q) 2. a finite set Σ of symbols (alphabet) 3. a transition function
More informationReliability Guarantees in Automata Based Scheduling for Embedded Control Software
1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,
More informationIntroduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm
Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to
More informationToday s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary
Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata
More informationAUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS
TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF
More informationBargaining Solutions in a Social Network
Bargaining Solutions in a Social Network Tanmoy Chakraborty and Michael Kearns Department of Computer and Information Science University of Pennsylvania Abstract. We study the concept of bargaining solutions,
More informationObservational 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,
More informationSoftware Verification: Infinite-State Model Checking and Static Program
Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,
More informationSemester Review. CSC 301, Fall 2015
Semester Review CSC 301, Fall 2015 Programming Language Classes There are many different programming language classes, but four classes or paradigms stand out:! Imperative Languages! assignment and iteration!
More informationCS422 - Programming Language Design
1 CS422 - Programming Language Design General Information and Introduction Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 General Information Class Webpage and
More informationCHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.
CHAPTER 1 ENGINEERING PROBLEM SOLVING Computing Systems: Hardware and Software The processor : controls all the parts such as memory devices and inputs/outputs. The Arithmetic Logic Unit (ALU) : performs
More informationThe theory of the six stages of learning with integers (Published in Mathematics in Schools, Volume 29, Number 2, March 2000) Stage 1
The theory of the six stages of learning with integers (Published in Mathematics in Schools, Volume 29, Number 2, March 2000) Stage 1 Free interaction In the case of the study of integers, this first stage
More informationAn Agile Formal Development Methodology
An Agile Formal Development Methodology George Eleftherakis 1 and Anthony J. Cowling 2 1 Computer Science Department City Liberal Studies Affiliated College of the University of Sheffield 13 Tsimiski Str.,
More information[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
More informationProfessional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008
Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report
More informationAlgorithms, Flowcharts & Program Design. ComPro
Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of
More informationBounded Treewidth in Knowledge Representation and Reasoning 1
Bounded Treewidth in Knowledge Representation and Reasoning 1 Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien Luminy, October 2010 1 Joint work with G.
More informationComputability Theory
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.
More informationChapter 6: Programming Languages
Chapter 6: Programming Languages Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 6: Programming Languages 6.1 Historical Perspective
More informationPretty-big-step semantics
Pretty-big-step semantics Arthur Charguéraud INRIA October 2012 1 / 34 Motivation Formalization of JavaScript with Sergio Maeis, Daniele Filaretti, Alan Schmitt, Martin Bodin. Previous work: Semi-formal
More informationEastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
More informationA 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 ashley.mcneile@metamaxim.com Abstract. Contracts have proved a powerful concept
More informationToday s Topics. Primes & Greatest Common Divisors
Today s Topics Primes & Greatest Common Divisors Prime representations Important theorems about primality Greatest Common Divisors Least Common Multiples Euclid s algorithm Once and for all, what are prime
More informationProgramming Languages
Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:
More informationProperties of Stabilizing Computations
Theory and Applications of Mathematics & Computer Science 5 (1) (2015) 71 93 Properties of Stabilizing Computations Mark Burgin a a University of California, Los Angeles 405 Hilgard Ave. Los Angeles, CA
More informationSimulation-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 kuesters@ti.informatik.uni-kiel.de
More informationComputer Programming I
Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4:50,
More informationA STUDY OF SEMANTICS, TYPES AND LANGUAGES FOR DATABASES AND OBJECT-ORIENTED PROGRAMMING ATSUSHI OHORI. Computer and Information Science
A STUDY OF SEMANTICS, TYPES AND LANGUAGES FOR DATABASES AND OBJECT-ORIENTED PROGRAMMING ATSUSHI OHORI A DISSERTATION in Computer and Information Science Presented to the Faculties of the University of
More informationExtraction of certified programs with effects from proofs with monadic types in Coq
Extraction of certified programs with effects from proofs with monadic types in Coq Marino Miculan 1 and Marco Paviotti 2 1 Dept. of Mathematics and Computer Science, University of Udine, Italy 2 IT University
More informationLecture 03 (04.11.2013) Quality of the Software Development Process
Systeme hoher Qualität und Sicherheit Universität Bremen, WS 2013/14 Lecture 03 (04.11.2013) Quality of the Software Development Process Christoph Lüth Christian Liguda Your Daily Menu Models of Software
More informationLayered Approach to Development of OO War Game Models Using DEVS Framework
Layered Approach to Development of OO War Game Models Using DEVS Framework Chang Ho Sung*, Su-Youn Hong**, and Tag Gon Kim*** Department of EECS KAIST 373-1 Kusong-dong, Yusong-gu Taejeon, Korea 305-701
More informationProbabilità e Nondeterminismo nella teoria dei domini
Probabilità e Nondeterminismo nella teoria dei domini Daniele Varacca ENS, Paris BRICS, Aarhus Parma, 15 giugno 2004 Probabilità e Nondeterminismo nella teoria dei domini p.1 Road Map Motivation Domain
More informationModeling, Computers, and Error Analysis Mathematical Modeling and Engineering Problem-Solving
Next: Roots of Equations Up: Numerical Analysis for Chemical Previous: Contents Subsections Mathematical Modeling and Engineering Problem-Solving A Simple Mathematical Model Computers and Software The
More informationA Generic Process Calculus Approach to Relaxed-Memory Consistency
A Generic Process Calculus Approach to Relaxed-Memory Consistency Palle Raabjerg Tjark Weber Nadine Rohde Lars-Henrik Eriksson Joachim Parrow UPMARC Workshop on Memory Models (MM 15) 23 24 February 2015,
More informationCHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful
More informationEngineering Process Software Qualities Software Architectural Design
Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical
More informationICECCS 08/Workshop «UML&AADL 2008», April, 2, 2008
Contract-based approach to analyze software components Abdelhafid Zitouni Lionel SEINTURIER Mahmoud BOUFAIDA Laboratory LIRE LIFL-INRIA ADAM Laboratory LIRE University of Constantine University of Lille
More informationIntroduction to formal semantics -
Introduction to formal semantics - Introduction to formal semantics 1 / 25 structure Motivation - Philosophy paradox antinomy division in object und Meta language Semiotics syntax semantics Pragmatics
More informationNumber Theory. Proof. Suppose otherwise. Then there would be a finite number n of primes, which we may
Number Theory Divisibility and Primes Definition. If a and b are integers and there is some integer c such that a = b c, then we say that b divides a or is a factor or divisor of a and write b a. Definition
More informationChapter 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
More informationLexical analysis FORMAL LANGUAGES AND COMPILERS. Floriano Scioscia. Formal Languages and Compilers A.Y. 2015/2016
Master s Degree Course in Computer Engineering Formal Languages FORMAL LANGUAGES AND COMPILERS Lexical analysis Floriano Scioscia 1 Introductive terminological distinction Lexical string or lexeme = meaningful
More informationQuestions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
More informationFabio Patrizi DIS Sapienza - University of Rome
Fabio Patrizi DIS Sapienza - University of Rome Overview Introduction to Services The Composition Problem Two frameworks for composition: Non data-aware services Data-aware services Conclusion & Research
More informationCompuScholar, Inc. Alignment to Utah's Computer Programming II Standards
CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards Course Title: TeenCoder: Java Programming Course ISBN: 978 0 9887070 2 3 Course Year: 2015 Note: Citation(s) listed may represent
More informationProgramming Languages
Programming Languages In the beginning To use a computer, you needed to know how to program it. Today People no longer need to know how to program in order to use the computer. To see how this was accomplished,
More informationFormal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
More informationQuotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
More informationSoftware Engineering
Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in
More informationDatabase Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys
Database Design Overview Conceptual Design. The Entity-Relationship (ER) Model CS430/630 Lecture 12 Conceptual design The Entity-Relationship (ER) Model, UML High-level, close to human thinking Semantic
More informationProgramming Languages and Compilers
PLaC-0.1 Programming Languages and Compilers Prof. Dr. Uwe Kastens WS 2013 / 2014 2013 bei Prof. Dr. Uwe Kastens 0. Introduction PLaC-0.2 The participants are taught to Objectives understand properties
More informationHandout #1: Mathematical Reasoning
Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or
More informationA 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
More informationRelational Calculus. Module 3, Lecture 2. Database Management Systems, R. Ramakrishnan 1
Relational Calculus Module 3, Lecture 2 Database Management Systems, R. Ramakrishnan 1 Relational Calculus Comes in two flavours: Tuple relational calculus (TRC) and Domain relational calculus (DRC). Calculus
More informationStatic Typing for Object-Oriented Programming
Science of Computer Programming 23(1):19 53, 1994. Static Typing for Object-Oriented Programming Jens Palsberg palsberg@daimi.aau.dk Michael I. Schwartzbach mis@daimi.aau.dk Computer Science Department
More informationContents. Sample worksheet from www.mathmammoth.com
Contents Introduction... 4 Warmup: Mental Math 1... 8 Warmup: Mental Math 2... 10 Review: Addition and Subtraction... 12 Review: Multiplication and Division... 15 Balance Problems and Equations... 19 More
More informationMATH 132: CALCULUS II SYLLABUS
MATH 32: CALCULUS II SYLLABUS Prerequisites: Successful completion of Math 3 (or its equivalent elsewhere). Math 27 is normally not a sufficient prerequisite for Math 32. Required Text: Calculus: Early
More informationArtificial Intelligence
Artificial Intelligence ICS461 Fall 2010 1 Lecture #12B More Representations Outline Logics Rules Frames Nancy E. Reed nreed@hawaii.edu 2 Representation Agents deal with knowledge (data) Facts (believe
More information2. Abstract State Machines
2. Abstract State Machines The notion of Abstract State Machines (ASMs), defined in [20], captures in mathematically rigorous yet transparent form some fundamental operational intuitions of computing,
More informationRegular Expressions with Nested Levels of Back Referencing Form a Hierarchy
Regular Expressions with Nested Levels of Back Referencing Form a Hierarchy Kim S. Larsen Odense University Abstract For many years, regular expressions with back referencing have been used in a variety
More informationAndrew 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)
More informationHandling Fault Detection Latencies in Automata-based Scheduling for Embedded Control Software
Handling Fault Detection atencies in Automata-based cheduling for Embedded Control oftware anthosh Prabhu M, Aritra Hazra, Pallab Dasgupta and P. P. Chakrabarti Department of Computer cience and Engineering,
More informationDraft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001
A comparison of the OpenGIS TM Abstract Specification with the CIDOC CRM 3.2 Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001 1 Introduction This Mapping has the purpose to identify, if the OpenGIS
More informationBest Place to Find the Best Jobs Out There
Safer in the Clouds (Extended Abstract) Chiara Bodei, Viet Dung Dinh and Gian Luigi Ferrari Dipartimento di Informatica, Università di Pisa, Italy {chiara,dinh,giangi}@diunipiit We outline the design of
More informationGoal of the Talk Theorem The class of languages recognisable by T -coalgebra automata is closed under taking complements.
Complementation of Coalgebra Automata Christian Kissig (University of Leicester) joint work with Yde Venema (Universiteit van Amsterdam) 07 Sept 2009 / Universitá degli Studi di Udine / CALCO 2009 Goal
More information24 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
More information3 Monomial orders and the division algorithm
3 Monomial orders and the division algorithm We address the problem of deciding which term of a polynomial is the leading term. We noted above that, unlike in the univariate case, the total degree does
More informationFunction Extraction: Automated Behavior Computation for Aerospace Software Verification and Certification
Function Extraction: Automated Behavior Computation for Aerospace Software Verification and Certification Redge Bartholomew Software Design Support Engineering and Technology Rockwell Collins, Inc. Cedar
More informationTemporal 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
More informationUniversity of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011
University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 Department Mission The Department of Computer Science in the College of Arts and Sciences
More informationSecure Reactive Systems
Michael Backes Saarland University, Germany joint work with Birgit Pfitzmann and Michael Waidner Secure Reactive Systems Lecture at Tartu U, 02/27/06 Building Systems on Open Networks E-Government Hospital
More informationCHAPTER 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
More informationProcedia Computer Science 00 (2012) 1 21. Trieu Minh Nhut Le, Jinli Cao, and Zhen He. trieule@sgu.edu.vn, j.cao@latrobe.edu.au, z.he@latrobe.edu.
Procedia Computer Science 00 (2012) 1 21 Procedia Computer Science Top-k best probability queries and semantics ranking properties on probabilistic databases Trieu Minh Nhut Le, Jinli Cao, and Zhen He
More informationViews: Compositional Reasoning for Concurrent Programs
Views: Compositional Reasoning for Concurrent Programs Thomas Dinsdale-Young 1, Lars Birkedal 2, Philippa Gardner 1, Matthew J. Parkinson 3, and Hongseok Yang 4 1 Imperial College London 3 Microsoft Research
More informationGenerating Models of Infinite-State Communication Protocols using Regular Inference with Abstraction
Noname manuscript No. (will be inserted by the editor) Generating Models of Infinite-State Communication Protocols using Regular Inference with Abstraction Fides Aarts Bengt Jonsson Johan Uijen Frits Vaandrager
More informationMaster of Sciences in Informatics Engineering Programming Paradigms 2005/2006. Final Examination. January 24 th, 2006
Master of Sciences in Informatics Engineering Programming Paradigms 2005/2006 Final Examination January 24 th, 2006 NAME: Please read all instructions carefully before start answering. The exam will be
More informationAlgorithmic 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
More informationFormal Verification of Software
Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification
More informationComposing Schema Mappings: An Overview
Composing Schema Mappings: An Overview Phokion G. Kolaitis UC Santa Scruz & IBM Almaden Joint work with Ronald Fagin, Lucian Popa, and Wang-Chiew Tan The Data Interoperability Challenge Data may reside
More informationCSCI 3136 Principles of Programming Languages
CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University Winter 2013 CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University
More informationMOP 2007 Black Group Integer Polynomials Yufei Zhao. Integer Polynomials. June 29, 2007 Yufei Zhao yufeiz@mit.edu
Integer Polynomials June 9, 007 Yufei Zhao yufeiz@mit.edu We will use Z[x] to denote the ring of polynomials with integer coefficients. We begin by summarizing some of the common approaches used in dealing
More informationFormal 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
More informationFunctional 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
More informationProgram equivalence in functional metaprogramming via nominal Scott domains
Program equivalence in functional metaprogramming via nominal Scott domains Steffen Gerhard Lösch Trinity College This dissertation is submitted for the degree of Doctor of Philosophy May 2014 To Niklas,
More informationRuntime 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
More informationMonitoring 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
More informationThe Synchronous Programming Language Quartz
Klaus Schneider The Synchronous Programming Language Quartz A Model-Based Approach to the Synthesis of Hardware-Software Systems November 13, 2010, Version 2.0 Department of Computer Science University
More information