A Universal Calculus for Stream Processing Languages

Size: px
Start display at page:

Download "A Universal Calculus for Stream Processing Languages"

Transcription

1 1 A Universal Calculus for Stream Processing Languages Robert Soulé, Martin Hirzel, Robert Grimm, Buğra Gedik, Henrique Andrade, Vibhore Kumar, and Kun-Lung Wu New York University and IBM Research

2 2 Stream Processing Is Everywhere Move large amounts of data through several computational steps

3 3 Stream Processing Has Many Flavors StreamIt: synchronous CQL: SQL + streams processing Sawzall: functional data processing in the large

4 4 Stream Processing Has Many Implementations StreamIt: synchronous CQL: SQL + streams processing Sawzall: functional data processing in the large

5 5 Variety Breeds Confusion We want to understand and compare streaming languages What is their expressiveness? How to optimize the data processing steps? How to scale the overall applications? Especially across clusters? Enter our universal calculus: Brooklet Formal foundation for answering the above questions Provably correct optimizations and translations

6 6 Outline of This Talk Motivation Requirements The Brooklet Core Calculus Generality: Translating StreamIt, CQL, and Sawzall to Brooklet Utility: Optimizing Brooklet to Brooklet Outlook and Conclusions

7 7 Elements of a Streaming App State Queue Operator Queue

8 Elements of a Streaming App 8

9 9 Elements of a Streaming App Not all operators have state

10 10 Elements of a Streaming App Operators may share state

11 11 Requirements for Calculus Make trigger Make nondeterministic nondeterministic Make explicit Treat functions as opaque Make explicit and 1-to-1

12 12 Brooklet Syntax $total trades volume Sum (volume, $total) Sum(trades, $total)

13 13 Function Environment $total trades volume Sum Sum F: The function implementations

14 14 Queue Store $total trades trades Sum volume volume Q: The contents of the queues

15 15 Variable Store $total trades volume Sum V: The contents of the variables

16 16 Brooklet Operational Semantics $total trades volume Sum F <Q, V> <Q, V >

17 17 Complete Calculus Brooklet syntax: P b ::= out in op Brooklet program out ::= output q ; Output declaration in ::= input q ; Input declaration op ::= ( q, v ) f ( q, v ); Operator q ::= id Queue identifier v ::= $ id Variable identifier f ::= id Function identifier Brooklet example: IBM market maker. output result; input bids, asks; (ibmbids) SelectIBM(bids); (ibmasks) SelectIBM(asks); ($lastask) Window(ibmAsks); (ibmsales) SaleJoin(ibmBids,$lastAsk); (result,$cnt) Count(ibmSales,$cnt); Brooklet semantics: F b V, Q V,Q d, b = Q(q i ) op = (_, _) f(q, v); (b, d )=F b (f)(d, i, V (v)) V = updatev (op,v,d ) Q = updateq(op, Q, q i, b ) F b V, Q V,Q (E-FireQueue) op = (_, v) f(_, _); updatev (op, V, d) =[v d]v op = (q, _) f(_, _); d f,b f = Q(q f ) Q =[q f b f ]Q Q =[ q i q : q i Q(q i ),b i ]Q updateq(op, Q, q f, b) =Q (E-UpdateV) (E-UpdateQ)

18 18 Example: A Fannie Mae Bid/Ask Join $lastask $total asks SaleJoin trades Sum volume bids $lastbid

19 19 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 1> <FNM,1, 2> $lastbid $lastbid = <FNM,0,0>

20 20 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 1> <FNM,1, 2> $lastbid $lastbid = <FNM,0,0>

21 21 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>

22 22 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>

23 23 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,0, > $total = 0 <FNM,1, 2> asks $lastask $total bids SaleJoin trades Sum volume <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>

24 24 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks SaleJoin trades Sum volume bids <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>

25 25 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks SaleJoin trades Sum volume bids <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>

26 26 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks SaleJoin trades Sum volume bids <FNM,1, 2> $lastbid $lastbid = <FNM,1, 1>

27 27 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks bids SaleJoin <FNM,1, 2> trades Sum volume $lastbid $lastbid = <FNM,1, 1>

28 28 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks bids SaleJoin <FNM,1, 2> trades Sum volume $lastbid $lastbid = <FNM,1, 2>

29 29 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $lastask $total = 0 $total asks bids SaleJoin <FNM,1, 2> trades Sum volume $lastbid $lastbid = <FNM,1, 2>

30 30 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 0 $lastask $total asks bids SaleJoin trades <FNM,1> Sum volume $lastbid $lastbid = <FNM,1, 2>

