Chapter 42.  IC2D: Interactive Control and Debugging of Distribution and Eclipse plugin

IC2D is a graphical environment for remote monitoring and steering of distributed and grid applications. IC2D is built on top of ProActive that provides asynchronous calls and migration.

IC2D is available in two forms :

42.1. Monitoring and Control

IC2D is based on a plugin architecture and provides 2 plugins in relation to the monitoring and the control of ProActive applications:

  • The Monitoring plugin which provides a graphical visualisation for hosts, Java Virtual Machines, and active objects, including the topology and the volume of communications

  • The Job Monitoring plugin which provides a tree representation of all these objects.

42.1.1. The Monitoring plugin

42.1.1.1. The Monitoring perspective

The Monitoring plugin provides the Monitoring perspective displayed in the Figure 42.1, “The Monitoring Perspective”.

This perspective defines the following set of views:

  • The Monitoring view: contains the graphical visualisation for ProActive objects

  • The Legend view: contains the legend corresponding to the Monitoring view's content

  • The Console view: contains log corresponding to the Monitoring view's events

The Monitoring Perspective

Figure 42.1. The Monitoring Perspective

42.1.1.2. Monitor a new host

In order to monitor a new host:

  1. open the Monitoring Perspective: Window->Open Perspective->Other...->Monitoring (in the standalone IC2D, it should be already opened because it is the default perspective)

  2. select Monitoring->Monitor a new host..., it opens the "Monitor a new Host" dialog displayed in the Figure 42.2, “Monitor New Host Dialog”

  3. enter informations required about the host to monitor, and click OK

Monitor New Host Dialog

Figure 42.2. Monitor New Host Dialog

42.1.1.3. The Monitoring buttons

Here the buttons proposed in the monitoring view:

Monitor a new host

Figure 42.3. Monitor a new host

Display the "Monitor a new host" dialog in order to monitor a new host.

Set depth control

Figure 42.4. Set depth control

Display the "Set Depth Control" dialog in order to change the depth variable. For example: We have 3 hosts: 'A' 'B' and 'C'. And on A there is an active object 'aoA' which communicates with another active object 'aoB' which is on B. This one communicates with an active object 'aoC' on C, and aoA don't communicate with aoC. Then if we monitor A, and if the depth is 1, we will not see aoC.

Set time to refresh

Figure 42.5. Set time to refresh

Display the "Set Time to Refresh" dialog in order to change the time to refresh the model. And find the new added objects.

Refresh

Figure 42.6. Refresh

Refreh the model.

Enable/Disable Monitoring

Figure 42.7. Enable/Disable Monitoring

When the eye is opened the monitoring is activated.

Show P2P objects

Figure 42.8. Show P2P objects

Allows to see or not the P2P objects.

Zoom In

Figure 42.9. Zoom In

Zoom out

Figure 42.10. Zoom out

New Monitoring View

Figure 42.11. New Monitoring View

Open a new Monitoring view. This button can be used in any perspective. The new created view will be named 'Monitoring#number_of_this_view'

42.1.1.4. The Virtual Nodes list

At the top of the Monitoring View, one can find the Virtual Nodes list. When some nodes are monirored, their virtual nodes are added to this list. And when a virtual node is checked, all its nodes are highlighted.

Virtual nodes List

Figure 42.12. Virtual nodes List

42.1.1.5. Management of the communications display

At the bottom of the Monitoring view, one can find a set of buttons used to manage the communications display:

  1. Auto Reset: Automatic reset of communications, you can specify the auto reset time

  2. Display topology: show/hide communications

  3. Proportional: arrows thickness is proportional to the number of requests

  4. Ratio: arrows thickness uses a ratio of the number of requests

  5. Fixed: arrows always have the same thickness whatever the number of communications

  6. Topology: show/hide communications, and erase all communications

  7. Monitoring enable: listen or not communications between active objects

42.1.1.6.  Example

The Figure 42.16, “Monitoring of 2 applications” shows an example where 3 hosts are monitored. The applications running are philosophers and C3D (Section 5.2, “C3D: a parallel, distributed and collaborative 3D renderer”).

42.1.2. The Job Monitoring plugin

To look at the tree representation of the monitored objects, one have to open the Job Monitoring view.

For that, select Window->Show view->Other...->Job Monitoring->Job Monitoring.

Select the Job Monitoring view in the list

Figure 42.13. Select the Job Monitoring view in the list

Then, select the model that you want to monitor. Each name corresponds to a monitoring view. You can also monitor a new host.

Select the Monitoring model

Figure 42.14. Select the Monitoring model

The monitoring views

Figure 42.15. The monitoring views

One can see in the Figure 42.16, “Monitoring of 2 applications” an example of a tree representation of some monitored objects.

Monitoring of 2 applications

Figure 42.16. Monitoring of 2 applications

42.2. Launcher and Scheduler

42.2.1. The Launcher plug-in

In order to launch a deployment descriptor , you must open your file with the IC2D XML Editor .

To use this editor, you have two possibilities:

42.2.1.1. First possibility

Open the Launcher perspective . Select: Window > Open perspective > Other... > Launcher

The "Open Perspective" window

Figure 42.17. The "Open Perspective" window

Then select: File > Open File... and open your deployment descriptor, it will be opened with the IC2D XML editor. And its name will appear in the Deployment descriptors list.

42.2.1.2. Second possibility

In the Navigator view, or another similar, a right click on the XML file allows you to open your file with the IC2D XML editor .

The open with action

Figure 42.18. The open with action

42.2.1.3. The Launcher perspective

The Figure 42.19, “The Launcher perspective” represents the Launcher perspective containing an XML editor , a console , and the list of deployment descriptors .

To launch an application, select your file in the deployment descriptors list, and click on the launch icon.

You can kill the applications launched from a popup-menu in the "Deployment descriptors" list.

To see your application running, open the "Monitoring perspective" and monitor the corresponding host.

The Launcher perspective

Figure 42.19. The Launcher perspective

42.2.2. The Scheduler plug-in

Coming soon ...

42.3. Programming Tools

42.3.1. ProActive Wizards

These wizards will guide developpers to make complex operations with ProActive, such as installation, integration, configuration, or execution :

  1. a ProActive installation wizard

  2. a wizard that create applications using ProActive

  3. an active object creation wizard

  4. a configuration and execution wizard

A wizard popup

Figure 42.20. A wizard popup

42.3.2. The ProActive Editor

This editor checks coding rules. It informs the developper of error concerning ProActive in his classes and can resolve some of these errors.

The editor error highlighting

Figure 42.21. The editor error highlighting

42.4. The Guided Tour as Plugin

The aim of the guided tour is to provide a step by step explanation to the ProActive beginners.

The plugin's interface

Figure 42.22. The plugin's interface

This guided tour (that is actually eclipse cheat sheet) purposes:

  • To Explain ProActive to beginners

  • To make interactions with the user with simple situations

  • To Show the important points