CTL4j AddCI
***********

This is a simple example which demonstrates how you can use the
Component Template Library for Java (CTL4j) to realise distributed
and parallel component-based software systems. The implemented
component offers different versions of the add operator.

**** Usage ****

1) Put the CTL4j.jar and additional JARs into lib/.

2) Create a locs.txt with valid locations. When using a Java interface as
   CI, the 'lib' transport is not available by default (see build.xml on 
   how you can enable it), therefore a valid one looks like this: 
   'user@host:/path/to/AddCI/service/src/Add.exe tcp'. If you do not use
   SSH keys, the password needs to be specified in the location
   ('user:pass@host...') if run from Ant. In other cases, you will be
   prompted for a password.

3) Compile and run.

**** Tutorial ****

This CTL4j example consists of three major parts:

+ common.Add, the Java interface of the component
+ Impl.AddImpl, an implementation of that interface
+ Client, an application which uses the component

In addition to that, there are the following files:

+ service/src/Add.exe, script for setting up the JVM (can be copied)
+ service/src/Add.java, service code (can be renamed, then copied)
+ classdef.txt, defines the relation between RIs
+ build.xml, build rules; shows how to invoke the CTL4j's code generator
   to generate CI, RI, Local and possibly Debug wrappers for the component.

For more information about the specific parts, consult the in-file comments.

**** Bug reports and questions ****

While executing, all CTL4j code writes logfiles, the client writes to 
/tmp/client-0.log and the service to /tmp/service.log. When reporting about
runtime failures, you should include this information. Any comments about
how good the example can be understood are appreciated.

--
Boris Buegling <boris@icculus.org>