31 31 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 1 $lastask $total asks bids SaleJoin trades <FNM,1> Sum volume $lastbid $lastbid = <FNM,1, 2>

32 32 Example: A Fannie Mae Bid/Ask Join $lastask = <FNM,1, 2> $total = 1 $lastask $total asks bids SaleJoin trades <FNM,1> Sum volume $lastbid $lastbid = <FNM,1, 2>

33 33 Translations Demonstrating Brooklet s generality by translating three rather diverse streaming languages

34 34 CQL, StreamIt, Sawzall: One Translation Approach Do not model local computations Expose graph topology Expose implicit and explicit state Make queues explicit and 1-to-1 Wrap original operators in higher-order functions Make state explicit <, > Functions Queues Variables

35 35 Example: CQL to Brooklet CQL Brooklet select Sum(shares) from trades where trades.ticker = FNM Make queues explicit and 1-to-1 $total Make state explicit trades Filter FNM-trades Sum volume

36 36 Example: CQL to Brooklet CQL Brooklet select Sum(shares) from trades where trades.ticker = FNM Dynamically adapt runtime arguments $total Statically bind the original function trades Filter FNM-trades volume

37 37 Translation Correctness Theorem CQL/StreamIt Input execute CQL/StreamIt Output translate translate Brooklet Input execute Brooklet Output Results under CQL and StreamIt semantics are the same as the results under Brooklet semantics after translation First formal semantics for Sawzall

38 38 Optimizations Demonstrating Brooklet s utility by realizing three essential optimizations

39 39 Operator Fusion: Eliminate Queueing Delays before after Look for connected operators, whose state isn t used anywhere else

40 40 Operator Fission: Process More Data in Parallel before after Split Join Look for stateless operators

41 41 Operator Reordering: Filter Data Early Filter before after Filter Look for operators whose read/write sets don t overlap [Ghelli et al., SIGMOD 08]

42 42 Outlook More optimizations dynamic operator placement, load balancing, subquery sharing, eliminating spurious synchronization Richer extended calculus Types, verify progress, time constraints Common execution platform Practical challenges: data types, library of operators, serialization, process management, error handling

43 43 Conclusions Streaming is everywhere Media, finance, web applications Need a calculus to understand (distributed) implementations Minimal, non-deterministic, makes state and communication explicit Provide a formal and practical foundation for stream programming Mappings from CQL, StreamIt, and Sawzall Formalizing of Fusion, Fission, and Reordering

44 44

45 45

46 46 CQL Translation Rules CQL program translation: [ F c,p c ] p c = F b,p b [ F c, SName ] p c =, outputsname;inputsname; (T p c -SName) [ F c, RName ] p c =, outputrname;inputrname; (T p c -RName) F b, output q o ; input q; op = [F c,p cs ] p c q o = freshid() v = freshid() F b =[S2R wraps2r(f c(s2r))]f b op = op, (q o,v) S2R(q o,v); [ F c, S2R(P cs ) ] p c = F b, output q o ; input q; op (T p c -S2R) F b, output q o ; input q; op = [F c,p cr ] p c q o = freshid() v = freshid() F b =[R2S wrapr2s(f c(r2s))]f b op = op, (q o,v) R2S(q o,v); [ F c, R2S(P cr ) ] p c = F b, output q o ; input q; op (T p c -R2S) F b, output q o ; input q; op = [ F c,p cr ] p c n = P cr q o = freshid() q = q 1,...,q n i 1...n : v i = freshid() op = op 1,...,op n F b =[R2R wrapr2r(f c(r2r))]( F b ) op = op, (q o, v) R2R(q o, v); [ F c, R2R(P cr ) ] p c = F b, output q o ;input q ;op (T p c -R2R) T T CQL operator wrappers: σ, τ = d q s = d v s = s {e, τ : e σ} σ = f(s, τ) wraps2r(f)(d q, _,d v )=σ, τ,s σ, τ = d q σ = d v σ = f(σ, σ ) (W c -S2R) wrapr2s(f)(d q, _,d v )=σ, τ, σ (W c -R2S) σ, τ = d q d i = d i {σ, τ} j = i 1...n : d j = d j j 1...n : σ : σ, τ d j wrapr2r(f)(d q,i,d) =, d (W c -R2R-Wait) σ, τ = d q d i = d i {σ, τ} j = i 1...n : d j = d j j 1...n : σ j = aux(d j, τ) wrapr2r(f)(d q,i,d) =f(σ), τ, d σ, τ d aux(d, τ) =σ (W c -R2R-Ready) (W c -R2R-Aux)

