Dev Guide / Algorithm Developer's Guide







Apache 2.0 License
Algorithm Developer's Guide

Warning: This guide is under active development. Some pages may be incomplete or not present at all.

Cyberinfrastructure Shell

Algorithm Developer's Guide


The Cyberinfrastructure Shell (CIShell) is an open source, community-driven platform for the integration and utilization of datasets, algorithms, tools, and computing resources. Algorithm integration support is built in for Java and most other programming languages. Being Java based, it will run on almost all platforms. The software and specification is released under an Apache 2.0 License.

This guide attempts to aid algorithm developers in creating algorithms for CIShell (and applications built on CIShell).

For those who want to a quick start to developing CIShell algorithms, reading "Setting Up The Development Environment" and "Creating Java Algorithms" should be enough to get you started. For those interested in working with CIShell to develop an entirely new tool, or who want a more in-depth understanding of the development environment, it may be worth reading from the beginning of the guide.

This guide tries to contain all the information a new developer needs, but where necessary, it may cite the CIShell 1.0 Specification (API) or the OSGi Service Platform Specification, Release 4 (API). While the guide tries to make beginning algorithm development easier, the CIShell Specification has the last word on how the CIShell Platform works.

New Guide

Table of Contents

  1. CIShell Core Overview
    1. *Overview
  2. Algorithm Basics
    1. *Overview
    2. *OSGi Bundles
    3. *Java Interfaces
    4. *Bundle Properties
    5. *Service Properties
    6. *Service Registration using Java Code
    7. *Service Registration using Declarative Services
    8. *User-Entered Input Parameters
    9. *User-Adjustable Preferences
  3. Writing Algorithms With Eclipse
    1. Setting Up the Development Environment
    2. Creating Java Algorithms
    3. Creating non-Java Algorithms
    4. Creating Jython Algorithms
    5. Integrating Existing Java Libraries
    6. Integrating Datasets
  4. Writing Algorithms Without Eclipse
    1. Creating Java Algorithms
    2. Creating non-Java Algorithms
    3. Creating Jython Algorithms
    4. Integrating Existing Java Libraries
    5. Integrating Datasets
  5. Advanced Topics
    1. Algorithm Development Tips and Tricks
    2. Multiple Java Algorithms In One Bundle
 * These tutorials are incomplete
Recent Changes (All) Page last modified on July 23, 2009, at 11:07 AM Page History
Powered by PmWiki