Andante
=======

pre20030919 - Initial version (still a prototype) - Not documented yet!
http://gsd.ime.usp.br/andante

README - compilation and execution instructions
------

The system is currently in a prototype stage, so it is very difficult to
compile and run it. We will strive to release a decent version as soon
as possible.

Feel free to contact us through the URL above.

* Required software

  - Java 2 SDK, Standard Edition v1.4 (J2SDK)
    http://java.sun.com
  - Aglets 2.0.2
    http://aglets.sourceforge.net
  - Apache Ant 1.5.4
    http://ant.apache.org/

* Compilation

  Uncompress and extract the tar file:

    $ tar zxvf andante-pre20030919.tgz

  Change to the directory named 'andante-pre20030919':

    $ cd andante-pre20030919

  Compile:

    $ ant

  The compiled classes will be in the directory 'andante-pre20030919/build'.

* Execution

  First of all, run the CORBA Name Server (included in the J2SDK):

    $ tnameserv -ORBInitialPort 1050

  (The Name Server will be listening on the port 1050.)

  From now we will assume that the sources were extracted to the
  directory '/home/user/andante-pre20030919' and the Aglets package is
  installed in '/home/user/aglets'.

  In order to run the Aglet-based parts of the system, we need to use
  the shell script 'asd' located at '/home/user/andante-pre20030919/classes'. 
  Edit this file and change the part that looks like the following:

    # Set this to your installation directory
    AGLET_HOME=/home/user/aglets
    JDK_HOME=/usr/local/j2sdk

  to match your own directories (AGLET_HOME should be where you
  installed the Aglets and JDK_HOME where your J2SDK is). Alternatively,
  you may use the system environment variables.

  To run any Andante application or infra-structure element, you need
  to change to the directory '/home/user/andante-pre20030919/build'.

  Now you may run one or more Stages, each one uses two ports. So
  you may run more than one Stage in the same machine, provided you
  choose distinct ports. To run one Stage:

    $ asd andante.AndanteTest -daemon -port 4444 -controlport 5555 \
      -ORBInitialPort 1050 -ORBInitialHost villa
  
  Please note that the parameter 'ORBInitialPort' and 'ORBInitialHost'
  refer to the Name Server: the value '1050' is its port and 'villa'
  is the name of the machine in which it is running. You should change
  this values accordingly.

  After running one or more Stages, we need to run an application that
  creates/manages Musical Agents. One way is to use the Tahiti interface
  included on the Aglet package. For this we need to create a symbolic
  link from the directory where the Tahiti looks for the Java classes
  to the directory where the Andante classes are:

    $ ln -s /home/user/andante-pre20030919/build/andante \
      /home/user/aglets/public/andante

  You may now run the Tahiti interface, but the class
  andante.MusicalAglet already does that:

    $ asd andante.agent.MusicalAglet -port 6666 -controlport 7777

  Use the Tahiti to create and dispatch Musical Agents to a Stage
  (click on "Create" and fill only the field "name" with, for example,
  "andante.apps.noiseweaver.NoiseAgent").

  Finally, we may run an Andante application, the NoiseWeaver:

    $ java andante.apps.noiseweaver.NoiseWeaver
