IBM Research: Software Technology © 2005 IBM Corporation Programming Technologies 1 Temporal Rules Vijay Saraswat IBM TJ Watson July 27, 2012.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Annual Conference of ITA ACITA 2009 Efficient Evaluation of History-based Policies Jiefei Ma 1, Jorge Lobo 2, Alessandra Russo 1, Emil Lupu 1, Seraphin.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
From Handbook of Temporal Reasoning in Artificial Intelligence By Jan Chomicki & David Toman Temporal Databases Presented by Leila Jalali CS224 presentation.
Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Satisfiability Modulo Theories (An introduction)
Kien A. Hua Division of Computer Science University of Central Florida.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
Timed Automata.
Agents That Reason Logically Copyright, 1996 © Dale Carnegie & Associates, Inc. Chapter 7 Spring 2004.
Propositional Logic Reading: C , C Logic: Outline Propositional Logic Inference in Propositional Logic First-order logic.
Logic.
A survey of techniques for precise program slicing Komondoor V. Raghavan Indian Institute of Science, Bangalore.
Everything You Need to Know (since the midterm). Diagnosis Abductive diagnosis: a minimal set of (positive and negative) assumptions that entails the.
Argumentation-based negotiation Rahwan, Ramchurn, Jennings, McBurney, Parsons and Sonenberg, 2004 Presented by Jean-Paul Calbimonte.
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
CS240A: Databases and Knowledge Bases Time Ontology and Representations Carlo Zaniolo Department of Computer Science University of California, Los Angeles.
A First Attempt towards a Logical Model for the PBMS PANDA Meeting, Milano, 18 April 2002 National Technical University of Athens Patterns for Next-Generation.
Proof-system search ( ` ) Interpretation search ( ² ) Main search strategy DPLL Backtracking Incremental SAT Natural deduction Sequents Resolution Main.
Esterel Overview Roberto Passerone ee249 discussion section.
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.
Logical Agents Chapter 7 Feb 26, Knowledge and Reasoning Knowledge of action outcome enables problem solving –a reflex agent can only find way from.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
CS240A: Databases and Knowledge Bases Time Ontology and Representations Carlo Zaniolo Department of Computer Science University of California, Los Angeles.
Methods of teaching programming at high schools and universities Vera Dron,
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
TCC, With History RADHA JAGADEESAN (WITH VINEET GUPTA AND VIJAY SARASWAT)
Workflows in Webdam Victor Vianu UC San Diego & INRIA/Webdam.
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Logical Agents Logic Propositional Logic Summary
Type Systems CS Definitions Program analysis Discovering facts about programs. Dynamic analysis Program analysis by using program executions.
19 Aug 2002EXPRESS On the Expressive Power of Temporal Concurrent Constraint Programming Languages Mogens Nielsen, BRICS Catuscia Palamidessi, INRIA.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 17 Wednesday, 01 October.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 14 of 41 Wednesday, 22.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Types of Processing of Data www. ICT-Teacher.com.
Trust Me, I’m Partially Right: Incremental Visualization Lets Analysts Explore Large Datasets Faster Shengliang Dai.
CPSC 322, Lecture 19Slide 1 (finish Planning) Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt – 5.2) Oct,
What’s Ahead for Embedded Software? (Wed) Gilsoo Kim
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Lecture 4-1CS250: Intro to AI/Lisp Logical Reasoning I Lecture 4-2 January 25 th, 1999 CS250.
Temporal Data Modeling
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Artificial Intelligence Knowledge Representation.
Streaming Semantic Data COMP6215 Semantic Web Technologies Dr Nicholas Gibbins –
Programming in hybrid constraint languages 上田研究室 M2 中村 好一.
Artificial Intelligence Logical Agents Chapter 7.
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Building Enterprise Applications Using Visual Studio®
Announcements No office hours today!
Datamining : Refers to extracting or mining knowledge from large amounts of data Applications : Market Analysis Fraud Detection Customer Retention Production.
Model Checking for an Executable Subset of UML
Logical Agents Chapter 7.
Multiple Aspect Modeling of the Synchronous Language Signal
Logical Agents Chapter 7.
Translating Linear Temporal Logic into Büchi Automata
Logical Agents Prof. Dr. Widodo Budiharto 2018
Presentation transcript:

IBM Research: Software Technology © 2005 IBM Corporation Programming Technologies 1 Temporal Rules Vijay Saraswat IBM TJ Watson July 27, 2012

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 2 Central Problem Need a powerful language for event processing that permits event correlation, detects absence of events (negative information), and permits aggregative queries. Temporal (Relational) Databases: Facts are associated with valid-time and transaction-time Streaming Databases: Streams are infinite tables, with windowed operations Declarative Synchronous Programming: Combines temporality with streaming

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 3 Timed Concurrent Constraint Programming System Environment Synchrony Hypothesis: Computation happens “instantaneously”. Synchronous Languages System lies inert. Environment supplies stimulus, at time and rate of its choosing. System computes instantaneous reaction and resumption (future behavior). Physical time is realized by driving on the beat of a physical clock (add a new time(M) fact to store at each instant). TCC Concurrent system, agents interact with each other by posting constraints on shared store. A ::= c | if c then A | A,A | new X in A | a A ::= next A | if c else A else allows detection of negative information Gentzen: Constraint system is just database of facts.

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 4 Example Programs The agent "Every hour checkpoint state" can be formulated as: every hour do checkPointState() This relation holds if p is the price of the most recent (in the past) time instant at which there is a stock(s,_) event. (If there is more than one stock(s,_) event at that time instant, p is the lowest such price.) prevPriceOfStock(s:Stock, p:Price) :- last (some q=> stock(s,q)) do p=(min q=>stock(s,q)). priceDropped(s:Stock) :- some p:Price => some q:Price stock(s,p), prevPriceOfStock(s,q), p < q. Every tenth time the price drops within an hour emit volatility warning. priceDropTenthTime(s:Stock) -: every hour do time next^10 emitVolatilityWarning on always priceDropped(s) watching hour.

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 5 TCC temporal constructs TCC permits a large number of temporal constructs (including pre- emption based constructs) to be defined always A = A, next always A every c do A = every time c is true, run A first c do A = at the first instant at which c is true, run A do A watching c = run A, and abort it as soon as c is true time A on B = run A on a clock defined by B... Basic Results (93-96): Language is declarative – computation in linear temporal logic Programs can be compiled to finite state automata System can be extended to continuous time (Large number of additional papers since then, on proof systems, abstract interpretation, expressiveness etc)

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 6 Complex Event Processing: TCC with History System Environment Key Idea Do not forget the past – store records constraints at all past time instants Use TCC constructs to move back and forth in the past. G::= c | G,G | if A then G | past G |... Technical Challenges Compile complex queries about the past to incremental “forward” rules (flat TCC) Share conditions across multiple rules. Conceptually, a “Rete” over time. Past, fully formed, queried in guard Future, operated on by agents

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 7 Business Rules Rich declarative rules in TCC very suitable for a business logic presentation. Plan: Develop a business language (working with WODM team), using BDSL framework. Business language compiled down into an intermediate representation based on TCC with Past, further compiled into FSMs where appropriate.

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 8 Next Steps

IBM Research: Software Technology © 2005 IBM Corporation Programming Technologies 9 Background

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 10 Constraint system: Examples  Gentzen  Herbrand –Lists  Finite domain  Propositional logic (SAT)  Arithmetic constraints –Naïve –Linear –Nonlinear  Interval arithmetic  Orders  Temporal Intervals Hash-tables Arrays Graphs Constraint systems are ubiquitous in computer science Type systems (checking, inference) Static analysis Symbolic computation Concurrent system analysis

META – Middleware for Events, Transactions and Analytics © 2009 IBM Corporation IBM Research 11 Concurrent Constraint Programming  Use constraints for communication and control between concurrent agents operating on a shared store.  Two basic operations –Tell c: Add c to the store –Ask c then A: If the store is strong enough to entail c, reduce to A. (Agents) A ::= c if (c) A A,B {x:T; A} (Config) G ::= A,…,A G,{x:T;A}  G,A (x not free in G) G, if (c) A  G,A (s(G) |- c) [[A]] = set of fixed points of a closure operator Operational semantics is complete for logical entailment of constraints. Saraswat 89; POPL 87, POPL 90, POPL 91