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 :

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.

1.1. The Monitoring plugin

1.1.1. The Monitoring perspective

The Monitoring plugin provides the Monitoring perspective displayed in the Figure 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 1. The Monitoring Perspective

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 2, “Monitor New Host Dialog”

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

Monitor New Host Dialog

Figure 2. Monitor New Host Dialog

1.1.3. The Monitoring buttons

Here the buttons proposed in the monitoring view:

Monitor a new host

Figure 3. Monitor a new host

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

Set depth control

Figure 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 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 6. Refresh

Refreh the model.

Enable/Disable Monitoring

Figure 7. Enable/Disable Monitoring

When the eye is opened the monitoring is activated.

Show P2P objects

Figure 8. Show P2P objects

Allows to see or not the P2P objects.

Zoom In

Figure 9. Zoom In

Zoom out

Figure 10. Zoom out

New Monitoring View

Figure 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'

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 12. Virtual nodes List

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

1.1.6.  Example

The Figure 16, “Monitoring of 2 applications” shows an example where 3 hosts are monitored. The applications running are philosophers and C3D.

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 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 14. Select the Monitoring model

The monitoring views

Figure 15. The monitoring views

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

Monitoring of 2 applications

Figure 16. Monitoring of 2 applications

2. Launcher and Scheduler

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:

2.1.1. First possibility

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

The "Open Perspective" window

Figure 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.

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 18. The open with action

2.1.3. The Launcher perspective

The Figure 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 19. The Launcher perspective

2.2. The Scheduler plug-in

Coming soon ...

3. Programming Tools

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 20. A wizard popup

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 21. The editor error highlighting

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 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


Feel free to send any suggestions to proactive@objectweb.org © 2001-2007 Inria Sophia Antipolis