List of Figures

1.1. Different computing deployment paradigms
1.2. Polymorphism
5.1. The active objects in the c3d application
5.2. the dispatcher GUI is launched
5.3. Specifying the host
5.4. The C3D application when a new user joins in, seen with IC2D
5.5. IC2D component explorer with the C3D example
5.6. Using the readers script
5.7. A GUI is started that illustrates the activities of the Reader and Writer objects.
5.8. With philosophers.sh or philosophers.bat
5.9. The GUI is started.
5.10. Monitoring new RMI host with IC2D
8.1. Running the Jacobi application, and viewing with IC2D
8.2. With all communications
8.3. With a barrier, there are many less comunications
8.4. IC2D viewing the Jacobi application with 9 JVMS on the same machine
8.5. Communication pattern - Step 1
8.6. Communication pattern - Step 2
9.1. NBody screenshot, with 3 hosts and 8 bodies
9.2. NBody screenshot, with the application GUI and Java3D installed
9.3. The nbody directory structure
9.4. The equation of the force between two bodies
10.1. Informal description of the C3D Components hierarchy
10.2. IC2D component explorer with the C3D example
12.1. The Model: Sequential, Multithreaded, Distributed
12.2. A call onto an active object as opposed to a call onto passive one
13.1. The components of an active object
13.2. A future object
13.3. Sequence Diagram - single-threaded version of the program
13.4. The components of an active object
13.5. The components of a future object before the result is set
13.6. All components of a future object
13.7. Sequence Diagram
13.8. Sequence Diagram
18.1. The API architecture.
18.2. Broadcasting a new solution.
19.1. Task Flow in Calcium
23.1. File Transfer Design
25.1. The nbody application, with Fault-Tolerance enabled
27.1. Representation of the scheduler and of its main objects
27.2. A short description of the mechanism of job deployment and submission
29.1. A system of Fractal components
29.2. A system of distributed ProActive/Fractal components (blue, yellow and white represent distinct locations)
29.3. Match between components and active objects
29.4. ProActive's Meta-Objects Protocol.
29.5. The ProActive MOP with component meta-objects and component representative
30.1. Using short cuts for minimizing remote communications.
31.1. Multicast interfaces for primitive and composite component
31.2. Broadcast and scatter of invocation parameters
31.3. Comparison of signatures of methods between client multicast interfaces and server interfaces.
31.4. Gathercast interfaces for primitive and composite components
31.5. Aggregation of parameters with a gathercast interface
31.6. Comparison of signature of methods for bindings to a gathercast interface
33.1. Client and Server wrapped in composite components (C and S)
33.2. Without wrappers, the primitive components are distributed.
33.3. With wrappers, where again, only the primitive components are distributed.
35.1. A network of hosts with some running the P2P Service
35.2. New peer trying to join a P2P network
35.3. Heart beat sent every TTU
35.4. Asking nodes to acquaintances and getting a node
35.5. Nodes and Active Objects which make up a P2P Service.
35.6. Dynamic Shared ProActive Typed Group.
35.7. nBody application deployed on P2P Infrastructure.
35.8. Usage example P2P network (after firsts connections)
35.9. A P2P Service which is sharing nodes deployed by a descriptor
37.1. A typical object graph with active objects
37.2. Certificate chain
37.3. Hierarchical security
37.4. Syntax and attributes for policy rules
37.5. Hierarchical Security Levels
37.6. The ProActive Certificate Generator (for oasis)
37.7. The ProActive Certificate Generator (for proactive)
38.1. This figure shows the steps when a active object is called via SOAP.
38.2. The dispatcher handling all calls
38.3. The first screenshot is a classic ProActive application
38.4. C# application communicating via SOAP
39.1. The OSGi framework entities
39.2. The Proactive Bundle uses the standard Http Service
40.1. This figure shows the JMX 3 levels architecture and the integration of the ProActive JMX Connector.
41.1. File transfer and asking for resources
41.2. State transition diagram
41.3. MPI to ProActive communication
41.4. ProActive to MPI communication
41.5. File transfer and asking for resources
41.6. Jacobi Relaxation - Domain Decomposition
41.7. IC2D Snapshot
41.8. Proxy Pattern
41.9. Process Package Architecture
42.1. The Monitoring Perspective
42.2. Monitor New Host Dialog
42.3. Monitor a new host
42.4. Set depth control
42.5. Set time to refresh
42.6. Refresh
42.7. Enable/Disable Monitoring
42.8. Show P2P objects
42.9. Zoom In
42.10. Zoom out
42.11. New Monitoring View
42.12. Virtual nodes List
42.13. Select the Job Monitoring view in the list
42.14. Select the Monitoring model
42.15. The monitoring views
42.16. Monitoring of 2 applications
42.17. The "Open Perspective" window
42.18. The open with action
42.19. The Launcher perspective
42.20. A wizard popup
42.21. The editor error highlighting
42.22. The plugin's interface
43.1. Main frame
43.2. Deployment of the application
43.3. Creation of a task
43.4. Display a result
43.5. State of Engines
45.1. A Drawing using the FIGURE tag
46.1. Graphical representation of the data
46.2. Class diagram
46.3. The world exploring itself for the first time
46.4. The Models
46.5. The Controllers and the factory
46.6. The Views
46.7. The data strucure of the monitoring plugin
46.8. Observable objects
46.9. Observer objects
46.10. Spy classes
46.11. Active Objects' events management
46.12. SVN Repository
46.13. ic2d.product
46.14. Create a new project
46.15. Specify name and plug-in structure
46.16. Specify plug-in content
46.17. The plug-in structure
46.18. Interface for editing the manifest and related files.
46.19. Configuration
46.20. Plug-in selection
46.21. About product Plug-ins
46.22. Workbench structure
46.23. Extensions tab (no extensions)
46.24. Extensions tab (org.eclipse.ui.perspectives)
46.25. Extensions tab (Example)
49.1. core.process structure
52.1. Metabehavior hierarchy