[ https://issues.apache.org/jira/browse/AIRAVATA-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13409057#comment-13409057 ]
Hasitha Aravinda commented on AIRAVATA-343: ------------------------------------------- Please follow the following steps to apply the patch and to debug a workflow using currently implemented functionalities. Applying Patches and Building the xbaya-gui with new Changes ============================================== 1) First Apply above patch to xbaya-gui module. 2) Then apply the GenericInvoker.patch attached at AIRAVATA-512 [1] JIRA. It allows to capture Input Message and Fault Messages during WSComponent execution. 3) Then Build xbaya-gui module using maven. Debugging ComplexMath.xwf using TestCase ================================= I have created a test-case called WorkflowDebuggingTest to test debugger module functionalities. It demonstrates how debugger API can be used to debug a workflow. In this test case, it sets all nodes of the ComplexMath.xwf as break points and then starts workflow execution. Since all node are break points, workflow execution will pause at every node. A separate thread watches this workflow execution and when workflow execution is paused at a break point, the thread notifys debugger to continue the workflow execution. In parallel to that, some of the event data which are captured during node execution will log runtime. This test-case only shows some of the basic functions of the debugger module. I have created a sample Debugger GUI and It can be used to test other functionalities of the debugger module. Debugging using sample GUI debugger ============================= 1) Check out sample GUI debugger from [2] and build it using maven. 2) Run sampleDebuggerClient-1.0.jar which created at target directory. 3) After the opening Debugger window, Click on “select” button which located at right top corner -> then select a XBaya workflow file from file browswe (ex: ComplexMath.xwf) -> then click Open. 4) Click on “Load workflow” button to load workflow nodes. It will show all available nodes of the selected workflow in "Available Nodes .. " list. 5) Add a node into break points list by double clicking on a node in "available nodes .." list. 6) Also you can remove break point nodes by double clicking on a node on break point list. (Note: Also you can add and remove break points during the workflow execution) 5) Click on “Debug <your_workflow_name>” button to start debugging. 6) Manipulate workflow execution using Continue, Step, Pause and Terminate buttons. 7) Click on an event in “Workflow Debug process monitor” table to display more details about the selected event. 8) If you select a “DEBUG” event you can see some other options will enable like "Input, Input messages, output message, fault message, Advance object navigation" depending on captured data and the event. 9) You can use “Advance object navigation ” tab to explore objects which are captured during corresponding node execution. To explore an object details, right click on corresponding tree node and select "explore object". Please let me know if you have any questions. [1] https://issues.apache.org/jira/browse/AIRAVATA-512 [2] http://svn.codespot.com/a/apache-extras.org/airavata-gsoc-sandbox/trunk/hasitha/sampleDebuggerClient/ > [GSoC] Workflow Debugging Framework for Airavata > ------------------------------------------------ > > Key: AIRAVATA-343 > URL: https://issues.apache.org/jira/browse/AIRAVATA-343 > Project: Airavata > Issue Type: New Feature > Components: Workflow Interpreter > Reporter: Saminda Wijeratne > Priority: Minor > Labels: gsoc2012, mentor > Attachments: debuggerModule_midterm_eval.patch > > > The backend of Airavata should support workflow debugging. It should expose > some API that will enable users to connect & > 1. Receive workflow execution data, current state data > 2. Send commands to manipulate execution life cycle > (pause/resume/restart/stop etc.) > 3. Modify workflow data on the fly > The API should be intuitive, language independent & supports remote debugging. > The specifics for the task & the level of debugging is open for discussion. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira