List of Figures

1.1. ProActive Features
1.2. MOP architecture
5.1. The active objects in the c3d application
5.2. A GUI is started that illustrates the activities of the Reader and Writer objects.
5.3. The Dining Philosophers Example
5.4. Informal description of the C3D Components hierarchy
6.1. Client-Server architecture - the Main class acts as a client and uses the CMAgent class as a server
6.2. CMA Architecture and Skeleton Code Using intialization
6.3. Deployment process
6.4. Distribution of the Test Range (Example with 2 Workers)
6.5. Architecture of the Distributed Version
6.6. Killing a JVM from IC2D
6.7. Architecture of the Master-Worker Version
7.1. Architecture of Distributed Primes Using Master-Worker API
8.1. Component with inner component distributed
8.2. Component parameters
8.3. Invocation parameter with a gathercast interface
8.4. Distribution policies
8.5. Component assembly
9.1. Three different computational models
9.2. Proactive Active Object structure
10.1. PAActiveObject class
10.2. Activity algorithm
10.3. The components of an active object and of a referencing object
10.4. A future object
10.5. Single-threaded version of the program
10.6. The components of an active object and of a referencing object
10.7. The components of a future object before the result is set
10.8. All components of a future object
10.9. Call flow when a future is set before being used
10.10. Call flow when the future is not set before being used (wait-by-necessity)
11.1. PAGroup class and Group interface
14.1. Master-Worker API main class
14.2. Deployment of the Master-Worker framework
14.3. Tasks definition and submission
14.4. Results gathering
15.1. Task Flow in Calcium
16.1.
16.2. Behaviour example of a total barrier
17.1. File transfer and asking for resources
17.2. State transition diagram
17.3. MPI to ProActive communication
17.4. ProActive to MPI communication
17.5. File transfer and asking for resources
17.6. Jacobi Relaxation - Domain Decomposition
17.7. IC2D Snapshot
17.8. Proxy Pattern
17.9. Process Package Architecture
22.1. File Transfer Design
27.1. Multicast interfaces for primitive and composite component
27.2. Broadcast and scatter of invocation parameters
27.3. Comparison of signatures of methods between client multicast interfaces and server interfaces.
27.4. Gathercast interfaces for primitive and composite components
27.5. Aggregation of parameters with a gathercast interface
27.6. Comparison of signature of methods for bindings to a gathercast interface
27.7. Example: architecture of a naive solution for secure communications
27.8. Structure for the membrane of Fractal/GCM components
27.9. The primitives for managing the membrane.
27.10. Higher level API
27.11. Using shortcuts for minimizing remote communications.
28.1. ProActive's Meta-Objects Protocol.
28.2. The ProActive MOP with component meta-objects and component representative
29.1. Client and Server wrapped in composite components (C and S)
29.2. Without wrappers, the primitive components are distributed.
29.3. With wrappers, where again, only the primitive components are distributed.
33.1. The nbody application, with Fault-Tolerance enabled
34.1. Setting up virtual distributed sandboxs at runtime
34.2. Certificate chain
34.3. Hierarchical security
34.4. Syntax and attributes for policy rules
34.5. Hierarchical Security Levels
34.6. The ProActive Certificate Generator (for oasis)
34.7. The ProActive Certificate Generator (for proactive)
34.8. The ProActive Certificate Generator (for proactive)
34.9. The ProActive Certificate Generator (for proactive)
34.10. The ProActive Certificate Generator (for proactive)
34.11. The ProActive Certificate Generator (for proactive)
35.1. This figure shows the steps when an active object is called via SOAP.
35.2. The dispatcher handling all calls
35.3. The first screenshot is a classic ProActive application
35.4. C# application communicating via SOAP
36.1. The OSGi framework entities
36.2. The Proactive Bundle uses the standard Http Service
37.1. This figure shows the JMX 3 levels architecture and the integration of the ProActive JMX Connector.
39.1. The Monitoring Perspective
39.2. Monitor New Host Dialog
39.3. Monitor a new host
39.4. Set depth control
39.5. Set time to refresh
39.6. Refresh
39.7. Enable/Disable Monitoring
39.8. Show P2P objects
39.9. Zoom In
39.10. Zoom out
39.11. New Monitoring View
39.12. Virtual nodes List
39.13. Select the Job Monitoring view in the list
39.14. Select the Monitoring model
39.15. The monitoring views
39.16. Monitoring of 2 applications
39.17. Gathering stats (right-click in Monitoring View).
39.18. Time snapshots for 2 active objects
39.19. Hierarchical decomposition of the total time of an active object
39.20. The timeline for 7 active objects
39.21. The "Open Perspective" window
39.22. The open with action
39.23. The Launcher perspective
39.24. A wizard popup
39.25. The editor error highlighting
39.26. The plugin's interface
40.1. Main frame
40.2. Deployment of the application
40.3. Creation of a task
40.4. Display a result
40.5. State of Engines
42.1. A Drawing using the FIGURE tag
43.1. Graphical representation of the data
43.2. Class diagram
43.3. The world exploring itself for the first time
43.4. The Models
43.5. The Controllers and the factory
43.6. The Views
43.7. The data strucure of the monitoring plugin
43.8. Observable objects
43.9. Observer objects
43.10. Spy classes
43.11. Active Objects' events management
43.12. SVN Repository
43.13. ic2d.product
43.14. Create a new project
43.15. Specify name and plug-in structure
43.16. Specify plug-in content
43.17. The plug-in structure
43.18. Interface for editing the manifest and related files.
43.19. Configuration
43.20. Plug-in selection
43.21. About product Plug-ins
43.22. Workbench structure
43.23. Extensions tab (no extensions)
43.24. Extensions tab (org.eclipse.ui.perspectives)
43.25. Extensions tab (Example)
45.1. core.process structure
48.1. Metabehavior hierarchy
49.1. The API architecture.
49.2. Broadcasting a new solution.
50.1. Usage example P2P network (after firsts connections)
50.2. A P2P Service which is sharing nodes deployed by a descriptor
50.3. A network of hosts with some running the P2P Service
50.4. New peer trying to join a P2P network
50.5. Heart beat sent every TTU
50.6. Asking nodes to acquaintances and getting a node
50.7. Nodes and Active Objects which make up a P2P Service.
50.8. Dynamic Shared ProActive Typed Group.
50.9. nBody application deployed on P2P Infrastructure.