IRIS Developer's Guide


Table of Contents

1. Overview
1.1. IRIS Background
1.1.1. Motivation
1.1.2. Project History
1.1.3. Documentation and Support
1.2. Structure of this document
2. Getting started
2.1. Setup
2.2. Getting IRIS Source
2.3. Using IRIS with an IDE
2.3.1. Using IRIS with IntelliJ
2.3.2. Using IRIS with Eclipse
2.4. Building and Running IRIS
2.4.1. Directory structure
2.4.2. Ant Tasks
2.4.3. Mac Build
2.4.4. Nightly Builds
2.4.5. Running IRIS
3. IRIS Architecture
4. Configuring IRIS and writing Plugins
4.1. Requirements
4.2. Overview
4.3. Configuration and Startup
4.3.1. Configuration Conventions
4.3.2. Startup Options
4.3.3. IRIS exec scripts
4.3.4. Bootstrapping IRIS programatically
4.3.5. Debugging IRIS
4.4. Keychain Server
4.4.1. Starting the CALO keychain service
4.4.2. Managing the Keychain service
4.4.3. Accessing the keychain server programatically
4.4.4. Creating custom CALO XML-RPC servers
4.4.5. Testing the keychain service
4.5. IRIS Plugins
4.5.1. Plugin SDK
4.5.2. Plugin Tutorial
5. Core IRIS Services
5.1. Requirements
5.2. Bootstrap Services
5.2.1. com.sri.iris.kernel.IIrisAppDirLocator
5.2.2. com.sri.iris.kernel.user.IUserAccountManager
5.2.3. com.sri.iris.kernel.user.ILogin
5.3. Knowledge Base
5.3.1. Ontology files
5.3.2. Ontology Usage Documentation
5.3.3. Generation of POJOs and Task Parameters
5.3.4. Binding Paths
5.3.5. Ontology interfaces in IRIS
5.4. Misc Infrastructure
5.5. PubSub
5.5.1. Ontology
5.5.2. Task Types
5.5.3. Task Parameters
5.5.4. Transient PubSub Data
5.5.5. Testing
6. Testing
6.1. Running automated unit tests
6.2. Running PubSub and Harvest Tests
6.3. Writing IRIS unit tests
6.3.1. Plugin unit tests
6.3.2. IRIS unit tests
6.4. Testing Guidelines
A. Requirements Index