1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

DISTRIBUTED COMPUTING PARADIGMS
Mobile Agents Mouse House Creative Technologies Mike OBrien.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
M : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Technical Architectures
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
1 Quality Objects: Advanced Middleware for Wide Area Distributed Applications Rick Schantz Quality Objects: Advanced Middleware for Large Scale Wide Area.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Fundamentals of Python: From First Programs Through Data Structures
SOA, BPM, BPEL, jBPM.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Computer System Architectures Computer System Software
1 Course Introduction CS423 Client/Server Programming and Apps References: Comer/Stevens, Ch1.
Chapter Intranet Agents. Chapter Background Intranet: an internal corporate network based on Internet technology. Typically, an intranet can.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
An Introduction to Software Architecture
WEB SERVICES Mahmoud Rabie – EGJUG W EB SERVICES The world before Situation Problems Solutions Motiv. for Web Services Probs. with Curr. sols. Web.
DEVS Namespace for Interoperable DEVS/SOA
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
DCE (distributed computing environment) DCE (distributed computing environment)
Reactive Mobile Agent Programming with Jinni Copyright © 1999, BinNet Corp. Paul Tarau University of North Texas & BinNet Corporation.
Jinni: Intelligent Mobile Agent Programming at the Intersection of Java and Prolog Copyright © 1999, BinNet Corp. Paul Tarau University of North Texas.
Architectures of distributed systems Fundamental Models
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
A Logic Programming Based Software Architecture for Reactive Intelligent Mobile Agents - DIPLCL’99 Copyright © 1999, BinNet Corp. Paul Tarau University.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
Shuman Guo CSc 8320 Advanced Operating Systems
Intelligent Agent Framework1 From Chapter 7 of Constructing Intelligent Agents with Java.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
XML: The Three Revolutions
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
An Architecture-Centric Approach for Software Engineering with Situated Multiagent Systems PhD Defense Danny Weyns Katholieke Universiteit Leuven October.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
The Client/Server Database Environment
Distribution and components
Grid Computing.
University of North Texas
Inventory of Distributed Computing Concepts and Web services
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
IDSS Lab – research directions Sept 6, 2002
Architectures of distributed systems Fundamental Models
Distributed Systems through Web Services
AGENT FRAMEWORK By- Arpan Biswas Rahul Gupta.
Architectures of distributed systems Fundamental Models
Presentation transcript:

1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas & BinNet Corp.

2 Summary Agents = Objects + Logic + Inference Engines + Coordination + Remote Action Jinni 2002 Agent Programming Infrastructure: distributed, modular, component based, scalable, secure A Uniform Framework for Knowledge Processing and Reactive behavior

3 Jinni 2002 Jinni 2002: a fast Java based knowledge processing and agent programming software infrastructure distributed Prolog processes centered around active, constraint processing enabled blackboards high-level knowledge exchange protocols for mobile agents

4 Motivation networked, mobile computing increasingly complex patterns of interaction large scale knowledge processing tasks => agent programs with increasingly sophisticated inference capabilities, autonomy and self-reliance

5 Key Agent Programming: Reactive Behavior no need for interleaving thinking and action stages in the agent programming model itself. The availability of multi-threading, local and remote blackboard based coordination mechanisms, and multiple reentrant language interpreters allows a logical separation of concerns: inference mechanisms and reaction to events (expressed as patterns waiting for matching blackboard data) are expressed by orthogonal language constructs and can be programmed as loosely coupled components.

6 Multi-Agent Mechanisms Cyclic Multiple Depth First Inheritance Complex Agents are built by importing from a library of behaviors, roles and event processors Traditional inheritance: trees/lattice model Dominant information sharing model - the Web – directed graph structure multi-agent context: components developed by independent programmers: inheritance from a small set of similar "neighbors“, without being aware of the complete component library

7 Agent Negotiation Blackboard based programming provides natural building blocks for agent negotiation, search and market-style result optimizers. Our blackboards are enhanced with "blackboard constraint processing" - small chunks of additional code to be tested once the "waiting" pattern has been matched against new data produced by independent local or remote threads.

8 Jinni 2002: fast distributed Prolog in pure Java 1 million LIPS pure Java based Prolog - runs on.NET (with J#), on Windows, Unix, Pocket PC Blackboards, threads, remote predicate calls Support for agent programming: –flexible OO model – Cyclic Multiple Depth First Inheritence –orthogonal Programming Language Constructs

9 Objects and Logic Objects: –program composition and code reuse mechanisms and allow extension of a libraries of behaviors and knowledge processing components. Logic: –well understood, resolution based inference mechanisms –unification: flexible search, pattern matching

10 Inference Engines execution of multiple independent goals is needed for implementing complex reactive patterns in agent programs Engines are lightweight and highly autonomous instances of language interpreters - running through various scheduling models - in particular through blackboard coordinated multi-threading

11 Remote Action: a simple client-server style remote call mechanism a building bloc for various forms of remote action - in particular for supporting remote event propagation agent security layers: a combination of server side sandboxing, strong cryptography and password controlled server access the infrastructure provides P2P interaction patterns

12 Remote Calls run_server(Port,Pwd): ask_server(X,GX,Pwd,Host,Port,Result) abstract transport layer –unicast sockets –RMI, Corba, multicast sockets

13 Coordination agent coordination can (and should) be separated from the details of agent communication and the agent's computational mechanisms (engines). coordination through blackboards - databases with intelligent, constraint based search - instead of conventional message passing

14 Basic Linda Operations out(X): puts X on the blackboard in(X): waits until it can take an object matching X from the blackboard all(X,Xs): reads the list Xs matching X currently on the blackboard derived operations: cin/1, rd/1

15 Beyond Linda: Blackboard Constraint Operations wait_for(Pattern,Constraint): waits for a Pattern on the blackboard, such that Constraint holds, and when this happens, it removes the result of the match from the blackboard notify_about(Pattern): notifies about this Pattern one of the blocked threads which waits for it with a matching constraint

16 Coordination with Blackboard Constraints Two threads: T1 (prod) and T2 (cons) ?-notify_about(stock_offer(aol,11)). %T1 ?-notify_about(stock_offer(aol,9)). %T1 % action triggered in T2 => Price=9 ?-wait_for(stock_offer(aol,Price), %T2 less(Price,10)).

17 Secure Server and Client classes Communication through serialized sealed objects Server Window: ?- new(secure_server(8888,tweety),S), S:serve. hello Client Window ?- new(secure_client(localhost,8888,tweety), C), C:ask(println(hello)), C:disconnect.

18 Agents: Basic Agent Class :- [prolog_object,client,server]. % inheritance agent(Goal, LocalPort, RemoteHost, RemotePort, Password):- server(LocalPort, Password), client(RemoteHost, RemotePort,Password), bg(serve), bg(Goal). behave(N):- for(I,1,N), sleep(1), ask( println(message(I))), I=N.

19 Conclusion Logic Programming based Agent Programming Infrastructure: –Object oriented layer + inference engines –Secure peer-to-peer agent communication, coordination and goal execution –Blackboards with constraints and associative search have been suggested as an alternative to message passing agent architectures –Component technology – seamless integration of Java and Prolog classes