Title: Software Agents Knowledge Sharing KQML, KIF and Ontologies
1Software AgentsKnowledge SharingKQML, KIF and
Ontologies
- Tim Finin
- University of Maryland
- Baltimore County
- finin_at_umbc.edu
- http//umbc.edu/finin
http//www.cs.umbc.edu/finin/sisce97
2Overview
- Motivation
- Whats an agent?
- Agent theory
- Agent technology
- Applications
- Conclusion
Only when sage warriors use intelligent agents
will they certainly have success.
-- Sun Tzu
3Motivation
4About your workstation
- What work is your workstation doing for you
today? - Is it just sitting idle while you are here at
this meeting and when you are asleep? - Is it your workstation or anybodys ?
- Has it adapted to you and your preferences and
behaviors? - If your workstation cant do something, does it
know how to find another which can? - Can it collaborate and cooperate with its kin on
the Internet?
5About your web pages
- Why cant your web pages seek out viewers.
- When they change, can they notify the agents
which are interested in them? - What can your web pages say to be understood by
machines?
6About your web browser
- Why do you have to be in the drivers seat for it
to work? - Why can it understand any of the stuff that flows
thorough it?
7Whats an agent?
8What is an agent?A brief tour of agent-space
An agent is a powerful and ubiquitous abstraction
in computer science
- Daemons (e.g., ftp agent)
- User interface clients (e.g., mail agent)
- Physical agents (e.g., robotics)
- Believable agents (e.g., VR and graphics)
- Intelligent software agents
9What is a software agent?
We can identify some sub-categories
- User-facing agents
- Intelligent human-computer interface agents
- Adaptive user modeling agents
- Personal (expert) assistants
- e.g., personal retrieval agent
- Mobile software technology
- Cooperating software agents
- Resource discovery agents
- Mediators and facilitators
- Market agents
- etc
10So, whats a software agent?
- There isnt a consensus yet, but several key
concepts are important to this emerging paradigm. - A software agent
- is an autonomous, goal-directed process
- is situated in, is aware of, and reacts to its
environment - cooperates with other agents
(software or human) to accomplish its
tasks
11an emerging system-building paradigm
(with hype)
12Why another paradigm?
- Because it addresses current issues
- Fully distributed and heterogeneous
- provides inherent scalability
- Proactive as well as reactive
- agents generalize client-server
- Adaptable and evolvable
- through interoperability and learning
- Easier for us to model and understand
- by taking an intentional stance
- Scales over many orders of magnitude
- Its agents, not turtles, all the way down
13Software Agent Characteristics
after Hyacinth Nwana, 1996
14Agent Characteristic Adaptation
- Agents adapt to their environment and users and
learn from experience. - Via machine learning, knowledge discovery,
statistical techniques, etc. - Via communication through exchange of metadata,
brokering, and facilitation. - Interface agents acquire and use user models
- Situated in and aware of their environment
15Agent Characteristic Cooperation
- Agents use standard languages protocols to
cooperate and collaborate to achieve common
goals. - Cooperate with human agents and other software
agents - Supported by agent communication languages and
protocols. - Consistent with human conventions and intuition.
- Toward team formation and agent ensembles
16Agent Characteristic Autonomy
- Agents act autonomously to pursue their agenda.
- Proactive and reactive
- Goal directed behavior
- Appropriately long-lived
- Multi-threaded behavior
- Encourage viewing from an intentional stance
17Agent Characteristic Mobility?
A mobile agent is an executing program that
migrates from machine to machine in a
heterogeneous network under its own control.
- Note -- this definition implies some agent
attributes, e.g. autonomy, persistence, ... - Mobile agents off some very interesting
advantages as well as some disadvantages. - This is an important technology for distributed
systems and is largely orthogonal to other
agent issues.
18Agents vs. Intelligent Agents
What makes an agent an intelligent agent?
- A The size of the price tag.
- More seriously
- The paradigm covers agents of varying degrees of
intelligence - Intelligent agents will tend to
- know and apply more sophisticated domain
knowledge - recognizing underlying goals and intentions
- react to unexpected situations in a robust manner
- etc.
- Much of what we will be saying applies to agents
of little or no intelligence.
19Agent theory,architecturesand
ProgrammingTechnology
20Agent Theory
There is a body of theory underlying agent-based
systems
- Knowledge representation and reasoning
- BDI models
- Speech acts
- Machine learning
- Game theory
- Econometric models
21BDI agent models
Agents must represent and reason about other
agents, human or software.
- The BDI agent model considers agents to have
- Beliefs about itself, other agents and its
environment - Desires about future states (i.e., goals)
- Intentions about its own future actions (i.e.,
plans) - The BDI model is particularly useful for
- Developing formal models of agents
- Developing a deep model of agent communication
- Inferring an agents internal state from its
behavior
22Rational Agents
- A rational agents is modeled as making choices
resulting in intentions in an attempt to
optimize the expected utility with respect to
their desires and consistent with their beliefs. - Rational agents are self-interested agents
- A reasoner is limited in the amount of reasoning
it can (or should) spend on any given problem.
23Communication
- We draw on research in (computational)
linguistics for an underlying communication model - Speech act theory
- Discourse analysis
- We also draw on work from distributed computing
- Analyzing and specifying protocols
24What is a speech act?
Speech act theory is a high level framework
developed by philosophers and linguists to
account for human communication
- Speakers do more than just utter sentences which
have a logical (truth-theoretic) meaning. - The cat is on the mat
- Speakers perform speech acts requests,
suggestions, promises, warnings, threats,
criticisms, praise, etc. - I hereby promise to buy you lunch
- Every utterance is a speech act
25Performatives
- In speech act theory, a performative is a speech
act whose utterance performs an action. - Examples promise, assert, request, confirm, ask
... - Heuristic X is a speech act if you can say I
hereby X. - The KQML agent communication language uses the
term performative to mean a primitive message
type - A key objective is to develop systems based on
the right set of communication primitives
26Econometric models
Economics has studied how to model, predict and
control the aggregate behavior of very large
collections of intelligent agents.
- Conceptual tools include
- game theory
- general equilibrium market mechanisms
- protocols for voting and auctions
- General assumption
- agents are only motivated by own self-interests
and choose actions to maximize payoff given the
current protocol. - An objective is to design good artificial markets
and protocols to result in the desired behavior
of our agents
27Artificial life
- One way that agents could adapt is via an
evolutionary process. - Individual agents use their own strategies for
behavior with death as the punishment for poor
performance and reproduction the reward for
good. - Techniques include
- genetic programming
- natural selection
- sexual reproduction
28Agent Architectures
People are using several architectures for
agent-based information systems.
- Beyond client server
- Mediated architectures
- Single agents vs Multi-agent systems
- Markets and swarms
29Beyond client-server
Agents generalize the client-server architecture
which has dominated the Internet since its
beginning.
- Think of your role in human society. Are you a
client or a server? - Mobile agents go beyond C/S by enabling clients
to distribute computations to servers and
vice-versa. - Communicating agents generalize the C/S model
since sometimes an agent acts as a client and
sometimes as a server.
mediated architecture for information systems
-- after Gio Wiederhold
30Agents vs. MAS
- Some research focuses on developing sophisticated
individual agents with advanced capabilities and
other on multi-agent systems (MAS) - MAS research is particularly focused on
- cooperation and collaboration
- team and coalition formation
- information sharing among the team
- joint beliefs, goals and plans
31Agent programming languages
Although many languages can be used for writing
software agents, there are useful characteristics
- Multi-threaded
- Good communication support
- Support for security (communication execution)
- Support for maintaining DBs and/or KBs
- Mobility?
- Good GUI support
- Good interoperability features to support
mediated architectures and component-based
programming
32What are people using
- Mobile agents require a language that supports
mobility. Some examples - Languages designed to work in a sandbox Java,
Safe-Tcl, Safe-Python, - True mobile languages Telescript, Tacoma,
Agent-Tcl,... - Java-based frameworks for mobile languages
Aglets, Voyager, ... - Communicating agents can be written in your
favorite programming language - Java, C/C, Lisp, Prolog, Smalltalk, Tcl, Perl
- with a suitable agent-communication module
33Example -- TKQML
- TKQML application adds KQML functionality to any
Tcl/Tk shell. - Provides simple route to high level communication
among Tcl/Tk based agents. - Incorporates tools for a facilitated environment
(resource brokering). - Scripts are registered dynamically for handling
incoming messages. - Current processing is interrupted by handler, and
resumes when message handling is complete.
34Agent Communication
- Agent cooperation requires communication
- Opinion Agent-agent communication is the key to
realizing the potential of the agent paradigm,
just as the development of human language was a
key to the development of human potential - We assume that agents use an Agent Communication
Language or ACL to communication information and
knowledge. - Genesereth (CACM, 92) defined a software agent as
any system which uses an ACL to exchange
information.
35Some ACLs
- Is CORBA an ACL?
- Knowledge sharing approach
- KQML, KIF, Ontologies
- FIPA
- Ad hock languages
- e.g., SGIs Open Agent Architecture language
36Knowledge Sharing Technology
37Knowledge Sharing Effort
- The KSE is a distributed research project
involving over a dozen research groups aimed at
developing techniques, methodologies and software
tools for knowledge sharing and knowledge reuse. - This requires a common language (syntax,
semantics, pragmatics) - Some existing components that can be used
independently or together - KIF -- knowledge interchange format (syntax)
- Ontolingua - a language for defining sharable
ontologies (semantics) - KQML - a high-level interaction language
(pragmatics)
38Knowledge Interchange Format
KIF
- KIF First order logic with set theory
- An interlingua for encoded knowledge
- Takes translation among n systems from O(n2) to
O(n) - Common language for reusable knowledge
- Implementation independent semantics
- Highly expressive -- can represent knowledge in
typical application knowledge bases. - The subject of an ANSI standardization committee
(ASC NCITS.TC.T2)
39KIF 101
KIF
- KIF is a relational language
- (salary 015-46-3946 72000)
- (supervisor ?p ?p)
- but not a flat one, as in relational databases
- (gt ( (width chip1) (length chip1))
- ( (width chip2) (length chip2)))
- KIF includes a variety of logical operators
- (gt (and (real-number ?x) (even-number ?n))
- (gt (expt ?x ?n) 0))
40KIF 101
KIF
- KIF can encode meta-knowledge about functions
relations - (transitive R), (inverse R1 R2), (holds ?r 1 2) ,
(value ?f 1 2) - (ltgt (transitive ?r)
- (gt (and (holds ?r ?x ?y) (holds ?r ?y ?z))
- (holds ?r ?x ?z))))
- KIF can encode knowledge about knowledge,
- (interested joe (salary ,?x ,?y ,?z))
- KIF can also be used to describe procedures
- (progn (fresh-line t)
- (print "Hello!")
- (fresh-line t))
- Many agents only need
or use a subset of
KIF
41KIF Software
KIF
- Several KIF-based reasoners are available from
Stanford (Lisp implementation). - IBMs ABE (Agent Building Environment) and RAISE
reasoning engine use KIF as their external
language. - Stanfords Ontolingua uses KIF as its internal
language. - Translators (partial) exist for a number of other
KR languages, including LOOM, Classic, CLIPS,
Prolog, ... - Parsers for KIF exist which take KIF strings into
C or Java objects. - See lthttp//www.cs.umbc.edu/kifgt for more
information.
42Common Semantics Shared Ontologies and Ontolingua
Ontologies
- Ontology A common vocabulary and agreed upon
meanings to describe a subject domain.
Ontol"ogy (?), n. Gr. the things which exist
(pl.neut. of , , being, p.pr. of to be) -logy
cf.F. ontologie. That department of the science
of metaphysics which investigates and explains
the nature and essential properties and relations
of all beings, as such, or the principles and
causes of being. Webster's Revised Unabridged
Dictionary (G C. Merriam Co., 1913, edited by
Noah Porter)
- This is not a profoundly new idea
- Vocabulary specification
- Domain theory
- Conceptual schema (for a data base)
- Class-subclass taxonomy
- Object schema
43Reusable Declarative Knowledge
Ontologies
- Declarative knowledge is the critical enabler for
- Large scale intelligent systems
- Interoperation of object-oriented systems
- Encoding knowledge is prohibitively expensive
- Extensive time
- Sophisticated expertise
- We must develop capability for knowledge reuse
via tools and techniques for - Creating and preserving reusable knowledge bases
- Assembling knowledge bases from reusable modules
44Representation Requires Vocabulary
Ontologies
- Domain experts use domain-specific vocabulary
- Traditional KR languages are domain-independent
(E.g, FOPC, frames, schemas) and dont provide a
domain-specific vocabulary - KB construction therefore involves two steps
- Defining vocabulary to be used to represent the
knowledge - Representing the knowledge using the defined
vocabulary
45Ontologies
Ontologies
- An ontology contains specification of concepts to
be used for expressing knowledge - -- Types of entities -- Relations and functions
- -- Attributes and properties -- Constraints
- Ontologies are distinguished from KBs not by
their form, but by the role they play in
representing knowledge - consensus models for a domain
- Emphasis on properties that hold in all
situations - Emphasis on classes rather than instances
- Intended to support multiple tasks and methods
- Dont change during problem solving and are
suited for compiling into tools - Need to satisfy a community of use
- Emphasis on collaborative development
- Emphasis on translation to multiple logical
formalisms - Useful for education
46Conceptual Schemas
Ontologies
- A conceptual schema specifies the intended
meaning of concepts used in a data base
Data Base
Table price stockNo integer cost float
Data Base Schema
Auto Product Ontology
price(x, y) gt (x, y) auto_part(x)
stock_no(x) x
retail_price(x, y, Value-Inc)
magnitude(y, US_dollars) y
Product Ontology
Conceptual Schema
Units Measures Ontology
47Ontology Library and Editing Tools
Ontologies
Ontolingua is a language for building,
publishing, and sharing ontologies.
- A web interface to a browser/editor at
http//ontolingua.stanford.edu/ and mirror sites. - Internal representation is KIF augmented with a
frame language ontology - enables OO structuring of ontologies
- Ontologies can be translated into other content
languages, including KIF, LOOM, Prolog, CLIPS,
etc. - Provides user with fully cross-referenced HTML
documents
48KQML Knowledge Query and Manipulation Language
KQML
- KQML is a high-level, message-oriented,
communication language and protocol for
information exchange independent of content
syntax and ontology. - KQML is independent of
- the transport mechanism (e.g., tcp/ip, email,
corba objects, IIOP, etc.) - Independent of content language (e.g., KIF, SQL,
STEP, Prolog, etc.) - Independent of the ontology assumed by the
content. - KQML includes primitive message types of
particular interest to building interesting agent
architectures (e.g., for mediators, sharing
intentions, etc.)
49A KQML Message
KQML
- Represents a single speech act or performative
- e.g., ask, tell, reply, subscribe, achieve,
monitor, ... - with an associated semantics and protocol and a
list of attribute/value pairs - e.g., content, language, from, in-reply-to,
...
50Semantics for tell(A,B,X)
KQML
- bel(A,X), A states to B that A believes X to be
true (for A). - Pre(A) bel(A,X) AND know(A,want(B,know(B,S)))
where S may be bel(A,X) or NOT(bel(A,X)) - Pre(B) intend(B,know(B,S))
- Post(A) know(A,know(B,bel(A,X)))
- Post(B) know(B,bel(A,X))
- Completion know(B,bel(A,X))
- Comment The completion condition and
- postconditions hold unless a sorry or error
- suggests Bs inability to properly acknowledge
- the tell.
51Some KQML Performatives
KQML
- Basic query performatives evaluate, ask-if,
ask-in, ask-one, ask-all - Multi-response query performatives
stream-in, stream-all - Response performatives reply, sorry, error
- Generic informational performatives tell,
achieve, cancel, untell, unachieve - Generator performatives standby, ready,
next, rest, discard, generator - Capability-definition performatives
advertise, subscribe, monitor, import, export - Networking performatives register,
unregister, forward, broadcast, route
52Simple Query Performatives
KQML
ask-all(P)
tell((p1 p2 p3...))
ask-all(P)
tell(p1)
tell(p2)
tell(p3)
Agent-based Information Retrieval
July 1997
53KQML protocols
KQML
Broker
Recommend
Recruit
Register
Agent-based Information Retrieval
July 1997
54Lockheed/UMBC KQML Software Architecture
KQML
- Router
- Content independent message router.
- One per agent - handles sending and asynchronous
receiving of messages. - KRILs
- Knowledge Representation Interface Library.
- Maps incoming KQML messages to application
handlers - Standard agent facilitate building MAS systems
- Agent name server
- Logger, Controller, Visualizer, ...
- Brokers ...
- Proxy agents ...
- Mediators ...
Agent-based Information Retrieval
July 1997
55KQML Utility Agents
KQML
- We have developed a number of KQML speaking
utility agents based on standard ontologies. - Agent Name Server Logger
- Message Router Authenticator
- Broker Communication Visualizer
- Controller Proxy Agent
- These facilitate the development of agent-based
systems.
Agent-based Information Retrieval
July 1997
56KQML Utility Agents
57KQML APIs and System Interfaces
KQML
- KQML APIs
- KATS (Loral/UMBC)
- KAPI (Lockheed/EIT/Stanford)
- MAGENTA (Stanford)
- LogicWare (Cryzalys)
- Toronto - Lisp and C
- JavaAgentTemplate (Stanford), Jackal (UMBC) --
Java - TKQML (UMBC) -- Tcl/Tk
- System interfaces
- Languages Lisp, C, C, Perl, Prolog, Tcl,
CLIPS, Scheme, Java, ... - KR languages LOOM, KRSL, ...
- Systems DBMSs, SIMS, ...
58Applications
59Agent-Based Information Retrieval (ABIR) Mind Map
Adaptive
Collaborative
Interface
EachMovie
Phoaks
Fab
RARE/Tunes
Firefly
ReferralWeb
GroupLens
SimilaritiesEngine
Morse
SiteSeer
MovieCritic
Yenta
ABIR
Large,
Proactive
Heterogeneous,
Distributed
Letizia
RemembranceAgent
CARROT
InfoSleuth
Push
Retsina
SAIRE
Backweb
Knowbot
Marimba
All-in-one
Pointcast
Fastfind
SIFT
Metacrawler
TopicAGENTs
Metasearch
Metasearch
Netbot Jango
Shopbots
Profusion
Shopbot
Savvysearch
WebCompass
60Knowbot ABIR Systems
- A knowbot is an ABIR system that provides a
single query language to access a variety of
information sources - It serves as a representative for the user (which
demands program autonomy). - Examples of knowbots MetaCrawler, SavvySearch,
Shopbot, BargainFinder, Fido. - Metacrawler
- Queries a variety of search engines in parallel.
- Provides a uniform user interface.
- Merges results from different engines.
- Downloads and scans pages if necessary.
- Passes ads through.
61Collaborative Filtration Systems
- A collaborative filtration system makes
recommendations to a person based on the
preferences of similar users, e.g. recommending
people (Yenta, ReferralWeb), products (Firefly,
Tunes, EachMovie, Morse, MovieCritic), or
readings (Wisewire, Firefly, Fab, Phoaks) - Content-based recommendation retrieves other
documents similar to those the user liked
earlier. - Collaborative recommendation retrieves documents
liked by other people similar to the user.
62Example Firefly
- Has been applied to music, movies, web pages,
books, etc. - Uses several neighbor sets to improve precision.
- Will recommend people who rate a given page
highly, and pages that a giver person rates
highly (e.g., My Yahoo). - Sets cookies incessantly.
- Developed user passport
63Example Remembrance Agent
- Indexes personal files and e-mail.
- Embedded in Emacs.
- When you perform a task, it automatically
suggests relevant documents. - Provides continuous associative recall.
64Example Letizia
- Agent browses as you browse.
- People typically browse depth-first Letizia
browses breadth-first. - Uses a variety of heuristics to identify
interesting pages. - When an interesting page is identified, it is
displayed in a separate browser window.
65Semantic web markup with SHOE
- Simple HTML Ontology Extensions developed by UMCP
PLUS Group - Ontological mark-up tags allow the web page
author to add semantic knowledge of the pages
content. - Pages and sub-regions are the ground objects in
the world. - Definitions for classes, relations, attributes,
axioms, etc. are also defined on web pages.
66URL agents
- URL agents are responsible for, and understand
small groups of related web pages and communicate
with other agents with similar pages - Each URL has an agent which can think, speak, and
act for it.
67URL Agents speak for one or more related web
pages
Ontology Page
URLA2
KB
WWW
Ontology Page
URLA1
KB
Related Web Pages
68Example
WWW text
Shoe tag
Prerequisite CMSC 202 ltRELATION
hasPrereq TOhttp//
....CMSC-202gt (tell to urla42 from
spider387 content (prereq
CS-341 CS-202) ontology
http///courseontology.html language
KIF)
KQML message sent to URL agent
69Course Ontology
ltONTOLOGY course-ontology" VERSION2.5"gt
ltONTOLOGY-EXTENDS meeting-ontology"
VERSION"2.1" PREFIXmtg"
URL"http//onto.org/mtg/2.1/"gt ltONTDEF
CATEGORYcourse" ISAmtg.periodic"gt ltONTDEF
RELATIONfrequency" ARGScourse timeinterval"gt
ltONTDEF RELATIONhasPrereq" ARGScourse
course"gt ltONTDEF INFERENCEgt ltONTIF
RELATIONhasPrereq 1a 2bgt ltONTIF
RELATIONchainPrereq 1b 2cgt
ltONTTHEN RELATIONchainPrereq 1a
2cgtlt/ONTDEFgt lt/ONTOLOGYgt
70urlAgent Prototype Architecture
URL agent
KQML API
Referenced Ontologies
CLIPS
Semantic information from local web pages in KQML
Web robot
KQML API
Web pages with semantic markup added
Markup added by hand
Markup added via SHOE enabled editor
Custom markup agent
Raw web page
Raw web page
Raw web page
71Linneaus
- Problem What can we use as an ontology to
characterize what a document is about? - Solution use a pre-existing, naturally
occurring ontology, e.g., - Yahoo hierarchy -- 150K nodes
- Newsgroup hierarchy -- 5K newsgroups
- Encyclopedia articles -- 10K articles
- Approach automatically classify the target
document with respect to the ontology corpus with
telltale.
72CARROT Cooperating Agent-based Routing and
Retrieval of Text
- Agents provide access to different corpora, using
existing IR engines - Agents share metadata with Broker agents, which
route queries and new documents to the right
place(s). - Two enabling technologies
- KQML agent communication language
- N-gram processing
73CARROT Assumptions and Architecture
- Dynamic corpus - new documents may arrive at any
time - Corpus is physically partitioned among many
back-end processors, each represented by an
agent - Each back-end handles 1-10 GB
- interact with local IR/DB engines
- generate metadata, to be shared with the
broker(s) - metadata for a set of documents is a compressed
n-gram profile - Brokers
- collect metadata from back-end agents
- use Telltale to manage these metadata corpora
- may be organized in hierarchies, thereby scaling
to many GBs of data - Light-weight version of Telltale to generate
metadata for other engines
74(No Transcript)
75CARROT Back-end Agent
- Interacts with local IR/DB engines to access data
- No interference with existing applications
- Generates metadata, to be shared with one or more
brokers - Metadata for a set of documents is a compressed
n-gram profile
76CARROT Broker
- Collects metadata from back-end agents
- Uses Telltale to manage these metadata corpora
- Otherwise similar to back-end agents
- Can be organized in hierarchies
TK GUI
KQML
TKQML
broker.c
TCL Agent
Metadata
Telltale
77Telltale
- Telltale is an information retrieval engine
designed for - scalability
- use with a wide variety of document types and
languages - embedding in larger systems
- Some key features include
- vector space model for representing documents and
queries - use of character n-grams
- use of corpus centroids as
metadata - Tcl/Tk user interface
- Agent api using KQML
78Documents as term vectors
- A document is a sequence of terms (e.g. words,
word stems or n-grams) - We can represent a document as a (normalized)
vector of the frequency of each of the unique
terms in a document. - A similarity measure of two documents can be
measured as the angle between their vectors. - We can represent the combination of two documents
by adding (and renormalizing) their vectors - We can represent a corpus as the sum of the
vectors of all of its documents (the centroid)
79n-grams vs. words
- An IR system can use n-grams or words as terms
- Advantages of n-grams
- Dont need a morphological model (e.g., for
stemming) so good for multi-linguistic
environment or non-language corpora (e.g., Java
code). - Robust w.r.t. letter errors (typos, ocr errors,
etc) - Provides some context since they span adjacent
words - computer science --gt compu ter_ s er_sc
r_sci _scie ... - Advantages of words
- Can be more precise (computation but not
computer) - Amenable to boolean combinations
- Bottom line?
- Depends on specifics of application
80VR based visualization of retrieval
- Real-time, interactive stereo viewing of results
of information retrieval engine - Each document returned is rendered as a glyph
(icon) - Document properties mapped to 3D location, shape,
color, transparency, and texture. - Provides spatialization of complex relationships
and comprehensible display of multiple variables
81VR Approach
- Immersive
- Isolates the user from environment
- Expensive
- Minimally-immersive
- Access to environment
- Collaboration possible
- Low cost
- Two hands give proprioception
- Uses Two 3D Trackers with Buttons
- User manipulates 3D scene with trackers
- Each hand has a distinct role -- left sets up
context and right performs fine manipulation
82Visualizing a document space
Mappings X similarity to federal reserve
bank Y similarity to commodity prices Z
similarity to foreign exchange rate of the
dollar Shape similarity to coup attempt
against Noreiga with cube as lowest and cone as
highest Color age of document with blue as the
oldest and yellow as the newest Transparency Text
ure
83- Participants
- IBM Corp
- University of Maryland Baltimore County
- University of North Carolina at Charlotte
- University of Florida
- Berclain USA Ltd.
- QAD Inc
- GSE Systems
- Lucent Technologies
- Ingersoll-Rand Co.
- Demand Solutions
- DLoG Remex Inc.
- Intercim
- EnvisionIt Software
- Funder National Institute of Standards and
Technology / Advanced Technology Program
(NIST/ATP) - Technologies for the Integration of Manufacturing
Applications (TIMA) - 22.9M over 3 years (6/96 - 6/99), 45
government, 55 consortium - Goal Plug and Play framework of business
objectives and integration enabling tools
allowing a suite of solutions that can be
implemented out-of-the-box at small and
midsized manufacturing and process sites
including MES, ERP, Finite Scheduling, and
Capacity Analysis/Decision Support - Objectives interoperability, configurability,
adaptability, extensibility, plug and play.
84Current Implementation Components
People
MES
Netscape
1
2
KQML/KIF
1
1
Java-Enabled Web Browser
BOD
3
4
4
4
MOOPI
- All agents register with the Agent Name Server
- An agent may communicate/collaborate with any
other agent - The Broker Agent matches agent interests with
service providers - Arrows indicate path of rate monitoring scenario
85Conclusion
86Some key ideas
- Software agents offer a new paradigm for very
large scale distributed heterogeneous
applications focusing on the interactions of
autonomous, cooperating processes which can adapt
to humans and other agents. - Intelligence is always a desirable characteristic
but is not strictly required by the paradigm. - There is a wealth of prior theory from several
disciplines but you neednt to be an expert to to
apply or use it.
87Some key ideas
- Modern programming languages support building
agents with threads a real plus and mobility an
interesting option. - Communication is of central importance and, in
particular - Establishing common agent communication
languages. - Developing common ontologies for application
domains. - Establishing common agent protocols.
- The paradigm is still forming.
- See http//www.cs.umbc.edu/agents