USCISIUSCISI Procedural Programming Outline of talk: Deductive Kb with Multiple Paradigms Production rules Methods Lisp-to-Loom Interface Interpretations.

Slides:



Advertisements
Similar presentations
Chapter 7: Deadlocks.
Advertisements

First-Order Logic Chapter 8.
Implementation and Verification of a Cache Coherence protocol using Spin Steven Farago.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Concurrent Programming Abstraction & Java Threads
Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11.
2/9/20031 ECE 551: Digital System Design & Synthesis Lecture Set 4 4.1: Verilog – Procedural Assignments &Scheduling Semantics 4.2: Verilog – More Behavioral.
1 CSC321 §2 Concurrent Programming Abstraction & Java Threads Section 2 Concurrent Programming Abstraction & Java Threads.
USCISIUSCISI Tuning for Performance Outline of talk: Classifier Performance Recognizer Performance Performance Tips CLOS Instances and the Backchainer.
Conflict Resolution  what to do if there is more than 1 matching rule in each inference cycle? match WM with LHS of rules select one rule (conflict resolution)
1 CMSC421: Principles of Operating Systems Nilanjan Banerjee Principles of Operating Systems Acknowledgments: Some of the slides are adapted from Prof.
Expert System Human expert level performance Limited application area Large component of task specific knowledge Knowledge based system Task specific knowledge.
Manage Run Activities Cognos 8 BI. Objectives  At the end of this course, you should be able to:  manage current, upcoming and past activities  manage.
Avishai Wool lecture Priority Scheduling Idea: Jobs are assigned priorities. Always, the job with the highest priority runs. Note: All scheduling.
Expert Systems 3 1 Rewriting Rules, CLIPS Content of this lecture: 1.Interpretation of rules 2.Example: CLIPS Sorting 3.Non-determinism 4.Control regimes:
The ghost of intrusions past Ashlesha Joshi Peter M. Chen University of Michigan 7 December 2004.
Use cases and requirement specification - 1 Use case diagrams 3 use cases System boundaries Remember: Use case diagramming is a tool, not the requirements.
Expressing Giotto in xGiotto and related schedulability problems Class Project Presentation Concurrent Models of Computation for Embedded Software University.
February 12, 2009 Center for Hybrid and Embedded Software Systems Model Transformation Using ERG Controller Thomas H. Feng.
Deadlocks Gordon College Stephen Brinton. Deadlock Overview The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
What we will cover…  The Deadlock Problem  System Model  Deadlock Characterization  Methods for Handling Deadlocks  Deadlock Prevention  Deadlock.
[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
מידול התנהגותי 1. Today’s Session Sequence Diagrams State Machines 2.
USCISIUSCISI Modeling in a Medical Domain Basic Concepts Using Recognition More Sophisticated Relations Methods, Actions and Production Rules.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Pattern-directed inference systems
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 7: Deadlocks.
Rule Based Systems  If then  Rules to solve problems  What is forward chaining?  What is backward chaining?  Expert systems.
UML Discussion on State Machines Perfectly static system is intensely uninteresting Because nothing ever happens.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 7: Deadlocks.
Concurrency Control 1 Fall 2014 CS7020: Game Design and Development.
THIS PRESENTATION: WINDOWS UPDATES VIA AUTOMATIC DEPLOYMENT RULES BEST PRACTICES SYSTEM CENTER CONFIGURATION MANAGER 2012 R2 Jodie Gaver Jodie Gaver Working.
School of Computer Science, The University of Adelaide© The University of Adelaide, Control Data Flow Graphs An experiment using Design/CPN Sue Tyerman.
Concurrent Computing CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Internal and Confidential Cognos CoE COGNOS 8 – Event Studio.
Dr. Kalpakis CMSC 421, Operating Systems Deadlocks.
Chapter 7: Deadlocks. 7.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 7: Deadlocks System Model Deadlock Characterization Methods.
Forward and Backward Chaining
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 7 Operating Systems.
Chapter 8 Deadlocks. Objective System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Aggregator Stage : Definition : Aggregator classifies data rows from a single input link into groups and calculates totals or other aggregate functions.
Artificial Intelligence Knowledge Representation.
1 Security and Dependability Organizational Patterns - A Proof of Concept Demo for SERENITY A. Saidane, F. Dalpiaz, V.H. Nguyen, F. Massacci.
Lecture 6 Deadlock 1. Deadlock and Starvation Let S and Q be two semaphores initialized to 1 P 0 P 1 wait (S); wait (Q); wait (Q); wait (S);. signal (S);
Logical Agents. Outline Knowledge-based agents Logic in general - models and entailment Propositional (Boolean) logic Equivalence, validity, satisfiability.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 7: Deadlocks.
Chapter 7: Deadlocks.
Operational Semantics of Scheme
Model and complexity Many measures Space complexity Time complexity
IEEE Std 1074: Standard for Software Lifecycle
ICS 143 Principles of Operating Systems
Deadlock B.Ramamurthy CSE421 1/11/2019 B.Ramamurthy.
Chapter 7: Deadlocks.
Threads Chapter 4.
21 Threads.
Deadlock B.Ramamurthy CSE421 2/23/2019 B.Ramamurthy.
Chapter 7: Deadlocks.
Deadlock B.Ramamurthy CSE421 4/23/2019 B.Ramamurthy.
Deadlock B.Ramamurthy CSE421 5/1/2019 B.Ramamurthy.
OBJ first-order functional language based on equational logic
Chapter 7: Deadlocks.
Deadlock B.Ramamurthy CSE421 8/28/2019 B.Ramamurthy.
Deadlock B.Ramamurthy CSE421 9/3/2019 B.Ramamurthy.
The Vision Mobilizing the Web with DAML-Enabled Web Services
Presentation transcript:

USCISIUSCISI Procedural Programming Outline of talk: Deductive Kb with Multiple Paradigms Production rules Methods Lisp-to-Loom Interface Interpretations of Updates

USCISIUSCISI Multiple Paradigm Programming Idea: Suite of programming paradigms that each exploit a dynamically changing deductive knowledge base. Loom paradigms: Data driven(production rules, monitors) Methods (pattern-directed dispatch) Procedural(Lisp)

USCISIUSCISI Upgrading Traditional Paradigms (defproduction P1 :when (:detects (Foo ?x)) :do ((print "New Foo"))) (defmethod M1 (?self) :situation (Foo ?self) :response ((print "It’s a Foo all right"))) Innovations: “Foo” can expand to an arbitrarily complex description; “Edge-triggered” productions; Pattern-based method dispatching.

USCISIUSCISI Production Rule Semantics (defproduction :when :perform ) Semantics: Whenever a set of variable bindings in becomes true (provable), call with that set of bindings. Example: (defproduction P2 :when (and (Switch ?s) (:detects (status ?s 'on))) :perform (turn-on (appliance-of ?s))) The :when condition of a production must include at least one of the transition operators :detects, :undetects, or :changes.

USCISIUSCISI Semantics of :detects (:detects (A ?x)) is defined as (and (A ?x) (:previously (:fail (A ?x)))) (:previously (B ?x)) is defined as (:at-agent-time (- *now* 1) (B ?x)))

USCISIUSCISI Semantics of Detects (cont.) (:detects (:and (A ?x) (B ?x))) will trigger if A and B become true simultaneously or if A becomes true and B is already true or if B becomes true and A is already true (:and (:detects (A ?x)) (:detects (B ?x))) will trigger only if A and B become true simultaneously

USCISIUSCISI Production Rule Semantics (cont). All production rule instantiations at the end of an update cycle are fired in parallel. No conflict resolution (this is a feature!) Effects of one production cannot inhibit firing of another (parallel) production. Rationale: We want productions to be “well-behaved” (no race conditions); Preference semantics is the province of the method paradigm. Division of responsibility: Production determines when to perform task; Method determines how to perform task.

USCISIUSCISI Task Scheduling Productions can post tasks on a queue rather than executing them immediately. (defproduction P5 :when (and (:changes (home-team-score ?game)) (basketball-game ?game)) :schedule (celebrate) :priority :low) (defproduction P6 :when (and (:changes (home-team-score ?game)) (football-game ?game)) :schedule (celebrate) :priority :high)

USCISIUSCISI Monitors Monitors are productions that fire only when specifically designated instances undergo property transitions. (defmonitor Watch-for-Redraw :when (or (:changes (color ?object)) (:changes (size ?object))) :do ((redraw (slot-value ?object 'window))) (tellm (color Thing5 'Red)) nothing happens (attach-monitor 'Thing' Watch-for-Redraw) (tellm (color Thing5 'Green)) calls redraw Monitors generalize the active value paradigm

USCISIUSCISI Methods defaction: Defines Loom equivalent of ``generic function''. defmethod: Defines procedurally-invoked situation- response rule. (defmethod ( ) :situation :response )

USCISIUSCISI Method Filters Most frequent modes of method use. Given a call to invoke an action M: (1) execute all methods named M whose situations are satisfied, or (2) execute the most specific among those methods named M whose situations are satisfied. A ``filter sequence'' determines the criteria for choosing which methods to fire (among those that are eligible).

USCISIUSCISI Method Filters Example (defaction M2 (?x ?y) :filters (:perform-all)) (defmethod M2 (?x ?y) :situation (= ?x ?y) :response ((print "EQ"))) (defmethod M2 (?x ?y) :situation (<= ?x ?y) :response ((print "LE"))) (perform (M2 3 4)) --> "LE" (perform (M2 4 4)) --> "LE" "EQ" both methods fire (defaction M2 (?x ?y) :filters (:most-specific)) (perform (M2 4 4)) --> "EQ" only the most specific method fires