Building Distributed Software Systems with the Open Agent Architecture SRI International David Martin Adam Cheyer Douglas Moran PAAM ’98.

Slides:



Advertisements
Similar presentations
The Open Agent ArchitectureTM
Advertisements

Technical and design issues in implementation Dr. Mohamed Ally Director and Professor Centre for Distance Education Athabasca University Canada New Zealand.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Chapter 19: Network Management Business Data Communications, 4e.
Effective Coordination of Multiple Intelligent Agents for Command and Control The Robotics Institute Carnegie Mellon University PI: Katia Sycara
Technical Architectures
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
Introduction To System Analysis and Design
John Hu Nov. 9, 2004 Multimodal Interfaces Oviatt, S. Multimodal interfaces Mankoff, J., Hudson, S.E., & Abowd, G.D. Interaction techniques for ambiguity.
Distributed Systems Architectures
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
ICS (072)Database Systems Background Review 1 Database Systems Background Review Dr. Muhammad Shafique.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Business Intelligence Dr. Mahdi Esmaeili 1. Technical Infrastructure Evaluation Hardware Network Middleware Database Management Systems Tools and Standards.
Software Agent -design issues-. Outline Agent review Approaches to building applications Agent & interagent programming tips Incremental system development.
Development of mobile applications using PhoneGap and HTML 5
Client-Server Processing and Distributed Databases
November 2011 At A Glance GREAT is a flexible & highly portable set of mission operations analysis tools that increases the operational value of ground.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Design Patterns & Component Frameworks CS67041Spring 2002 Open Agent Architecture (OAA) - Part II -Murali Krishnan.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
MVC pattern and implementation in java
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
PROJECT NAME: DHS Watch List Integration (WLI) Information Sharing Environment (ISE) MANAGER: Michael Borden PHONE: (703) extension 105.
Some Thoughts on HPC in Natural Language Engineering Steven Bird University of Melbourne & University of Pennsylvania.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Building and Using Practical Agent Applications SRI International David Martin Adam Cheyer David Martin Adam Cheyer PAAM ’98 Tutorial.
INTELLIGENT AUTOMATION INC. Extending Rational Rose to support MAS design in UML Intelligent Automation Inc. 2 Research Place, Suite 202 Rockville, MD.
An Introduction to Software Architecture
Using Visual Basic 6.0 to Create Web-Based Database Applications
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
Database System Concepts and Architecture
DBSQL 14-1 Copyright © Genetic Computer School 2009 Chapter 14 Microsoft SQL Server.
High Level Architecture Overview and Rules Thanks to: Dr. Judith Dahmann, and others from: Defense Modeling and Simulation Office phone: (703)
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Introduction To System Analysis and Design
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
CHAPTER TEN AUTHORING.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Supporting FIPA Interoperability for Legacy Multi-Agent Systems Christos Georgousopoulos 1 Omer F. Rana 1 ( ) 2.
Agile SOA Agile EAI How do we achieve agility in Enterprise Integration?
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Client/Server Computing
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Introspecting Agent-Oriented Design Patterns Manuel Kolp, T. Tung Do, Stéphane Faulkner and T. T. Hang Hoang Presented by Rachel Bock, Sam Shaw, Nicholas.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
Importance of user interface design – Useful, useable, used Three golden rules – Place the user in control – Reduce the user’s memory load – Make the.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Stanford hci group / cs376 u Jeffrey Heer · 19 May 2009 Speech & Multimodal Interfaces.
W3C Multimodal Interaction Activities Deborah A. Dahl August 9, 2006.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
1 Security and Dependability Organizational Patterns - A Proof of Concept Demo for SERENITY A. Saidane, F. Dalpiaz, V.H. Nguyen, F. Massacci.
The Role of Reflection in Next Generation Middleware
The Client/Server Database Environment
Chapter 18 MobileApp Design
11/23/2018 8:30 AM BRK3037 BRK3037: Dive deep on building apps and services with the Office 365 Communications Platform David Newman Senior Program Manager.
Software Connectors.
An Introduction to Software Architecture
Presentation transcript:

Building Distributed Software Systems with the Open Agent Architecture SRI International David Martin Adam Cheyer Douglas Moran PAAM ’98

SRI International 3/24/98 PAAM ’98 Outline n Overview of OAA n Requirements & Goals n System Architecture n Concluding Remarks

SRI International 3/24/98 PAAM ’98 What Is an Agent? Mobile Agents Programs that move among computer hosts Autonomous Agents Based on planning technologies Learning Agents User preferences, collaborative filtering,... Animated Interface Agents Avatars, chatbots,... Simulation-based Entities Data/Info finding, filtering and merging Cooperative Agents Cooperation among distributed heterogeneous programmatic components Examples Voyager, Aglets, Odyssey Robots, Softbots, BDI Microsoft Agent, Julia ModSAF, RoboCup OAA, KQML, FIPA FireFly, MIT Media Lab SIMS, InfoSleuth, IR

