This component allows you to monitor your application with a Swing based interface, where every method or constructor executions you have decided to track will appear in a UML sequence diagram.
The application will show you one tab per trhead that is running (or has run in your application) and you can
- save a diagram as a png file (usefull for reverse documentation...)
- slow down or accelerate the application while it is running and painting itself
- flush a diagram when you think you have too much data
The original idea comes from Bob Lee. He was the first to implement this application and use a lightweight UML drawing library for that purpose that comes from Alex Moffat.
Bob Lee ' orignal work, back in 2003'
Alex Moffat ' original work
So why having it in AWare ?
We have implemented it in AWare for the following reasons:
We have added the slow down and speed up buttons, that gives more control on the application execution
AspectWerkz rich pointcuts leverage this application
AspectWerkz 2.0 is planned to support aspect deployment / undeployment, and that would be rather neat with this application.
The sample is based on a little application that will start some thread and have different objects invoke each one another.
The component is located in components/sequence.
Run the sample with:
The GUI will appear (launched when the Aspect is initalized by the AOP framework) and the application will run for a while (1000 iterations).
If you want to modify the AOP model, use the components/sequence/test/META-INF/aop.xml file.
(For example: limit the drawing to have only public methods, etc)