Documentation
Overview
What is ColCOWS ?
ColCOWS ( Collective CORBA Object Workspace ) is a C++ library based on CORBA for the management of different groups of processes and the CORBA object references they host. Thanks to ColCOWS, a group of CORBA servers (nodes) can simply share their references to constitute a distributed "workspace". ColCOWS manages the creation of the workspaces, the activation, as well as the connection of different workspaces and the exchange of their references.
What ColCOWS is not ?
ColCOWS is neither an implementation of Parallel CORBA Objects (see PaCO++ ) nor an implementation of the CORBA Component Model (see CCM, MicoCCM). For example it does not allow collective method invocation on a workspace.
Requirements
- ORB implementation : omniORB 4 or MICO 2.
-
C++ thread interface : omnithread
This dependency will be suppressed soon (or late). - Doxygen and dot are needed for the documentation.
- MPI is used in some examples, we work with LAM and MPICH but changing for another one should be simple.
Installation and Configuration
The installation is quite simple (make / make install), you can set the ORB to use and the where ColCOWS will be installed.
cd your_directory/ColCOWS-0.3.3 ./configure --prefix=where_u_want --with-lammpi=$MPI_TOP --with-omniorb4 make make installThe examples needs are compiled and installed with the library.
For generating the documentation you need Doxygen and dot.
cd doc doxygen colcows.dox
ColCOWS uses only two environment variables :
COLCOWS_TOP : location of the ColCOWS installation, contains 'lib' and 'include' COLCOWS_DEBUG_LEVEL : debug level from 0 to 10 or more
What do we call a ColCOWS workspace ?
A ColCOWS workspace is a group of ColCOWS nodes identified with two strings, an ID and a kind.
What do we call a ColCOWS node ?
A ColCOWS node is an element of the workspace knowing some CORBA references and identified in the workspace by a number. A node belongs to only one workspace. Usually, in a parallel or distributed application, each process owns one ColCOWS node. Anyway, one process can own more than one node but it is quite useless considering that the nodes are not limited for their number of CORBA references. Notice that the nodes are also CORBA objects.
What is the proxy node ?
We call proxy node or enter node the node number zero. This node centralize the global operations on the workspace : registration, activation, remote workspace connection etc. This node is also the one registered on the naming service (with workspace ID and workspace kind).
Creation & Activation


Connection


Event Handler
