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.
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.
An Open Source, Community-Driven Project
CIShell is released under the Apache 2.0 License and hosted at GitHub (https://github.com/CIShell/CIShell/). Community input is welcome to create a piece of software that advances science and education.
Citing the CIShell effort:
Herr, Bruce W., Huang, Weixia, Penumarthy, Shashikant, Börner, Katy . (2007) Designing Highly Flexible and Usable Cyberinfrastructures for Convergence. In William S. Bainbridge and Mihail C. Roco (Eds.) Progress in Convergence – Technologies for Human Wellbeing. Annals of the New York Academy of Sciences, Boston, MA, volume 1093, pp. 161-179.