1.1 The CCA Software Environment

The CCA is, at its heart, just a specification. There are several realizations of the CCA as a software environment. In this Guide, we use the following tools to provide that software environment, which are currently the most widely used for high-performance (as opposed to distributed) computing using the CCA:

Babel
A tool for language interoperability. It allows components written in different languages to be connected together. The Scientific Interface Definition Language (SIDL) is defined by Babel. For more information, see the Babel page . Babel uses Chasm for Fortran 90 array support. For more information, see the Chasm repository .

Bocca
A tool for generating and manipulating projects using CCA components or other SIDL based code. Bocca is designed to simplify the tedious and mechanical aspects of CCA and Babel. Before bocca, this Guide was a lot longer because we had to take you step by step through writing all of this "boilerplate" code for yourself.

Ccaffeine
A CCA framework which emphasizes local and parallel high-performance computing, and the most common CCA framework in real applications. For more information, see the Ccaffeine page .

Many of the commands you will type are specific to the fact that you're using these tools as your CCA software environment. But the components you will use and create are independent of the particular tools being used.

2010-08-11