TCC, With History RADHA JAGADEESAN (WITH VINEET GUPTA AND VIJAY SARASWAT)

Slides:



Advertisements
Similar presentations
Higher-order Abstract Syntax with constraints or Testing concurrent systems or 25 Years of Logic Programming Languages Radha Jagadeesan, De Paul U Gopalan.
Advertisements

Some Prolog Prolog is a logic programming language
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Chapter 11 :: Logic Languages
Computational Models The exam. Models of computation. –The Turing machine. –The Von Neumann machine. –The calculus. –The predicate calculus. Turing.
Use trace algebra to formalize the YAPI model EE290N Spring2002 Alessandro Pinto Mentors: Roberto Passerone Jerry Burch.
Lecture 11: Datalog Tuesday, February 6, Outline Datalog syntax Examples Semantics: –Minimal model –Least fixpoint –They are equivalent Naive evaluation.
Prolog The language of logic. History Kowalski: late 60’s Logician who showed logical proof can support computation. Colmerauer: early 70’s Developed.
Prolog The language of logic. History Kowalski: late 60’s Logician who showed logical proof can support computation. Colmerauer: early 70’s Developed.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Mar, 4, 2015 Slide credit: some slides adapted from Stuart.
CSE 425: Logic Programming I Logic and Programs Most programs use Boolean expressions over data Logic statements can express program semantics –I.e., axiomatic.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
An Abstract Semantics and Concrete Language for Continuous Queries over Streams and Relations Presenter: Liyan Zhang Presentation of ICS
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
Programming Language Semantics Denotational Semantics Chapter 5 Part II.
Logical Agents Chapter 7. Why Do We Need Logic? Problem-solving agents were very inflexible: hard code every possible state. Search is almost always exponential.
Logical Agents Chapter 7. Why Do We Need Logic? Problem-solving agents were very inflexible: hard code every possible state. Search is almost always exponential.
A Denotational Semantics For Dataflow with Firing Edward A. Lee Jike Chong Wei Zheng Paper Discussion for.
Jcc:TimedDefault cc Programming in JAVA Vijay Saraswat, IBM Research Radha Jagadeesan, DePaul University Vineet Gupta, Google.
Programming Language Semantics Denotational Semantics Chapter 5 Part III Based on a lecture by Martin Abadi.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
CSE314 Database Systems More SQL: Complex Queries, Triggers, Views, and Schema Modification Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
Evolution of Programming Languages Generations of PLs.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
1 Overview CO3225 Programming Language: Theory and Practice Low Aim is a Crime, but not high ambition.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Computer Science Department Data Structure & Algorithms Lecture 8 Recursion.
Artificial Intelligence Programming in Prolog Lecture 1: An Introduction 23/09/04.
Pattern-directed inference systems
Logical Agents Logic Propositional Logic Summary
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Introduction To PROLOG World view of imperative languages. World view of relational languages. A PROLOG program. Running a PROLOG program. A PROLOG.
19 Aug 2002EXPRESS On the Expressive Power of Temporal Concurrent Constraint Programming Languages Mogens Nielsen, BRICS Catuscia Palamidessi, INRIA.
1 Prolog and Logic Languages Aaron Bloomfield CS 415 Fall 2005.
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
CS4026 Formal Models of Computation Part II The Logic Model Lecture 2 – Prolog: History and Introduction.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 17 Wednesday, 01 October.
Logical Agents Chapter 7. Knowledge bases Knowledge base (KB): set of sentences in a formal language Inference: deriving new sentences from the KB. E.g.:
PROGRAMMING LANGUAGES: PROLOG, CLOJURE, F# Jared Wheeler.
Introduction to Prolog. Outline What is Prolog? Prolog basics Prolog Demo Syntax: –Atoms and Variables –Complex Terms –Facts & Queries –Rules Examples.
CPSC 322, Lecture 19Slide 1 (finish Planning) Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt – 5.2) Oct,
CPSC 422, Lecture 21Slide 1 Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 21 Oct, 30, 2015 Slide credit: some slides adapted from Stuart.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
MB: 26 Feb 2001CS Lecture 11 Introduction Reading: Read Chapter 1 of Bratko Programming in Logic: Prolog.
Lecture 4-1CS250: Intro to AI/Lisp Logical Reasoning I Lecture 4-2 January 25 th, 1999 CS250.
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
Specifying Multithreaded Java semantics for Program Verification Abhik Roychoudhury National University of Singapore (Joint work with Tulika Mitra)
IBM Research: Software Technology © 2005 IBM Corporation Programming Technologies 1 Temporal Rules Vijay Saraswat IBM TJ Watson July 27, 2012.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
More SQL: Complex Queries, Triggers, Views, and Schema Modification
By P. S. Suryateja Asst. Professor, CSE Vishnu Institute of Technology
More SQL: Complex Queries,
Announcements No office hours today!
Computer Science cpsc322, Lecture 20
Knowledge and reasoning – second part
PL/SQL Scripting in Oracle:
EECS 498 Introduction to Distributed Systems Fall 2017
Logical Agents Chapter 7.
Knowledge and reasoning – second part
Computer Security: Art and Science, 2nd Edition
Logic: Domain Modeling /Proofs + Computer Science cpsc322, Lecture 22
Relational Database Design
Program correctness Axiomatic semantics
Representations & Reasoning Systems (RRS) (2.2)
Presentation transcript:

TCC, With History RADHA JAGADEESAN (WITH VINEET GUPTA AND VIJAY SARASWAT)

TCC, With History A SUBJECTIVE TOUR OF ONE LINE OF JOINT RESEARCH WITH PRAKASH. INGREDIENTS THAT BUILD UP TO THE PAPER IN PROCEEDINGS PAPER IN PROCEEDINGS IS BETTER REFERENCED THAN THIS TALK

Reminiscing … Joined Cornell for Ph. D in Fall My first research project with Prakash: 1988 Summer Stone Duality lectures by Prakash and Dexter [Spring 88, Fall 88, Spring 89??] Don’t let the perpetually cheerful mien of these two gentlemen fool you!

Id [Arvind, Nikhil, Pingali, ~80s] “Copy problem” x[3] = … often results in a copy of array x Updatable shared memory Aims to be deterministic: so, monotone shared memory via logic variables x X[2]=array[5] x[1]=4 X[0]=2

Id [Arvind, Nikhil, Pingali, ~80s] x X[2]=array[5] x[1]=4 X[0]=2 Write write conflicts: solved by unification Read write conflicts: solved by blocking reads

Id [Arvind, Nikhil, Pingali, ~80s] x Read write conflicts: solved by blocking reads x = array(2*n), x[0] =1 for (i=1; i<n; i++) { x[2*i ] = 2*x[2*i-1] for (i=0; i<n; i++) { x[2*i+1] = 2*x[2*i]

Programs as constraints x x = array(2*n), x[0] = 1 for (i=1; i<n; i++) { x[2*i ] = 2*x[2*i-1] for (i=0; i<n; i++) { x[2*i+1] = 2*x[2*i]

Pingali: Constraints as closure operators x Store of logic variables: lattice, ordered by information order. Top element = false … Programs = extensive, idempotent operators on store Composition = least upper bound of closure operators [f || g] (x) = LUB { x, f(x), g(f(x)), f(g(f(x)))….. x = array(2*n), x[0] = 1 for (i=1; i<n; i++) { x[2*i ] = 2*x[2*i-1] for (i=0; i<n; i++) { x[2*i+1] = 2*x[2*i]

Closure operators via fixed points x Closure operator f determined by the set of fixed points FIX(f) FIX(f||g) : set intersection of FIX(f), FIX(g) x = array(2*n), x[0] = 1 for (i=1; i<n; i++) { x[2*i ] = 2*x[2*i-1] for (i=0; i<n; i++) { x[2*i+1] = 2*x[2*i]

Aside: Expressions. Input/Output Symmetry Interpret a function Array()  Array() as a closure operator on [ Store x Array1 x Array2] Array1, Array2: Copies of Domain of arrays Store: Binding of variables to values (perhaps arrays) All ordered by information ordering array

Research into (concurrent) constraint programming  Generalizing shared store.  Weakening monotonicity  Adding time

Shared Store == Constraint system [Lassez, Maher] [Panangaden, Saraswat, Scott, Seely] Conjunction Existentials A database of logical facts. Eg. HERBRANDT, RATIONAL TREES, SET CONSTRAINTS

Concurrent constraint programming [Saraswat] [Panangaden, Rinard, Saraswat] [Palamidessi, de Boer, …] [TELL] a: add c to store [ASK] if a then A: [blocking] query for a [PARALLEL]: A || B

Program execution as proof search [Lincoln, Saraswat] c  A: implication A || B: conjunction

Aside: Uniform proofs [Miller, Nadathur,Loveland…] An INTUITIONIST proof in which any sequent whose succeedent contains a non-atomic formula occurs only as the result of an inference rule that introduces the top level logical symbol of that formula, eg.

Horn Clauses

Lambda Prolog

18 Kowalski, Colmerauer,… Jaffar, Lassez, Maher Miller, Nadathur Clark, Shapiro, Ueda Maher, Saraswat Saraswat, Lincoln Leach, Nieva, Rodriguez- Artalejo V. Saraswat ( Some) Logic Programming Languages Saraswat, Nadathur, Jagadeesan

Default Logic

The “Histogram” problem [PINGALI] Given: A[1..n] taking values in 1..m Compute IN PARALLEL : B[1..m] such that B[j] = {i | A[i] = j}

Default CC [TELL] a: [ASK] if a then A [PARALLEL]: A || B [DEFAULT] if a else A

Default CC: flavors of indeterminacy if a ELSE a NO SOLUTIONS if a ELSE b, if b ELSE a TWO SOLUTION

Default CC [TELL] a: [ASK] if a then A [PARALLEL]: A || B [DEFAULT] if a else A

Logic: Reiter’s default logic Proof search interpretation of default cc not explored. Ma: if a else a

Time!

Model P0 P1 P2 P3 Store is reborn at each instant At each instant: synchrony Run program to quiescence to get current store and a continutation for the future

HENCE A = NEXT ( ALWAYS ( A))

Payoff: an analysis of synchronous programming [Berry, Benveniste] The multiform nature of time. ``Any signal can serve as a notion of time’’ TIME A ON a: A runs only at those instants when store entails “a”

Payoff: an analysis of synchronous programming [Berry, Benveniste] The multiform nature of time. ``Any signal can serve as a notion of time’’ do A watching a: A runs only at those instants when store entails “a”

Payoff: an analysis of synchronous programming [Berry, Benveniste] The multiform nature of time. ``Any signal can serve as a notion of time’’ suspend A on a activate b: A runs only at those instants when store entails “a”

Payoff: an analysis of synchronous programming Causality issues in synchronous programming ==== Determinacy issues of default logic

TCC for complex event processing PAPER IN PROCEEDING

Examples Declare the sensor as faulty if no reading has been received for 500ms Every tenth time the price drops within an hour emit volatility warning. Sea of asynchronous events, correlate different event streams, detect absence of events permit aggregations over sliding windows, specify dependent sliding windows

Liberating programmer from forward- looking and event-driven rules Maintaining the past information. [Nielsen, Palamidessi, Valencia] Moving “back-and-forth” in the past ``Order a review if the last time that IBM stock price dropped by $10 in a day, there was more than $20 increase in trading volume for Oracle the following day." “If the merchant has been tenured less than 90 days, and the sum of the transactions in the last 7 days is much higher than the 7 day average for the last 90 days, then investigate a 7 day hit and run possibility.”

THE PAPER An operational semantics Conservativity over Timed CC

QUESTIONS?