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

ProActive Programming

Components


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
Preface

Part I. Guided Tour and Tutorial

Chapter 1. Introduction
1.1. Overview
1.2. Programming with components: the Fractal component model
1.3. Presentation of ProActive/GCM
1.4. GCM Basics
Chapter 2. ProActive Example Applications Using Components
2.1. C3D - Active Objects to Components
2.1.1. Refactoring C3D with components
2.1.2. Creating the interfaces
2.1.3. Creating the Component Wrappers
2.1.4. Component lookup and registration
2.1.5. How to run components C3D
2.2. Conclusion
Chapter 3. GCM Components Tutorial
3.1. Introduction
3.2. Create and use components using ADL
3.2.1. Introduction
3.2.2. Starter tutorial
3.2.3. Composite tutorial
3.2.4. Interface tutorial
3.2.5. Multicast tutorial
3.2.6. Deployment tutorial
3.3. Create and use components using the API
3.3.1. Introduction
3.3.2. Starter tutorial
3.3.3. Composite tutorial
3.3.4. Interface tutorial

Part II. Programming With Components

Chapter 4. User guide
4.1. Architecture Description Language
4.1.1. Overview
4.1.2. Exportation and composition of virtual nodes
4.1.3. Usage
4.2. Implementation specific API
4.2.1. API and bootstrap component
4.2.2. Requirements
4.2.3. Content and controller descriptions
4.2.4. Collective interfaces
4.2.5. Monitor controller
4.2.6. Priority controller
4.2.7. Stream ports
4.3. Collective interfaces
4.3.1. Motivations
4.3.2. Multicast interfaces
4.3.3. Gathercast interfaces
4.4. Deployment
4.4.1. Deploying components with the GCM Deployment
4.4.2. Deploying components with the ProActive Deployment
4.4.3. Deploying components with ADL and Virtual Nodes
4.4.4. Deploying components with ADL and Nodes
4.4.5. Precisions for component instantiation with ADL
4.5. Advanced
4.5.1. Controllers and interceptors
4.5.2. Exporting components as Web Services
4.5.3. Web service bindings
4.5.4. Lifecycle: encapsulation of functional activity in component lifecycle
4.5.5. Structuring the membrane with non-functional components
4.5.6. Short cuts
Chapter 5. Architecture and design
5.1. Meta-object protocol
5.2. Components vs active objects
5.3. Method invocations on component interfaces
Chapter 6. Component examples
6.1. From objects to active objects to distributed components
6.1.1. Type
6.1.2. Description of the content
6.1.3. Description of the controllers
6.1.4. From attributes to client interfaces
6.2. The HelloWorld example
6.2.1. Set-up
6.2.2. Architecture
6.2.3. Distributed deployment
6.2.4. Execution
6.2.5. The HelloWorld ADL files
Chapter 7. Component perspectives: a support for advanced research
7.1. Dynamic reconfiguration
7.2. Model-checking
7.3. Pattern-based deployment
7.4. Graphical tools

Part III. Back matters

Chapter 8. Appendix
8.1. The GCM Basics example files
Bibliography
Index