Trisotech's blog post - Trisotech Debuggers
Trisotech Icon
Blog

Trisotech Debuggers

By Trisotech

Read Time: 3 Minutes

Trisotech provides real-time full-featured debugging capabilities in its Workflow (BPMN) and Decision Management (DMN) modelers. In this blog we will look at how to use the debugging features in the Workflow modeler.

We will use an EU-Rent workflow process named Vacation Request for this example. To begin debugging, we select Test from the Execution Menu. That button is in the top left corner in the screen shot below.

This action brings up the Process Test pane on the left side of the model canvas. As you can see below, there are two tabs, Inputs and Breakpoints that appear. Additionally, the debugger introspects the process model and determines all the inputs that will be needed to execute a process instance. In this case, From Date and To Date.

Next, we enter a From Date and To Date for the vacation request and Submit it. The process starts and the first Task is a call to a Decision Service, that returns Vacation Approval, Vacation Approval Reason and Number of Days. If we enter a From Date that is less than a week from the current date, the Decision Service returns Not Approved and the default path is taken from the Gateway. That information is processed by the debugger and as you can see below, the debugger displays the Vacation Approval Reason returned and the end state from the End Event in the Outputs tab of the Process Test pane. The debugger also displays the path taken through the workflow model.

If we would like to explore additional information, we can use the Data tab of the Process Test pane shown below to see all the data values from the process execution.

You can also click directly on a Data Object in the model diagram to see its value displayed in the Data tab as seen below.

You can also click on the Decision Task (Vacation Approval Decision Service) to see the data values in the DMN model. As you can see in the screen shot below, selecting the Trace tab allows you to view a step trace of the actions through the workflow as executed.

If you click on the Details button as shown below, you can even see the raw messages generated by the process automation giving you even more detailed information that makes it easier to debug the process execution.

Hovering over a shape that allows breakpoints like the Decision Task in our example below, shows a possible breakpoint at the beginning or the end of the task. Clicking on a breakpoint in debug mode will activate that breakpoint. You can set multiple breakpoints if you like.

In the screen shot below you will see breakpoints set for both the beginning of the Decision Task and on the Sequence Flow before the Gateway.

With those breakpoints set, we can start the process again with the same input values and the debugger will stop the execution at the first breakpoint as shown below. At this point you can display all the various values in the Process Test pane Tabs.

If we continue on by clicking the continue button (a spinning circle) at the bottom left of the Task shape, the next breakpoint (on the Sequence Flow) will again halt execution and you can make use of all the tabs in the Process Test pane. A really striking feature of the debugger is that at a breakpoint you can also change the data values dynamically (yes, at run time). In the screen shot below we changed the Vacation Approval to “Approved” and the Vacation Approval Reason to “No, we are ok” just by typing them into the input fields and clicking the Update button.

Now if we continue again by clicking the continue button (a spinning circle) to the right of the breakpoint symbol, the Gateway takes a different path. Because we changed the Vacation Approval variable value to “Approved”, the Gateway selects the Approved path resulting in the process completion shown below.

Selecting the Breakpoints tab in the Process Test pane will show you all the breakpoints set and has a checkbox allowing you to skip all breakpoints.

As shown below, at the top of the model canvas while in Test (debug) mode are two more buttons. One, the right pointing triangle, will clear all data, remove set breakpoints and restart the Test mode. The X button will exit the Test mode and stop the debugger thus returning you to the diagram modeler.

Test mode is also available in the Decision modeler and works in a similar way.

All Blog Articles

Read our experts’ blog

View all

Learn how it works

Request Demo

Confirm your budget

Request Pricing

Discuss your project

Request Meeting
Graph