SRI International 3/24/98 PAAM ’98 Approaches to Building Applications MonolithicApplicationsObject-OrientedApplications Distributed Object Applications OAA Applications Dynamic membership OAA: A framework for integrating a community of software agents in a dynamic, distributed environment

SRI International 3/24/98 PAAM ’98 OAA-based Applications 1. Automated Office 2. Unified Messaging 3. Multimodal Maps 4. CommandTalk 5. ATIS-Web 6. Spoken Dialog Summarization 7. Agent Development Tools 8. InfoBroker 9. Rental Finder 10. InfoWiz Kiosk 11. Multi-Robot Control 12. MVIEWS Video Tools 13. MARVEL 14. SOLVIT 15. Surgical Training 16. Instant Collaboration 17.Crisis Response 18. WebGrader 19. Speech Translation

SRI International 3/24/98 PAAM ’98 Outline n Overview of OAA n Requirements & Goals u Interoperation u User Interfaces u Software Engineering n System Architecture n Concluding Remarks

SRI International 3/24/98 PAAM ’98 Interoperation Goals n Dynamic, distributed environments n Flexibility & ease in: u Assembling communities of autonomous service- providers u Structuring cooperative interactions n Imposing the right amount of structure n Legacy & “owned-elsewhere” applications u Wrappers & surrogates u Integration with standards David Martin: Reference, importance of legacy applications: Pitfalls of Agent-Oriented Development Reference, integration with standards: ADEPT’s use of CORBA David Martin: Reference, importance of legacy applications: Pitfalls of Agent-Oriented Development Reference, integration with standards: ADEPT’s use of CORBA

SRI International 3/24/98 PAAM ’98 User Interface Goals n Conceptually natural for users u Make user requests comprehensible to system u Make system results comprehensible to user u Help user understand system complexity … F Multiple autonomous actors F Dynamic communities u … Or not be required to n User as privileged member of agent community n Integrate multimodality n Collaboration

SRI International 3/24/98 PAAM ’98 Software Engineering Goals n Minimal effort to create new agents n Encourage reuse n Support lightweight, mobile platforms n Minimize platform & language barriers n Provide economical means of coding interactions

SRI International 3/24/98 PAAM ’98 Outline n Overview of OAA n Requirements & Goals n System Architecture u Interagent Communication Language u Providing and Requesting Services u Facilitation u Data Management u Temporal Control / Triggers n Concluding Remarks

SRI International 3/24/98 PAAM ’98 OAA Architecture Facilitator Agent Modality Agents Application Agent Application API Meta Agent Registry Support Agent User Interface Agent Interagent Communication Language

SRI International 3/24/98 PAAM ’98 Interagent Communication Language n Used by Agents to: u Declare Capabilities u Request Services of Community u Respond to Requests from Other Agents u Manage and Exchange Information n Ex.: ev_post_solve(Goal, Parameters) n Conversation & Content Layers u Conversation defined by event type + params u Content Visible to Facilitator n Advice/Constraints Can Accompany Requests

SRI International 3/24/98 PAAM ’98 Providing Services n Declaring capabilities u solvable(Goal, Parameters, Permissions) n Examples of parameters u type: {data, procedure} u test: procedure returning boolean u utility: [0.. 10] n Modifiable at any time u oaa_Declare(Solvables, GlobalParams) solvable(send_message( , +ToPerson, +Params), [type(procedure), callback(send_mail)], []), solvable(last_message( , -MessageId), [type(data), single_value(true)], [write(true)])

SRI International 3/24/98 PAAM ’98 Requesting Services oaa_Solve(TaskExpr, ParamList) Expressions: logic-based (cf. Prolog) Parameters: provide advice & constraints High-level task types: query, action, inform,... Low-level: solution_limit(N), time_limit(T), parallel_ok(TF), priority(P), address(Agt), reply(Mode), block(TF), collect(Mode),... Ex. oaa_Solve((manager(‘John Bear’,M), phone_number(M,P)), [query]) Exchange of messages handled transparently Interaction pattern determined by parameters

SRI International 3/24/98 PAAM ’98 Compound Goals n Address:Goal::Parameters u Address & parameters optional; facilitator responsible for full instantiation u Value-returning parameters u Global & local parameters n Composable using Prolog-style operators n Can be viewed as Prolog goals, extended by: u Address, parameters u Parallel conjunction, disjunction oaa_Solve( (locate(‘Adam Cheyer’, Where)::[strategy(query)], notify(MsgRef, ‘Adam Cheyer’, [at(Where), by(fax)])::[strategy(action)]), [])

