About the Cyberinfrastructure Shell

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.

CIShell supports remote execution of algorithms. A standard web service definition is in development that will allow pools of algorithms to transparently be used in a peer-to-peer, client-server, or web front-end fashion.

CIShell Features

A framework for easy integration of new and existing algorithms written in any programming language

Using CIShell, an algorithm writer can fully concentrate on creating their own algorithm in whatever language they are comfortable with. Simple tools are provided to then take their algorithm and integrate it into CIShell with no additional coding.

A well-defined pool of algorithms and datasets

CIShell clearly defines how algorithms and datasets are integrated into the system to create a pool of algorithms and data. An application may then query for algorithms in this pool and execute them. Many applications/tools can be built and customized for different user groups by utilizing the same pool of algorithms.

Leveraging open standards

CIShell avoids re-inventing wheels by building on other standards for its specification and reference implementations. It benefits most from the Eclipse family of projects (in particular, the Rich Client Platform and Equinox) and the Open Services Gateway Initiative (OSGi). All CIShell algorithms are integrated as OSGi services and can be used by any OSGi compliant system (including any Eclipse 3.0 or newer based products).

Choose the way you work

CIShell offers reference applications that build on the pool of algorithms defined by CIShell. Scripting and a Graphical User Interface (GUI) are the primary interfaces offered, but a web service has been developed, and the system could be extended to allow other interfaces and remote execution methods. We invite other toolkit developers to build their own applications on top of CIShell's algorithm pool.