ProActive: Programming, Composing, Deploying on the Grid
An Open Source Middleware For Parallel, Distributed, Multicore Computing

ProActive Programming

Get Started


Version 2012-03-09


The OASIS Research Team and ActiveEon Company



INRIA UNSA CNRS-I3S
OW2 ActiveEon



Generated on 2012-03-09

ProActive Programming v2012-03-09 Documentation

Legal Notice

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; version 3 of the License.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

If needed, contact us to obtain a release under GPL Version 2 or 3, or a different license than the GPL.

Contact: or

Copyright 1997-2010 INRIA/University of Nice-Sophia Antipolis/ActiveEon.

Mailing List

Mailing List Archive

http://www.objectweb.org/wws/arc/proactive

Bug-Traking System

http://bugs.activeeon.com/browse/PROACTIVE


Contributors and Contact Information

Team Leader

Denis Caromel
INRIA 2004, Route des Lucioles, BP 93
06902 Sophia Antipolis Cedex
France
phone: +33 492 387 631
fax: +33 492 387 971
e-mail:

Contributors from OASIS Team Contributors from ActiveEon Company
  • Brian Amedro

  • Francoise Baude

  • Francesco Bongiovanni

  • Florin-Alexandru Bratu

  • Viet Dung Doan

  • Yu Feng

  • Imen Filali

  • Fabrice Fontenoy

  • Ludovic Henrio

  • Fabrice Huet

  • Elaine Isnard

  • Vasile Jureschi

  • Muhammad Khan

  • Virginie Legrand Contes

  • Eric Madelaine

  • Elton Mathias

  • Paul Naoumenko

  • Laurent Pellegrino

  • Guilherme Peretti-Pezzi

  • Franca Perrina

  • Marcela Rivera

  • Christian Ruz

  • Bastien Sauvan

  • Oleg Smirnov

  • Marc Valdener

  • Fabien Viale

  • Vladimir Bodnartchouk

  • Arnaud Contes

  • Cédric Dalmasso

  • Christian Delbé

  • Arnaud Gastinel

  • Jean-Michel Guillaume

  • Olivier Helin

  • Clément Mathieu

  • Maxime Menant

  • Emil Salageanu

  • Jean-Luc Scheefer

  • Mathieu Schnoor

Former Important Contributors
  • Laurent Baduel (Group Communications)

  • Vincent Cave (Legacy Wrapping)

  • Alexandre di Costanzo (P2P, B&B)

  • Abhijeet Gaikwad (Option Pricing)

  • Mario Leyton (Skeleton)

  • Matthieu Morel (Initial Component Work)

  • Romain Quilici

  • Germain Sigety (Scheduling)

  • Julien Vayssiere (MOP, Active Objects)


List of Figures
List of Tables
Preface

Part I. Introduction

Chapter 1. ProActive Overview
1.1. ProActive Programming Frameworks
1.1.1. Introduction
1.1.2. Active Objects Model
1.1.3. Implementation Language
1.1.4. Communication through typed asynchronous messages
1.1.5. Programming With Components: GCM
1.1.6. Library features
Chapter 2. ProActive Installation
2.1. ProActive Installation Overview
2.1.1. Testing ProActive With Examples
2.1.2. Developing With ProActive
2.2. ProActive Detailed Installation Steps
2.2.1. Download And Expand The ProActive Archive
2.2.2. Set the CLASSPATH for using ProActive to write applications
2.2.3. Create a proactive.java.policy File To Set Permissions
2.2.4. A simple proactive-log4j file
2.2.5. Run A Few Examples For Testing
Chapter 3. ProActive Troubleshooting
3.1. Common problems
3.2. Enabling the loggers
3.3. Domain name resolution problems
3.4. RMI Tunneling

Part II. Guided Tour and Tutorial

Chapter 4. Introduction
4.1. Overview
4.2. Installation and setup
4.3. ProActive and IDEs (Eclipse, ...)
Chapter 5. ProActive Example Applications
5.1. C3D: A distributed 3D renderer
5.1.1. How to use C3D
5.2. Readers/Writers Application
5.2.1. How to use the Readers/Writers
5.3. The dining philosophers
5.3.1. How to use the philosophers application
5.4. The migratory penguins
5.4.1. How to use the penguin application
5.4.2. How to use the Penguin Controller
5.5. Chat example
5.5.1. How to run the Chat application
5.5.2. Chat migration
5.6. Integral Pi
5.6.1. Introduction
5.6.2. Initialization
5.6.3. Communication primitives
5.6.4. Running the PI example
5.7. The nbody example
5.7.1. How to run the n-body example
5.7.2. Barnes-Hut
5.8. Conclusion
Chapter 6. Active Object Tutorial
6.1. Simple Computation And Monitoring Agent
6.1.1. Classes Used
6.1.2. CMA Architecture and Skeleton Code
6.1.3. Proposed Work
6.1.4. Solutions and Full Code
6.2. Active Objects Lifecycle: Using InitActive, RunActive and EndActive
6.2.1. Classes Used
6.2.2. Initialized CMA Architecture and Skeleton Code
6.2.3. Proposed Work
6.2.4. Solution and Full Code
6.3. Remote Monitoring Agent
6.3.1. Classes Used
6.3.2. Deployed CMA Architecture and Skeleton Code
6.3.3. Proposed Work
6.3.4. Solution and Full Code
6.4. Agent synchronization
6.4.1. Classes Used
6.4.2. Architecture and Skeleton Code
6.4.3. Proposed Work
6.4.4. Solution And Full Code
6.5. Monitoring Several Computers Using Migration
6.5.1. Classes Used
6.5.2. Design of Migratable Monitoring Agent and Skeleton Code
6.5.3. Proposed Work
6.5.4. Solution and Full Code
6.6. Groups of Monitoring Agents
6.6.1. Classes Used
6.6.2. Architecture and Skeleton Code
6.6.3. Proposed Work
6.6.4. Solution And Full Code
6.7. Monitoring Agent As A Web Service
6.7.1. Classes Used
6.7.2. Architecture and Skeleton Code
6.7.3. Proposed Work
6.7.4. Solution And Code
6.8. Primality test tutorial
6.8.1. A Sequential Version of the Primality Test
6.8.2. A Distributed Version of the Primality Test
6.8.3. A Distributed Version of the Primality Test Using the Master-Worker API
Bibliography
Index