Plugin Design Documentation

This document outlines the requirements for plugin design documentation.

Plugin Type

Plugins can generally be categorized as one of the following:

  1. File Filter - A plugin that can read a data set from a stream.
  2. Analysis - A plugin that performs an analysis on a data set (often producing a result data set).
  3. Visualization - A plugin that creates a visualization of a data set.
  4. Interactive - A plugin that is a hybrid of Analysis and Visualization types.

Data Sets

All data sets that the plugin can operate on should be listed. If a plugin operates on a super-type data set, the sub-types need not be listed. If the plugin is capable of producing data sets, these types should be listed as well. Image snapshots need not be considered as produced data sets, since most visualization components create these.

Subscribed Types

The data types to which this plugin subscribes should be listed. If the subscription has a synchronization model other than Synchronous or SwingModel, then it should be indicated.

Published Types

The data types that are published by the plugin should be listed. Additionally, the conditions upon which the types are published should be indicated.

Remote Access

If the plugin makes any connections to remote hosts, information about such connections should be listed. The protocol, port, host (if fixed) and credential requirements should be included. Additionally, the conditions upon which plugin initiates remote access should be stated.

Description of Behavior

A brief description of the plugins behavior should be included.

Example

See an example of this documentation: Color Mosaic Design.