The document describes the design of a reasoning module that manages interactions with a user. It includes:
1) Event agents that receive events, update the user model, and are controlled by agent rules.
2) A user model that tracks the user's focus, interventions, preferences, and task information.
3) Integration and intervention agents that generate optimized task lists and prioritized interventions based on the user model.
4) Task models that describe tasks independently of any user.
The reasoning module uses the user model, task models, and agent rules to select appropriate interventions to propose to the user.
3. Overview
Set/get user model
Execution User Model Interface
Module Intervention
User
User
Agents UI model
Event
Agts' rules Interface
AskMe
Agts'
Application Agents rules
Event
Application
Intervention
24.11.2006 Reasoning Module Design 3
4. Overview
Set/get user model
Execution User Model Interface User model
Module Intervention config. engine
User
User
Agents UI model
Event
User Events Agents
Service Agts' rules
Agts' rules Interface
request
AskMe Tracking Events Agents config. engine
Environmental
tracking Event Agts'
Application Events Agents rules
Application
Event
Task Model Interface Task model
Application Integration Agents
config. engine
Task
Intervention Intervention Agents model
24.11.2006 Reasoning Module Design 4
5. Event agents
Set/get user model
Execution User Model Interface User model
Module Intervention config. engine
User
User
Agents UI model
Event
User Events Agents
Service Agts' rules
Agts' rules Interface
request
AskMe Tracking Events Agents config. engine
Environmental
tracking Event Agts'
Application Events Agents rules
Application
Event
Event agents
Application Integration Agents
Task Model Interface Task model
config. engine
•Receive events, Task
•Update user model: add foci to foci list,
Intervention Intervention Agents model
add interventions to intervention list,
interact with askme.
•Behavior controlled by agents rules. If
no configuration is done only default
rules are used
24.11.2006 Reasoning Module Design 5
6. Event agents (example)
Set/get user model
Application Events Agents
Execution
Module Intervention
•Start agent User model
User Model Interface
config. engine
•Complete agent
Agents UI User •
UserResume agent
model
Event
User Events Agents •External event agent
Service •Application suggestion agent
Agts' rules Interface Agts' rules
request
AskMe config. engine
Start agent Environmental
Tracking Events Agents
tracking Event Agts'
•Make current focus suspended Application Events Agents rules
Application
•Askme -> maximum time idle
Event
Task Model Interface Task model
•Create theApplication
new current focus Integration Agents
config. engine
•Save context of old focus
Intervention Intervention Agents
Task
model
•Apply rules. Default:
DEFAULT RULE 1: Propose alternative urgent
tasks on task start
IF event(start, task(id=T, T_params) )
T(urgency)= low
T' / T'(urgency) = high
THEN increase priority of T'
T,T' Task; T' Suspended_Task
24.11.2006 Reasoning Module Design 6
7. Integration agent
Integration agent Set/get user model
•Activated by event agents,
Execution User Model Interface User model
Module Intervention
•Based on user model content generates config. engine
an optimized foci list (not appearing in drawing).
Agents UI User
Event
User
model
User Events Agents
•Remove impossibleService (resources)
foci Agts' rules
Agts' rules Interface
request
•Apply time optimization strategies Agents
AskMe Tracking Events config. engine
Environmental
•Satisfy notifications and reminders Agents
tracking Event
Application Events
Agts'
rules
Application
Event
Task Model Interface Task model
Application Integration Agents
config. engine
Task
Intervention Intervention Agents model
24.11.2006 Reasoning Module Design 7
8. Intervention agent
Intervention agent
•Activated by integration agent, or
event agents on special events (idle user model
Set/get input,
breakpoint), Execution User Model Interface User model
Module Intervention config. engine
•Based on user model and optimized foci
list generates and prioritizes interventions
Agents UI User
Event
User
model
User Events Agents
(not appearing in drawing).
Service Agts' rules
•Responds to idle input events Events Agents
AskMe request
Tracking
Agts' rules Interface
config. engine
•Evaluates intervention type
Environmental
tracking Event Agts'
Application Events Agents rules
•Evaluates intervention modality
Application
Event
•Removes obsolete interventions Task Model Interface Task model
Application Integration Agents
config. engine
Task
Intervention Intervention Agents model
24.11.2006 Reasoning Module Design 8
9. Interventions
Set/get user model
Execution User Model Interface User model
Module Intervention config. engine
User
User
Agents UI model
Event
User Events Agents
AskMe
Service
request
Interventions Agts' rules Interface Agts' rules
config. engine
Tracking Events Agents
Environmental •Type (Propose Task, Feedback, Regulation)
tracking Event Agts'
•Related events rules
Application Events Agents
(events that have generated this intervention)
Application
Event •Task (task to be proposed to the user)
Task Model Interface Task model
Application •Content (defined by application)
Integration Agents
config. engine
Intervention
•Justification (explanation generated by the reasoning module)
Intervention Agents
Task
model
•Mode of intervention (generated by reasoning module,
recommendations for presentation of intervention. If embodied agent
type, this will be the interface to Cantoche module. Indicates media
(text, speech, agent, …), strength, etc.
24.11.2006 Reasoning Module Design 9
10. User model
User model
•Foci list (<user-task, priority, state> these are possible alternative
foci)
•Intervention list (<intervention, priority, state> these are
Set/get user model
Execution
possible interventions) User Model Interface User model
Module Intervention config. engine
•Preferences (maximum frequency of interruption, no-
interruption time, notification modalities)
User
User
Agents UI model
Event
•Notification requests (<event, intervention>)Agents
User Events
Service Agts' rules
•Intervention history (<intervention, time, context, user-
AskMe request
Tracking Events Agents
Agts' rules Interface
config. engine
feedback) Environmental
tracking Event Agts'
•User-task model (<task, urgency, deadline, continuation,
Application Events Agents rules
difficulty level, keywords, relevantApplication interruption preferences,
people,
Event
priority (?), progression, expected duration> based on the
Task Model Interface Task model
generic task description)
Application Integration Agents
config. engine
•Time available Task
Intervention Intervention Agents model
•Social network
•Reminders requests
•Events history
•…
•DO WE WANT TO ADD LEARNING SPECIFIC
ITEMS AS REQUESTED BY REVIEWERS?
24.11.2006 Reasoning Module Design 10
11. Task model
Task model (user independent) Set/get user model
Execution
•ID Module Intervention
User Model Interface User model
config. engine
•Type User
User
Agents UI model
•Name Event
User Events Agents
Service Agts' rules
•Maximum idle time request
AskMe Tracking Events Agents
Agts' rules Interface
config. engine
•Continuation (followingtracking Event
Environmental
task(s)) Agts'
Application Events Agents rules
•Difficulty level Application
Event
•Keywords Task Model Interface Task model
Application Integration Agents
config. engine
•Relevant people / social network
Task
•Required resources Intervention
(new information available
Intervention Agents model
events, user state (e.g. logged in), task state, …)
•Explanation to user
•Expected duration
24.11.2006 Reasoning Module Design 11