Visualization of Monitor-based Executions
All concurrent programs are unpredictable in nature since the output directly depends on the sequence of thread execution. This unpredictability poses a great challenge to concurrent programmers. This thesis mainly proposes and implements a method to visualize the working of monitors in concurrent programs. This would facilitate concurrent programmers to view, understand, analyze and test the monitor implemented in their program. The GUI application is incorporated with JSWAT which is a open-source graphical debugger front end based on Java Platform Debugger Architecture. The motive behind integrating the visualization application and JSWAT is to provide useful features like sophisticated breakpoints, colorized code display, panels displaying call stacks, visible variables apart from visualization of monitor execution. The visualization application analyzes each statement in the code to capture data pertinent to visualization. This data is communicated to the GUI which maps it to the appropriate visualization rule. The visualization rules determine where each thread is to be positioned in the GUI. When the concurrent program is executed in the debugger, the user would be able to view the different threads in different positions in the GUI. The positions would directly correspond to the states of the threads with respect to the monitor.
What people are saying - Write a review
We haven't found any reviews in the usual places.
INTEGRATING JSWAT AND VISUALIZATION TOOL
application program Asynchronous sockets Bounded Buﬀer Problem call stacks calling thread Chapter classpath clicking concurrent programs condition variable cv debugger front-end deﬁnes depositing dialog display empty enters the monitor entry queue exits the monitor ﬁelds ﬁnds graphical graphical user interface implementation inside the monitor interface Java Platform Java programming language JSwat Launch Debuggee Panel method calls module monitor after reading monitor before reading monitor Figure monitor method multi-threaded multithreaded application Netbeans notEmpty conditional queue notEmpty queue object P1 waiting pattern plugin Producers and consumers queued R2 enters R2 exits reenters regular expression SC signal sequence diagram server Session menu shared section signal operation signaler thread signaling discipline slots source code sourcepath speciﬁed string synchronous queue thesis thread awakened thread executes thread to enter threads waiting threads with respect user application user’s visualization panel visualization rules visualization tool W1 enters waiting in notEmpty waiting in reentry