Parallel-Step Debugger for Business Process Workflows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing debugging techniques for business processes, such as those defined in BPEL, are inadequate for testing parallel activities as they rely on sequential single-step execution, which cannot reliably test activities that branch into parallel operations.

Innovation Solution

A system and method that enables developers to concurrently debug parallel activities in business processes by using a production server with a graphical user interface (GUI) to set breakpoints, instantiate business processes, and perform parallel-step operations, allowing execution of multiple activities within parallel branches simultaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential single-step execution is used for debugging, then the debugger can maintain simple control flow, but it cannot reliably test parallel activities in business processes

Engineering Contradiction:
Improvetesting reliability for parallel activitiesVSAvoiddebugging operation simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The debugger dynamically adapts its execution mode based on the activity type. When a parallel activity is detected, the system automatically switches from sequential single-step execution to parallel-step execution mode, allowing multiple branches to be advanced simultaneously. This dynamic adjustment maintains reliability for parallel activities while preserving operational simplicity through automatic mode selection.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The execution parameter changes from sequential (one activity at a time) to parallel (multiple activities simultaneously) based on the activity structure. The debugger monitors the business process flow and modifies the execution parameter to match the parallelism level of the current activity, enabling reliable testing of parallel operations without requiring complex manual configuration.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If parallel-step operation is implemented to execute multiple activities concurrently, then debugging reliability for parallel activities improves, but the debugger complexity increases

Engineering Contradiction:
Improveparallel activity debugging reliabilityVSAvoiddebugger system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The debugger segments the business process into distinct activity units with clear boundaries. Each activity can be independently controlled and executed, allowing the parallel-step operation to manage multiple segmented activities concurrently. This segmentation approach enables reliable parallel debugging without requiring the entire system to become complex, as each segment remains manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The debugger acts as an intermediary layer between the developer and the complex parallel execution environment. It abstracts the complexity of managing multiple concurrent activities by providing a unified control interface, automatically handling the coordination of parallel branches while presenting a simplified view to the developer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If sequential execution is used, then the debugger interface remains simple, but it does not model runtime parallel behavior accurately

Engineering Contradiction:
Improveruntime behavior modeling accuracyVSAvoidinterface simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The debugger interface dynamically adjusts its behavior based on the execution mode. In parallel-step mode, the interface presents controls appropriate for managing multiple concurrent activities, while automatically switching back to simple sequential controls when appropriate. This dynamic adaptation maintains interface simplicity while accurately modeling runtime parallel behavior when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The debugger interface is designed to be universal, handling both sequential and parallel execution modes through a unified control mechanism. The same basic interface elements serve multiple functions depending on the current execution context, eliminating the need for separate complex interfaces for different debugging scenarios while maintaining accuracy in modeling runtime behavior.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8429622B2Business process debugger with parallel-step debug operation
Publication Date: 2013.04.23 ORACLE INT CORP
  • US8429622B2 patent drawing
  • US8429622B2 patent drawing
  • US8429622B2 patent drawing

AI summary

A system for enabling a developer to concurrently debug parallel activities in a business process or workflow, or other software process. A production server includes a business process, which includes a parallel activity. The production server is operable to receive a request to debug the business process, present a graphical representation of the business process, receive input which indicates where a breakpoint is to be added to the business process, and insert the breakpoint. When a request to debug the business process is received, the production server instantiates the business process and executes the instance, and pauses execution of the instance when a breakpoint is reached and enters debug mode. It can then receive an instruction to perform a parallel-step operation on the parallel activity, execute a plurality of current activities in the parallel activity concurrently, and pause execution before executing a next activity and waits for further input.