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