47 47 Operator Fission i 1...n: q i = freshid() op = (q out ) f(q in ); i 1...n: q i = freshid() F b, op s =[, split roundrobin, q, q in ] p s i 1...n: op i = (q i) f(q i ); F b, op j =[, join roundrobin,q out, q ] p s F b, op N split F b F b F b, op s op op j

Notes from Yesterday s Discussion. Big Picture. CIS 500 Software Foundations Fall November 1. Some lessons.

Notes from Yesterday s  Discussion. Big Picture. CIS 500 Software Foundations Fall November 1. Some lessons. CIS 500 Software Foundations Fall 2006 Notes from Yesterday s Email Discussion November 1 Some lessons This is generally a crunch-time in the semester Slow down a little and give people a chance to catch

More information

Relational Algebra and Calculus

Relational Algebra and Calculus Topics Relational Algebra and Calculus Linda Wu Formal query languages Preliminaries Relational algebra Relational calculus Expressive power of algebra and calculus (CMPT 354 2004-2) Chapter 4 CMPT 354

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

Modern Functional Programming and Actors With Scala and Akka

Modern Functional Programming and Actors With Scala and Akka Modern Functional Programming and Actors With Scala and Akka Aaron Kosmatin Computer Science Department San Jose State University San Jose, CA 95192 707-508-9143 akosmatin@gmail.com Abstract For many years,

More information

Tuple Relational Calculus

Tuple Relational Calculus Tuple Relational Calculus Université de Mons (UMONS) May 14, 2018 Motivation S[S#, SNAME, STATUS, CITY] P[P#, PNAME, COLOR, WEIGHT, CITY] SP[S#, P#, QTY)] Get all pairs of city names such that a supplier

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) Relational Calculus Lecture 5, January 27, 2014 Mohammad Hammoud Today Last Session: Relational Algebra Today s Session: Relational algebra The division operator and summary

More information

A uniform programming language for implementing XML standards

A uniform programming language for implementing XML standards A uniform programming language for implementing XML standards Pavel Labath 1, Joachim Niehren 2 1 Commenius University, Bratislava, Slovakia 2 Inria Lille, France Sofsem 2015 Motivation Different data

More information

Verified Characteristic Formulae for CakeML. Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017

Verified Characteristic Formulae for CakeML. Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017 Verified Characteristic Formulae for CakeML Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 18, 2017 CakeML Has: references, modules, datatypes, exceptions, a FFI,... Doesn t have:

More information

Abstracting Definitional Interpreters. David Van Horn

Abstracting Definitional Interpreters. David Van Horn Abstracting Definitional Interpreters David Van Horn Abstracting Definitional Interpreters David Van Horn Northeastern University Definitional interpreters written in monadic style can express a wide variety

More information

Logic: Intro & Propositional Definite Clause Logic

Logic: Intro & Propositional Definite Clause Logic Logic: Intro & Propositional Definite Clause Logic Alan Mackworth UBC CS 322 Logic 1 February 27, 2013 P & M extbook 5.1 Lecture Overview Recap: CSP planning Intro to Logic Propositional Definite Clause

More information

Lecture Notes on Data Abstraction

Lecture Notes on Data Abstraction Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming

More information

Unit: Blocking Synchronization Clocks, v0.3 Vijay Saraswat

Unit: Blocking Synchronization Clocks, v0.3 Vijay Saraswat Unit: Blocking Synchronization Clocks, v0.3 Vijay Saraswat This lecture discusses X10 clocks. For reference material please look at the chapter on Clocks in []. 1 Motivation The central idea underlying

More information

Business Process Management

Business Process Management Business Process Management Theory: The Pi-Calculus Frank Puhlmann Business Process Technology Group Hasso Plattner Institut Potsdam, Germany 1 What happens here? We discuss the application of a general

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

Communicating Parallel Processes. Stephen Brookes

Communicating Parallel Processes. Stephen Brookes Communicating Parallel Processes Stephen Brookes Carnegie Mellon University Deconstructing CSP 1 CSP sequential processes input and output as primitives named parallel composition synchronized communication

More information

D2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS

D2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS D2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS EDWARD GAUSE, GISP DIRECTOR OF INFORMATION SERVICES (ENGINEERING APPS) HTC (HORRY TELEPHONE COOP.) EDWARD GAUSE, GISP DIRECTOR OF INFORMATION

More information

Normalization by Evaluation

Normalization by Evaluation Normalization by Evaluation Andreas Abel Department of Computer Science and Engineering Chalmers and Gothenburg University PhD Seminar in Mathematical Engineering EAFIT University, Medellin, Colombia 9

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

More information

Relational Algebra & Calculus

