Concurrent Process Debugging via Time-Aligned Visual Tree

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging multiple processes in electronic systems, especially embedded systems, is challenging due to the interleaved execution of instructions from multiple threads or processors, making it difficult to determine the current status of each process and identify which process is performing specific tasks at any given time.

Innovation Solution

A method is provided to display concurrent instructions adjacent to each other, using a visual tree structure that time-stamps and de-multiplexes trace information from multiple processors, allowing for the differentiation and display of instructions from each process, even in systems with limited display facilities and real-time execution requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processes are executed concurrently, then system productivity is improved, but debugging difficulty increases

Engineering Contradiction:
Improvesystem productivityVSAvoiddebugging difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the execution timeline into discrete time slots and divides the display into multiple lanes, each representing a different process or thread. This segmentation allows concurrent processes to be visualized separately while maintaining their temporal relationships, making debugging easier without reducing productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces additional display dimensions (multiple lanes and time slots) to represent concurrent processes. Instead of trying to display all processes in a single linear sequence, the invention uses a two-dimensional grid layout where one dimension represents time and the other represents process identity, allowing simultaneous visualization of multiple concurrent executions.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If trace information from multiple processors is collected, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvemeasurement precisionVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a universal display framework that can handle trace information from multiple processors, threads, or processes using the same visualization mechanism. The display engine treats all sources uniformly, organizing them by time slots and lanes, which simplifies the handling complexity while maintaining high measurement precision for each process.

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

3Loss of information

If concurrent instructions are displayed in separate locations, then debugging clarity is improved, but information loss increases

Engineering Contradiction:
Improveinformation lossVSAvoiddebugging clarity
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent uses spatial separation in the display (different lanes and time slots) to represent concurrent instructions from different processes. This dimensional organization maintains complete information about each instruction while providing visual separation that enhances debugging clarity, avoiding information loss through selective filtering.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8112677B2Method of debugging multiple processes
Publication Date: 2012.02.07 SIEMENS INDUSTRY SOFTWARE INC
  • US8112677B2 patent drawing
  • US8112677B2 patent drawing
  • US8112677B2 patent drawing

AI summary

A method of debugging a multiple concurrent processes comprising: obtaining, from each process, a plurality of events that have been processed and, if no time information is associated with each event, associating time information therewith; causing a display to display the events such that an event that has occurred in a first portion of the display associated with a first process at a first time is aligned with an event in a second portion of the display associated with a second process that has occurred at a similar time to the first time. To be accompanied, when published, by FIG. 5 of the drawings.