Concurrent Process Debugging via Time-Aligned Visual Tree
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If multiple processes are executed concurrently, then system productivity is improved, but debugging difficulty increases
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.
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.
2Measurement precision
If trace information from multiple processors is collected, then measurement precision is improved, but device complexity increases
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.
3Loss of information
If concurrent instructions are displayed in separate locations, then debugging clarity is improved, but information loss increases
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.
Data Source
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.