Relational Algebra & Calculus Relational Algebra & Calculus Yanlei Diao UMass Amherst Slides Courtesy of R. Ramakrishnan and J. Gehrke 1 Outline v Conceptual Design: ER model v Logical Design: ER to relational model v Querying and

More information

COMP6463: λ-calculus

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

More information

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

Designing and Evaluating Generic Ontologies

Designing and Evaluating Generic Ontologies Designing and Evaluating Generic Ontologies Michael Grüninger Department of Industrial Engineering University of Toronto gruninger@ie.utoronto.ca August 28, 2007 1 Introduction One of the many uses of

More information

A Brief Introduction to Model Checking

A Brief Introduction to Model Checking A Brief Introduction to Model Checking Jan. 18, LIX Page 1 Model Checking A technique for verifying finite state concurrent systems; a benefit on this restriction: largely automatic; a problem to fight:

More information

How to deal with uncertainties and dynamicity?

How to deal with uncertainties and dynamicity? How to deal with uncertainties and dynamicity? http://graal.ens-lyon.fr/ lmarchal/scheduling/ 19 novembre 2012 1/ 37 Outline 1 Sensitivity and Robustness 2 Analyzing the sensitivity : the case of Backfilling

More information

Automata on Infinite words and LTL Model Checking

Automata on Infinite words and LTL Model Checking Automata on Infinite words and LTL Model Checking Rodica Condurache Lecture 4 Lecture 4 Automata on Infinite words and LTL Model Checking 1 / 35 Labeled Transition Systems Let AP be the (finite) set of

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D Concurrent Models of Computation Fall 2011 Copyright 2009-2011, Edward A. Lee, All rights

More information

A Proof Theory for Generic Judgments

A Proof Theory for Generic Judgments A Proof Theory for Generic Judgments Dale Miller INRIA/Futurs/Saclay and École Polytechnique Alwen Tiu École Polytechnique and Penn State University LICS 2003, Ottawa, Canada, 23 June 2003 Outline 1. Motivations

More information

Formal Models of Timed Musical Processes Doctoral Defense

Formal Models of Timed Musical Processes Doctoral Defense Formal Models of Timed Musical Processes Doctoral Defense Gerardo M. Sarria M. Advisor: Camilo Rueda Co-Advisor: Juan Francisco Diaz Universidad del Valle AVISPA Research Group September 22, 2008 Motivation

More information

CS 347. Parallel and Distributed Data Processing. Spring Notes 11: MapReduce

CS 347. Parallel and Distributed Data Processing. Spring Notes 11: MapReduce CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 11: MapReduce Motivation Distribution makes simple computations complex Communication Load balancing Fault tolerance Not all applications

More information

Financial. Analysis. O.Eval = {Low, High} Store. Bid. Update. Risk. Technical. Evaluation. External Consultant

Financial. Analysis. O.Eval = {Low, High} Store. Bid. Update. Risk. Technical. Evaluation. External Consultant ACM PODS98 of CS Dept at Stony Brook University Based Modeling and Analysis of Logic Workows Hasan Davulcu* N.Y. 11794, U.S.A. * Joint with M. Kifer, C.R. Ramakrishnan, I.V. Ramakrishnan Hasan Davulcu

More information

N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems

N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems Albert Cohen 1, Marc Duranton 2, Christine Eisenbeis 1, Claire Pagetti 1,4, Florence Plateau 3 and Marc Pouzet 3 POPL, Charleston

More information

The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security

The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security Carlos Olarte and Frank D. Valencia INRIA /CNRS and LIX, Ecole Polytechnique Motivation Concurrent

More information

Lecture: Workload Models (Advanced Topic)

Lecture: Workload Models (Advanced Topic) Lecture: Workload Models (Advanced Topic) Real-Time Systems, HT11 Martin Stigge 28. September 2011 Martin Stigge Workload Models 28. September 2011 1 System

More information

A Multi-Periodic Synchronous Data-Flow Language

A Multi-Periodic Synchronous Data-Flow Language Julien Forget 1 Frédéric Boniol 1 David Lesens 2 Claire Pagetti 1 firstname.lastname@onera.fr 1 ONERA - Toulouse, FRANCE 2 EADS Astrium Space Transportation - Les Mureaux, FRANCE November 19, 2008 1 /

More information

Deterministic (DFA) There is a fixed number of states and we can only be in one state at a time

Deterministic (DFA) There is a fixed number of states and we can only be in one state at a time CS35 - Finite utomata This handout will describe finite automata, a mechanism that can be used to construct regular languages. We ll describe regular languages in an upcoming set of lecture notes. We will

More information

Agreement. Today. l Coordination and agreement in group communication. l Consensus

