Mica User's Guide

Mohammed Waleed Kadous

Claude Anthony Sammut

James Henry Westendorp

2005


Table of Contents

1. Introduction
Basic introduction to Mica
Comparing MICA to other systems
MICA as a type of database
MICA as a Publish/Subscribe Model
MICA as a web service and/or RMI and/or RPC
MICA compared to CORBA
MICA as an agent architecture
The manual
2. The MICA Design
Basic entities
The Blackboard
Agents
MICA Objects
Putting the pieces together
3. Installing and running MICA
Getting MICA
MICA requirements
Installing MICA
A more detailed look
4. The MICA implementation
Parts
A quick walk through the MICA API
unsw.cse.mica.data.Mob
unsw.cse.mica.agent.AgentTransport
unsw.cse.mica.agent.Agent
Setting up Agents and Agent Transports
The MICA type system
Using the Blackboard
Configuring MICA
Giving information about types
The MICA query language
5. A simple client: SharedPad
6. A collection of clients: the mail reading application
A scenario
Cast of characters
Setting up Mobs
7. Writing your first clients
8. Writing your own transport medium
9. Writing your own security policy
10. Writing your own blackboard

List of Figures

1.1. A typical OAA query
2.1. How MICA components are connected
3.1. MicaRunner window
3.2. sharedpad-run.xml
4.1. A simple mob
4.2. A more complex Mob
4.3. A MicaRunner XML file snippet with complex arguments
4.4. shapes.xml
5.1. The init() method for SharedPad
5.2. The drawSharedLine() method for SharedPad
5.3. The handleMob() method for SharedPad
5.4. The newLine() method for SharedPad
6.1. Screenshot of the Whizbang interface
6.2. The type declaration for types of text used between agents.
6.3. readordisplay.xml
6.4. Sequence diagram for training the WhizBang
6.5. The MICA debugger
6.6. Tree learnt from conversation with user