Desktop Agents

Download Report

Transcript Desktop Agents

Desktop Agents
Chapter 2 - 1
Contents
• Operating System Agents
• Application Agents
• Application Suite Agents
Chapter 2 - 2
Background
• A desktop agent is a software agent that executes
locally in a personal computer OS or workstation
PS environment.
• Desktop agents can be:
– OS agents — agents that perform user tasks that
ordinarily require user interaction with the OS,
autonomously as delegated by the user.
– Application agents — agents that perform user tasks
within an application on behalf of the user.
– Application suite agents — agents that perform user
tasks within a suite of applications on behalf of the user.
Chapter 2 - 3
Operating System Agents
• OS agents can be classified in two groups:
– Intelligent utilities that primarily interact with the OS
to perform tasks on behalf of the user.
– Interface agents that interact with the GUI shell of the
OS to perform tasks on behalf of the user.
• Typically, an OS agent is a background application.
– A UI agent communicates with the OS API to monitor
systems events (e.g., hook, or callback)
– A UI agent communicates with the OS GUI shell to
monitor user event of significance.
Chapter 2 - 4
Operating System Agents
• OS Agent Model Attributes
Environment
OS
Task skills
Setup, customization, maintenance,
automation, file management,
assistance
Knowledge
OS, network, GUI shell, user
Communication GUI shell, OS API, user interface
skills
Chapter 2 - 5
An Intelligent Utility System Agent
System Agent for Win95
• System Agent for Windows 95, an example of an intelligent
utility system agent, is a background program that launches
applications according to a user-defined schedule.
Chapter 2 - 6
Chapter 2 - 7
An Intelligent Utility System Agent
System Agent for Win95
• System Agent provides basic time-based scheduling
capability.
A figure for the scheduling option of System Agent is placed here.
Chapter 2 - 8
An Intelligent Utility System Agent
System Agent for Win95
• System Agent API is exposed to third-party
developers for incorporating scheduling services
into third-party applications using the underlying
engine.
• Any third-party program that is System Agentaware is then automatically appended to the
System Agent browser and can provide options for
event parameters to be used when the application
is running.
Chapter 2 - 9
Interface Agent — Open Sesame!
• Open Sesame! Is an interface agent for the Finder-GUI
shell of MacOS.
– If differs from the Win95 System Agent in that Open Sesame!
can schedule both time- and event-based tasks, and can learn
from user’s interaction with the MacOS GUI shell.
Observation
A repetitive pattern that an interface agent learns
and offers to automate
Instruction
A set of directions to the interface agent on how to
carry out a task
Confirmation A request for user's approval before an interface
agent carries out an instruction
Notification
A message to report the status of an instruction
being carried out by the agent
Chapter 2 - 10
Interface Agent — Open Sesame!
• Open Sesame! Learns repetitive patterns via a
sequence clustering algorithm.
– The first step, cluster analysis, tests the the internal
consistency of the given collection of sequences.
– The goal is to find the best representative pattern for
the given collection of sequence.
– The output from the sequence learning algorithm is a
fact.
– A fact consists of the learned representative patterns,
as well as a list of all triggers for the facts.
Chapter 2 - 11
Fig 2.4 p. 30
Chapter 2 - 12
Application Agents
• Application agents perform tasks within an application
autonomously as delegated by the user.
• The type of agents can be classified into two groups by
environment:
– Application agents that provide the agent-enabled features of
an application
– Interface agents that reside outside of the application they
serve
• Typically, an application interface agent is a background
program.
– The AIA communicates through the application API to monitor
user behavior.
Chapter 2 - 13
Application Agents
• Some typical tasks:
– Information retrieval automation for Web browsers
– Information filtering tasks for mail clients
– Customization of application document types based on user
preference
– Automation of queries for client database applications
– Proactive user assistance for in-context help regarding
application shortcuts, unused features, mistakes, and tips.
Environment
Application
Task skills
Customization, automation, assistance
Knowledge
Application, user, OS
Communication skills Application API, GUI shell API
Chapter 2 - 14
Application Agents — Wizards
• Wizards are used in MS desktop applications to
provide task-oriented help.
• A wizard gathers information about a particular
task, and then uses this collected information to
complete the task for the user.
• Wizards are especially useful for complex or
infrequent tasks that users may have difficulty in
learning or retaining.
• E.g., the Chart wizard in MS Execl; Word wizards
help users create preformatted documents
Chapter 2 - 15
Email Agent — Beyond Mail
• A rule-based agent for managing email.
– Filter and prioritize incoming messages on arrival,
– forward them automatically.
• Rule structure
When a specific event happens,
If it meets certain conditions,
Then take this action.
• Event dictionary
– message-based
• new message arrives, a message is read the first time, etc.
– time-based
• specific date, time, recurrent time period, etc.
Chapter 2 - 16
Email Agent — Beyond Mail
• Examples:
When a a new memo arrives,
If it is from the President and it has urgent priority,
Then move the message to my urgent folder and display an alert.
When a a new memo arrives,
If it is from the President and it is about budget,
Then reply to the President with the message “I am on vacation
this weekend; Margaret will send you the revised budget,”
forward the message to my budget folder.
Chapter 2 - 17
Email Agent — Beyond Mail
Fig 2.6, p. 34
Chapter 2 - 18
Search Agent — Web Compass
• Figs. 2.7, 8, and 9
Chapter 2 - 19
Application Suite Agents
• Application suite agents (e.g., MS Office wizards)
performs tasks within an application suite
autonomously as delegated by the user.
• Application suite agents perform tasks such as
– Customization of suite document types based on user
preferences
– Proactive user assistance for in-context help regarding
suite shortcuts, user mistakes, unused features, and tips
– Automation of user workflow across the various
components of the application suite
Chapter 2 - 20
An Application Suite Agents — MS Bob
Chapter 2 - 21
Benefits of Desktop Agents
Chapter 2 - 22