Agreement. Today. l Coordination and agreement in group communication. l Consensus Agreement Today l Coordination and agreement in group communication l Consensus Events and process states " A distributed system a collection P of N singlethreaded processes w/o shared memory Each process

More information

The L Machines are very high-level, in two senses:

The L Machines are very high-level, in two senses: What is a Computer? State of the machine. CMPSCI 630: Programming Languages An Abstract Machine for Control Spring 2009 (with thanks to Robert Harper) Internal registers, memory, etc. Initial and final

More information

CS 322 D: Formal languages and automata theory

CS 322 D: Formal languages and automata theory CS 322 D: Formal languages and automata theory Tutorial NFA DFA Regular Expression T. Najla Arfawi 2 nd Term - 26 Finite Automata Finite Automata. Q - States 2. S - Alphabets 3. d - Transitions 4. q -

More information

G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV

G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV Henrik Nilsson University of Nottingham, UK G54FOP: Lecture 17 & 18 p.1/33 These Two Lectures Revisit attempt to define denotational

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

Time and Schedulability Analysis of Stateflow Models

Time and Schedulability Analysis of Stateflow Models Time and Schedulability Analysis of Stateflow Models Marco Di Natale Scuola Superiore S. Anna Haibo Zeng Mc Gill University Outline Context: MBD of Embedded Systems Relationship with PBD An Introduction

More information

Declarative Computation Model. Conditional. Case statement. Procedure values (2) Procedure values. Sequential declarative computation model

Declarative Computation Model. Conditional. Case statement. Procedure values (2) Procedure values. Sequential declarative computation model Declarative Computation Model Kernel language semantics revisited (VRH.4.5) From kernel to practical language (VRH.6) Exceptions (VRH.7) Carlos Varela RPI October 0, 009 Adapted with permission from: Seif

More information

The Importance of Being Formal. Martin Henz. February 5, Propositional Logic

The Importance of Being Formal. Martin Henz. February 5, Propositional Logic The Importance of Being Formal Martin Henz February 5, 2014 Propositional Logic 1 Motivation In traditional logic, terms represent sets, and therefore, propositions are limited to stating facts on sets

More information

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007 Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This

More information

Towards a Practical Secure Concurrent Language

Towards a Practical Secure Concurrent Language Towards a Practical Secure Concurrent Language Stefan Muller and Stephen Chong TR-05-12 Computer Science Group Harvard University Cambridge, Massachusetts Towards a Practical Secure Concurrent Language

More information

Finite State Machines. CS 447 Wireless Embedded Systems

Finite State Machines. CS 447 Wireless Embedded Systems Finite State Machines CS 447 Wireless Embedded Systems Outline Discrete systems Finite State Machines Transitions Timing Update functions Determinacy and Receptiveness 1 Discrete Systems Operates in sequence

More information

Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!)

Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!) Announcements Maps performance tips On server: Maintain DB connections, prepared statements (per thread/request!) Use Spark.before, Spark.after to open and close. Use ThreadLocal, or pass the connection

More information

SPARQL Extensions and Outlook

SPARQL Extensions and Outlook SPARQL Extensions and Outlook Axel Polleres 1 1 DERI Galway, National University of Ireland, Galway axel.polleres@deri.org European Semantic Web Conference 2007 A. Polleres SPARQL Extensions and Outlook

More information

Using the Principles of Synchronous Languages in Discrete-event and Continuous-time Models

Using the Principles of Synchronous Languages in Discrete-event and Continuous-time Models Using the Principles of Synchronous Languages in Discrete-event and Continuous-time Models Edward A. Lee Robert S. Pepper Distinguished Professor Chair of EECS UC Berkeley With special thanks to Stephen

More information

Multicore Semantics and Programming

Multicore Semantics and Programming Multicore Semantics and Programming Peter Sewell Tim Harris University of Cambridge Oracle October November, 2015 p. 1 These Lectures Part 1: Multicore Semantics: the concurrency of multiprocessors and

More information

INF Models of concurrency

INF Models of concurrency INF4140 - Models of concurrency RPC and Rendezvous INF4140 Lecture 15. Nov. 2017 RPC and Rendezvous Outline More on asynchronous message passing interacting processes with different patterns of communication

More information

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds

More information

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006 THEORY OF SYSTEMS MODELING AND ANALYSIS Henny Sipma Stanford University Master class Washington University at St Louis November 16, 2006 1 1 COURSE OUTLINE 8:37-10:00 Introduction -- Computational model

More information

Denoting computation

Denoting computation A jog from Scott Domains to Hypercoherence Spaces 13/12/2006 Outline Motivation 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event

More information

Compilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam

Compilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam Compilers Lecture 3 Lexical analysis Yannis Smaragdakis, U. Athens (original slides by Sam Guyer@Tufts) Big picture Source code Front End IR Back End Machine code Errors Front end responsibilities Check

More information

Window-aware Load Shedding for Aggregation Queries over Data Streams

Window-aware Load Shedding for Aggregation Queries over Data Streams Window-aware Load Shedding for Aggregation Queries over Data Streams Nesime Tatbul Stan Zdonik Talk Outline Background Load shedding in Aurora Windowed aggregation queries Window-aware load shedding Experimental

More information

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

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

More information

Mapping to Parallel Hardware

Mapping to Parallel Hardware - Mapping to Parallel Hardware Bruno Bodin University of Edinburgh, United Kingdom 1 / 27 Context - Hardware Samsung Exynos ARM big-little (Heterogenenous), 4 ARM A15, 4 ARM A7, 2-16 cores GPU, 5 Watt.

More information

Query answering using views

Query answering using views Query answering using views General setting: database relations R 1,...,R n. Several views V 1,...,V k are defined as results of queries over the R i s. We have a query Q over R 1,...,R n. Question: Can

More information

Timed Automata VINO 2011

Timed Automata VINO 2011 Timed Automata VINO 2011 VeriDis Group - LORIA July 18, 2011 Content 1 Introduction 2 Timed Automata 3 Networks of timed automata Motivation Formalism for modeling and verification of real-time systems.

More information

Timo Latvala. February 4, 2004

Timo Latvala. February 4, 2004 Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism

More information

Recursion Theory on Processes

Recursion Theory on Processes Intern. J. Computer Math. 1979, Section A. Vol. 7, pp. 119-128 G Gordon and Breach Science Publishers Ltd., 1979 Printed in Great Britain Recursion Theory on Processes JAN BERGSTRA Institute of Applied

More information

Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions

Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions Chapter 1 Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions 1.1 The IMP Language IMP is a programming language with an extensible syntax that was developed in the late 1960s. We will

More information

Outline F eria AADL behavior 1/ 78

Outline F eria AADL behavior 1/ 78 Outline AADL behavior Annex Jean-Paul Bodeveix 2 Pierre Dissaux 3 Mamoun Filali 2 Pierre Gaufillet 1 François Vernadat 2 1 AIRBUS-FRANCE 2 FéRIA 3 ELLIDIS SAE AS2C Detroit Michigan April 2006 FéRIA AADL

More information

Decision, Computation and Language

Decision, Computation and Language Decision, Computation and Language Non-Deterministic Finite Automata (NFA) Dr. Muhammad S Khan (mskhan@liv.ac.uk) Ashton Building, Room G22 http://www.csc.liv.ac.uk/~khan/comp218 Finite State Automata

More information

Real-Time Scheduling and Resource Management

Real-Time Scheduling and Resource Management ARTIST2 Summer School 2008 in Europe Autrans (near Grenoble), France September 8-12, 2008 Real-Time Scheduling and Resource Management Lecturer: Giorgio Buttazzo Full Professor Scuola Superiore Sant Anna

More information

Directions in Statistical Computing 2014 Renjin's JIT

Directions in Statistical Computing 2014 Renjin's JIT Directions in Statistical Computing 2014 Renjin's JIT Thinking about R as a Query Language Alexander Bertram BeDataDriven 2014 1 Quick Intro: Renjin R-language Interpreter written in Java, uses GNU R core

More information

GAV-sound with conjunctive queries

GAV-sound with conjunctive queries GAV-sound with conjunctive queries Source and global schema as before: source R 1 (A, B),R 2 (B,C) Global schema: T 1 (A, C), T 2 (B,C) GAV mappings become sound: T 1 {x, y, z R 1 (x,y) R 2 (y,z)} T 2

More information

Synchronous Reactive Systems

Synchronous Reactive Systems Synchronous Reactive Systems Stephen Edwards sedwards@synopsys.com Synopsys, Inc. Outline Synchronous Reactive Systems Heterogeneity and Ptolemy Semantics of the SR Domain Scheduling the SR Domain 2 Reactive

More information

ESE 570: Digital Integrated Circuits and VLSI Fundamentals

ESE 570: Digital Integrated Circuits and VLSI Fundamentals ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 17: March 23, 2017 Energy and Power Optimization, Design Space Exploration, Synchronous MOS Logic Lecture Outline! Energy and Power Optimization

More information

Mixing Finite Success and Finite Failure. Automated Prover