SRI International 3/24/98 PAAM ’98 OAA Data Management n Declaring & utilizing data solvables u Unified with other types of services u Ex.: solvable(phone(Name, Phone#), [type(data)], []) n Built-in support n Example parameters u Single_value(t_f), unique_values(t_f) u Bookkeeping(t_f), persistent(t_f) u Synonym(synonym, original) u Rules_ok(t_f) n Maintaining data solvables  Ex.: oaa_AddData(DataExpr, ParamList)

SRI International 3/24/98 PAAM ’98 Collaboration-ready Data Management n Store data using OAA Data Management u oaa_DeclareData(icon(Id, X, Y, PictureType), [shareable, callback(icon_change)]) n Separate code which changes data from results, using callback feature u NOT: { oaa_AddData(icon(hilton, 100, 100, hotel), []) map_Display(icon(hilton, 100, 100, hotel)) } u BUT: { oaa_AddData(icon(hilton, 100, 100, hotel), []) } icon_change(add, icon(Id, X, Y, Picture)) :- map_Display(icon(Id, X, Y, Picture)).

SRI International 3/24/98 PAAM ’98 OAA Triggers OAA agents can dynamically register interest in any data change, communication event, or real- world occurrence accessible by any agent. oaa_AddTrigger(Type, Cond, Action, Params) comm:on_send, on_receive message time: “in ten minutes”, “every day at 5pm” data: on_change, on_remove, on_add task: “when mail arrives about...” The actions of triggers may be any ICL expression solvable by the community of agents Trigger Types Purpose Actions Adding a Trigger

SRI International 3/24/98 PAAM ’98 Facilitation Provider Requester Facilitator Goal Planning Plan Execution Registry

SRI International 3/24/98 PAAM ’98 Facilitator’s Role n Monitors membership of a dynamic community n Transparent delegation & distribution u Goals, information, triggers u Subject to advice & constraints u Yielding a variety of interaction patterns u Exploits parallelism where appropriate n Allows application agents to be lighter-weight n Can provide a blackboard style of interaction n Can be extended to provide mediation services n Coordinator, not controller

SRI International 3/24/98 PAAM ’98 Using Speech & NL n User Interface responsible for: u Accepting user input, sending requests, displaying results u Controlling interactions of speech and NL n Complex interpretation processed by external domain agent

SRI International 3/24/98 PAAM ’98 Multimodal Interfaces using Parallel Distributed Agents n Competition and cooperation among agents at many levels u Pen input: gesture recognizer vs. handwriting recognizer u Natural language: multiple NL systems (multilingual, diff. capabilities) u Reference Resolution n Multiple modalities for resolving ambiguities u e.g.arrow + “scroll map” vs. arrow + “photo of this hotel”

SRI International 3/24/98 PAAM ’98 Multimodal Reference Resolution u Context by object type: “show photo of the hotel” u Deictic: “Find distance from here to here”, “this one” u Positional context: Write “photo?” on hotel u Visual context: “Photo of the [visible] hotel” u Database queries: “show photo of the hotel in Menlo Park” u Discourse: “No, the other one” u User disambiguation through prompting: “Which hotel?”

SRI International 3/24/98 PAAM ’98 A Sample Text-to-Speech Agent in C #include ICLTerm capabilities = icl_TermFromStr(“[play(tts, Msg)]”); ICLTerm oaa_AppDoEvent(ICLTerm Event, ICLTerm Params) { if (strcmp(icl_Str(Event), “play”) == 0) { return playTTS(icl_ArgumentAsStr(Event, 2)); } else return NULL; } main() { com_Connect(“parent”, connectionInfo); oaa_Register(“parent”, “tts”, capabilities); oaa_MainLoop(True); } Include libraries List capabilities Define capabilities Agent Startup

SRI International 3/24/98 PAAM ’98 A Sample Text-to-Speech Agent in Prolog :- use_module(com). :- use_module(oaa). capabilities([ solvable(play(tts, Msg), [type(procedure), callback(tts_events)], [])]). tts_events(play(tts, Msg), Params) :- tts_api(Msg). start :- capabilities(C), com_Connect(parent, ConnectionInfo), oaa_Register(parent, tts, C), oaa_MainLoop(true). Include libraries List capabilities Define capabilities Agent Startup

SRI International 3/24/98 PAAM ’98 OAA and Scalability Facilitator is single point of failure Facilitator is bottleneck for communication Limitations: Solutions? Facilitator Multi-Facilitator topologies Distribution of planning & execution functions of Facilitator + peer-to-peer communication Registry & Planner Agent E Replicated Plan + Exe Facilitator

SRI International 3/24/98 PAAM ’98 Summary: OAA Characteristics Open: Extensible: User- friendly: Developer- friendly: Multimodal: Agents can be created in many languages and interface with existing systems Agents can be added or replaced dynamically User as privileged member of agent community; tasks expressible at a high level Unified approach to service provision, data management, temporal control Handwriting, speech, gestures, and direct manipulation can be combined