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 is the basis of Network Workbench, TEXTrend, and the upcoming Sci² and EpiC tools.
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.
- 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
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 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).
CIShell offers reference applications that build on the pool of algorithms defined by CIShell. Scripting and a Graphical User Interface (GUI) are offered initially with a remoting (peer-to-peer and client-server) architecture, a web front-end, and other interfaces planned. We invite other toolkit developers to build their own applications on top of CIShell's algorithm pool.
- An Open Source, Community-Driven Project
Planned CIShell Features:
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.