Mixing Finite Success and Finite Failure. Automated Prover in an Automated Prover Alwen Tiu 1, Gopalan Nadathur 2 and Dale Miller 3 1 INRIA Lorraine, France 2 University of Minnesota, USA 3 INRIA Futurs/École polytechnique, France ESHOL 2005 Montego Bay, Jamaica

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST.2014.6.1 COMPUTER SCIENCE TRIPOS Part IB Thursday 5 June 2014 1.30 to 4.30 pm COMPUTER SCIENCE Paper 6 Answer five questions. Submit the answers in five separate bundles, each with its own cover sheet.

More information

Spatial Computing in MGS Lecture II MGS & Applications

Spatial Computing in MGS Lecture II MGS & Applications Spatial Computing in MGS Lecture II MGS & Applications Antoine Spicher 1 & Olivier Michel 1 & Jean-Louis Giavitto 2 mgs.spatial-computing.org/ www.spatial-computing.org/mgs:tutorial 1 LACL, University

More information

Networked Embedded Systems WS 2016/17

Networked Embedded Systems WS 2016/17 Networked Embedded Systems WS 2016/17 Lecture 2: Real-time Scheduling Marco Zimmerling Goal of Today s Lecture Introduction to scheduling of compute tasks on a single processor Tasks need to finish before

More information

Embedded Systems - FS 2018

Embedded Systems - FS 2018 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Sample solution to Exercise 3 Discussion Date: 11.4.2018 Aperiodic Scheduling Task 1: Earliest Deadline

More information

From Liveness to Promptness

From Liveness to Promptness From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every

More information

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning.

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning. 3: Logic Why logic? Logic about inference or argument Start from assumptions or axioms Make deductions according to rules of reasoning Logic 3-1 Why logic? (continued) If I don t buy a lottery ticket on

More information

CS246 Final Exam, Winter 2011

