Usage:

MODOCC is a work in progress. Startup scripts are only available for the Windows platform. This will change as soon as I have time to experiment or when someone contributes some of his time to writing these scripts.

The mmm.bat is the starting point. Please adapt it to fit in your system. This script is executed before every important step in the process of using MODOCC. It set the necessary environment variables.

MODOCC architecture consists of Collocated Monitoring Agents – CMA – one per each JVM capsule. These are executing in the same address space as the parts of the monitored application and are responsible for installation of sensors, packaging of events, and delivery of the monitored events to the other components of the MODOCC system. CMAs are considered one per units of distribution. Furthermore, MODOCC has Local Monitoring Agents – LMA – one per host. CMAs from one host report to the LMA. A Distributed Monitoring Agent – DMA – is another component of the MODOCC system, which is responsible for collecting the events from the LMAs and deliver them to subscribed Monitors. All monitoring agents in the system are monolithic and are units of distribution. The DMA however, can interact with other DMAs to form a network of peers (hence “distributed” agent) which use some protocol to exchange new events so every DMA can send it to its monitors.

A MODOCC reflects the deployment of the distributed monitored application, and is configured according to this deployment. An XML configuration file describes such a deployment. Consult the impl_notes.txt file on the format and content of the configuration file.

To use the MODOCC you most likely will follow the steps bellow.

1. In case you will be running MODOCC in “heavy” mode, compile your idl files with the modified JacORB idl compiler using the midl.bat script. Otherwise, in “light” mode, MODOCC uses only interceptors.

2. Compile the generated code with the Java compiler providing the modocc_engine.jar and the jacorb.jar (orb library) in the classpath.

3. Compile your source code providing the modocc_engine.jar and the jacorb.jar (orb library) in the classpath.

4. Adapt some .bat files from the examples to reflect your program setup.

5. Edit a configuration XML file.

6. Run the naming service by typing run_ns.bat (refer to the JacORB documentation if you have problems at this point).

7. Deploy your program parts. First run the DMA, then all LMAs, then your program parts. Use the program.

8. Run the diagram viewer GUI analysis tool (preferably on a separate machine since it is CPU intensive) by typing run_monitor.bat. This script may also need adaptation in order to reflect the correct “real” and “domain” properties of the XML configuration of the monitored application.

9. At this point the diagram viewer will start showing messages being passed between the objects.

Publications and documents

1. Diakov, N.K., Batteram, H. J., Zandbelt, H., Sinderen, M. J., "Monitoring of Distributed Component Interactions", RM'2000: Workshop on Reflective Middleware' 2000, NY, USA.

2. Diakov, N.K., Batteram, H. J., Zandbelt, H., Sinderen, M. J., " Design and Implementation of a Framework for Monitoring Distributed Component Interactions", Proceedings of the 7th International Workshop, IDMS'2000, pp. 227-240, Enschede, The Netherlands, October 17-20, 2000.

3. Diakov, N.K., Sinderen, M. J., Quartel, D., "Monitoring Extensions for Component-Based Distributed Software", Proceedings of the Protocols for Multimedia Systems, PROMS'2000, pp. 417-424, Cracow, Poland, October 22-25, 2000.

4. Farias, C.R.G., Diakov, N.K., "Component-based Groupware Tailorability using Monitoring Facilities", Workshop on Component-based Groupware, CBG'2000, CSCW'2000, Philadelphia, Pennsylvania, USA, December 2-6, 2000.


Last updated on 6 April 2001 by Nikolay Diakov