back to API     back to index     prev     next  

ProActive Installation

ProActive is made available for download under a LGPL license. ProActive requires the JDK 1.4 or later to be installed on your computer. Please note that ProActive will NOT run with any version prior to 1.4 since some features introduced in JDK 1.4 are essential.

Quick Start

To Test ProActive with the examples

To develop with ProActive

Below are described the different steps in more details.

Download and expand the archive

You can download the archive file (a standard zip file) containing ProActive from the download section of the ProActive home page. You will be asked to accept the licence agreement and provide a few personal details including your email address. You will then within a few minutes receive an email.

Unzip the archive using your favorite ZIP program, such as Winzip under Windows or the unzip command-line utility on most Unix systems. Unzipping the archive creates a ProActive directory and all the files contained in the archive go into this directory and its subdirectories.

Here is a quick overview of the directory structure of the archive:

Directory or File Description
ProActive.jar ProActive bytecode that you need to include in the CLASSPATH in order to use ProActive
ProActive_examples.jar The bytecode and resources of all examples included with ProActive. This jar file needs to be included in the CLASSPATH only when trying to run the examples. All examples rely on ProActive and therefore the ProActive.jar file must be included in the CLASSPATH as well. This is done automatically by the scripts driving the examples. The source code is also included in the src directory (see below)
ic2d.jar The bytecode and resources of IC2D. This jar file needs to be included in the CLASSPATH only when trying to run the application IC2D. IC2D relies on ProActive and therefore the ProActive.jar file must be included in the CLASSPATH. This is done automatically by the scripts launching the application. The source code is also included in the src directory (see below)
lib The external libraries used by ProActive
docs ProActive documentation including the full api doc
scripts/unix Unix sh scripts for running the examples
scripts/windows Windows .bat batch files for running the examples
src For source version only, the full source code of ProActive
compile For source version only, the scripts to compile ProActive using Ant.

Run a few examples for testing

You can try to run the test applications provided with ProActive. Each example comes with a script to launch the application. Depending on you operating system, the script you need to launch is located either in ProActive/scripts/unix or ProActive/scripts/windows. The source code of all examples can be found in the directory ProActive/src/org/objectweb/proactive/examples.

Local Example 1: Hello world !

A simple example.

Local Example 2: Reader/Writer

This example is the ProActive version of the Readers/Writers canonical problem. To illustrate the ease-of-use of the ProActive model, different synchronization policies can be applied without even stopping the application. This example is based on a easy to use Swing GUI.

Local Example 3: The Dining Philosophers

This example is one possible implementation of the well-known Dining Philosophers synchronization problem. This example is based on a easy to use Swing GUI.

CLASSPATH to set when writing application using ProActive

Note that if you use the scripts provided with the distribution to run the examples you do not need to update your classpath.

In order to use ProActive in your application you need to place in your CLASSPATH the following jars files :

  1. ProActive.jar : the library itself
  2. asm.jar in lib directory : ASM the default bytecode manipulation framework used to dynamically generate the java bytecode of the Stubs
  3. log4j-core.jar in lib directory : Log4j is the logging mechanism used in ProActive. You can define the way you want to log(console, file, GUI) by creating a log4j configuration file, like the one used in ProActive's example and located under ProActive/scripts/unix or windows. In that case, remind to run your java command with the property:
    -Dlog4j.configuration=file:pathToLog4jFile
  4. xercesImpl.jar in lib directory : Xerces is the library used to parse and validate xml files, like Deployment Descriptors, Configuration files and Component files
  5. fractal.jar in lib directory : Fractal is the component model used for ProActive Components
  6. bouncycastle.jar in lib directory : This library is used by the ProActive security framework

You do not need to modify your CLASSPATH permanently as long as you include the two entries above using a Java IDE or a shell script.

In addition to the jar files above you may want to add the following jar files. None of them are used directly by the core functionnalities of ProActive but only in part of the library. Their are needed to compile all the code but they are not needed at runtime if those specific functionnalities are not used.

  1. bcel.jar in lib directory : BCEL is also a bytecode manipulation framework that can be used optionnally (adding the -DbyteCodeManipulator=BCEL argument to the JVM)
  2. jini-core.jar, jini-ext.jar, reggie.jar in lib directory: used to interface with Jini
  3. cog-jglobus.jar, cog-ogce.jar, cryptix.jar, cryptix32.jar, cryptix-asn1.jar, puretls.jar in lib directory: used to interface with Globus

Create a java.policy file to set permissions

If you use the scripts provided with the distribution to run the examples an existing policy file named proactive.java.policy will be used by default

See Permissions in the JavaTM 2 SDK to learn more about Java permissions. As a first approximation to run your code you can create a simple policy file granted all for everything :

grant {
permission java.security.AllPermission;
};

Create a log4j configuration file

If you use the scripts provided with the distribution to run the examples an existing log4j file named proactive-log4j will be used by default

Example
# the default logging level is INFO log4j.rootLogger=INFO, A1 #A1 uses PatternLayout #and displays the associated message (%m) #using the platform dependant separator (%n) #Use %M for method names #see log4j documentation for details log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%m %n ########### Change here default logging level on a ########### per-logger basis ########### usage is log4j.logger.className=Level, Appender

Troubleshooting and support

If you encounter any problem with installing ProActive and running the examples, please make sure you correctly followed all the steps described above. If it doesn't help, here is a list of the most common mistakes:

If you cannot solve the problem, feel free to email us for support at: proactive-support@sophia.inria.fr. Make sure you include a precise description of your problem along with a full copy of the error message you get.



Copyright © April 2004 INRIA All Rights Reserved.