CS246 Final Exam, Winter 2011 CS246 Final Exam, Winter 2011 1. Your name and student ID. Name:... Student ID:... 2. I agree to comply with Stanford Honor Code. Signature:... 3. There should be 17 numbered pages in this exam (including

More information

Kirsten Lackner Solberg. Dept. of Math. and Computer Science. Odense University, Denmark

Kirsten Lackner Solberg. Dept. of Math. and Computer Science. Odense University, Denmark Inference Systems for Binding Time Analysis Kirsten Lackner Solberg Dept. of Math. and Computer Science Odense University, Denmark e-mail: kls@imada.ou.dk June 21, 1993 Contents 1 Introduction 4 2 Review

More information

Turing machines and linear bounded automata

Turing machines and linear bounded automata and linear bounded automata Informatics 2A: Lecture 30 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 25 November 2016 1 / 17 The Chomsky hierarchy: summary Level Language

More information

Practical Data Processing With Haskell

Practical Data Processing With Haskell Practical Data Processing With Haskell Ozgun Ataman November 14, 2012 Ozgun Ataman (Soostone Inc) Practical Data Processing With Haskell November 14, 2012 1 / 18 A bit about the speaker Electrical Engineering,

More information

QSQL: Incorporating Logic-based Retrieval Conditions into SQL

QSQL: Incorporating Logic-based Retrieval Conditions into SQL QSQL: Incorporating Logic-based Retrieval Conditions into SQL Sebastian Lehrack and Ingo Schmitt Brandenburg University of Technology Cottbus Institute of Computer Science Chair of Database and Information

More information

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice Luis Pino*, Filippo Bonchi** and Frank Valencia* (Presented by: Jorge A. Pe rez) *E quipe Come te, LIX, Laboratoire

More information

06 From Propositional to Predicate Logic

06 From Propositional to Predicate Logic Martin Henz February 19, 2014 Generated on Wednesday 19 th February, 2014, 09:48 1 Syntax of Predicate Logic 2 3 4 5 6 Need for Richer Language Predicates Variables Functions 1 Syntax of Predicate Logic

More information

Temporal Logic of Actions

Temporal Logic of Actions Advanced Topics in Distributed Computing Dominik Grewe Saarland University March 20, 2008 Outline Basic Concepts Transition Systems Temporal Operators Fairness Introduction Definitions Example TLC - A

More information

Verifying Faust in Coq

Verifying Faust in Coq Verifying Faust in Coq Progress report Emilio J. Gallego Arias, Pierre Jouvelot, Olivier Hermant, Arnaud Spiwack MINES ParisTech, PSL Research University, France CoqPL 2015 Music and PL? Music and PL?

More information

On Compensation Primitives as Adaptable Processes

On Compensation Primitives as Adaptable Processes On Compensation Primitives as Adaptable Processes Jovana Dedeić University of Novi Sad Jovanka Pantović (Novi Sad) and Jorge A. Pérez (Groningen) LAP 2015 - Dubrovnik, September 24, 2015 Outline 1 Context

More information

Lecture 7: The Polynomial-Time Hierarchy. 1 Nondeterministic Space is Closed under Complement

Lecture 7: The Polynomial-Time Hierarchy. 1 Nondeterministic Space is Closed under Complement CS 710: Complexity Theory 9/29/2011 Lecture 7: The Polynomial-Time Hierarchy Instructor: Dieter van Melkebeek Scribe: Xi Wu In this lecture we first finish the discussion of space-bounded nondeterminism

More information

Introduction to Metalogic

Introduction to Metalogic Introduction to Metalogic Hans Halvorson September 21, 2016 Logical grammar Definition. A propositional signature Σ is a collection of items, which we call propositional constants. Sometimes these propositional

More information

Lecture 3: Reductions and Completeness

Lecture 3: Reductions and Completeness CS 710: Complexity Theory 9/13/2011 Lecture 3: Reductions and Completeness Instructor: Dieter van Melkebeek Scribe: Brian Nixon Last lecture we introduced the notion of a universal Turing machine for deterministic

More information

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2

Pipelining. Traditional Execution. CS 365 Lecture 12 Prof. Yih Huang. add ld beq CS CS 365 2 Pipelining CS 365 Lecture 12 Prof. Yih Huang CS 365 1 Traditional Execution 1 2 3 4 1 2 3 4 5 1 2 3 add ld beq CS 365 2 1 Pipelined Execution 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

More information

CSE 505, Fall 2005, Midterm Examination 8 November Please do not turn the page until everyone is ready.

CSE 505, Fall 2005, Midterm Examination 8 November Please do not turn the page until everyone is ready. CSE 505, Fall 2005, Midterm Examination 8 November 2005 Please do not turn the page until everyone is ready. Rules: The exam is closed-book, closed-note, except for one side of one 8.5x11in piece of paper.

More information

Performance Evaluation of Scientific Applications on POWER8

Performance Evaluation of Scientific Applications on POWER8 Performance Evaluation of Scientific Applications on POWER8 2014 Nov 16 Andrew V. Adinetz 1, Paul F. Baumeister 1, Hans Böttiger 3, Thorsten Hater 1, Thilo Maurer 3, Dirk Pleiter 1, Wolfram Schenck 4,

More information

Statistical Learning. Philipp Koehn. 10 November 2015

Statistical Learning. Philipp Koehn. 10 November 2015 Statistical Learning Philipp Koehn 10 November 2015 Outline 1 Learning agents Inductive learning Decision tree learning Measuring learning performance Bayesian learning Maximum a posteriori and maximum

More information

An introduction to process calculi: Calculus of Communicating Systems (CCS)

An introduction to process calculi: Calculus of Communicating Systems (CCS) An introduction to process calculi: Calculus of Communicating Systems (CCS) Lecture 2 of Modelli Matematici dei Processi Concorrenti Paweł Sobociński University of Southampton, UK Intro to process calculi:

More information

A Language for Task Orchestration and its Semantic Properties

A Language for Task Orchestration and its Semantic Properties DEPARTMENT OF COMPUTER SCIENCES A Language for Task Orchestration and its Semantic Properties David Kitchin, William Cook and Jayadev Misra Department of Computer Science University of Texas at Austin

More information

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus CS 4110 Programming Languages & Logics Lecture 16 Programming in the λ-calculus 30 September 2016 Review: Church Booleans 2 We can encode TRUE, FALSE, and IF, as: TRUE λx. λy. x FALSE λx. λy. y IF λb.

More information

Implicit Self-Adjusting Computation for Purely Functional Programs

Implicit Self-Adjusting Computation for Purely Functional Programs Implicit Self-Adjustg Computation for Purely Functional Programs Yan Chen Joshua Dunfield Matthew A. Hammer Umut A. Acar MPI-SWS September 19, 2011 Incremental/Dynamic Problems Input: 3, 5, 8, 2, 10, 4,

More information

Lecture Outline. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. Total Power. Energy and Power Optimization. Worksheet Problem 1

Lecture Outline. ESE 570: Digital Integrated Circuits and VLSI Fundamentals. Total Power. Energy and Power Optimization. Worksheet Problem 1 ESE 570: Digital Integrated Circuits and VLSI Fundamentals Lec 16: March 20, 2018 Energy and Power Optimization, Design Space Exploration Lecture Outline! Energy and Power Optimization " Tradeoffs! Design

More information

Concurrent Processes and Reaction

Concurrent Processes and Reaction Concurrent Processes and Reaction Overview External and internal actions Observations Concurrent process expressions Structural congruence Reaction References Robin Milner, Communication and Concurrency

More information