Automated Timing Analysis for Real-Time Control Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for determining the worst-case execution time (WCET) of control applications in industrial automation are inefficient and inaccurate, particularly due to the complexity of hardware diversity and large software sizes, leading to potential unsafe under-approximation or costly over-approximation, and the inability to manually develop static timing models for every target platform.

Innovation Solution

An automated method and system that identify and process recurring code sequences to generate a timing data structure, using domain-specific properties and combining testing and static analysis to estimate both best-case and worst-case execution times, allowing for optimized real-time operation by refining the timing model through on-target execution time measurements and comparison.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual static timing models are developed for every target platform, then measurement precision of execution time is improved, but device complexity and development effort increase significantly

Engineering Contradiction:
Improveexecution time measurement precisionVSAvoidtiming model complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a timing model that copies and reuses execution time data from recurring code sequences. Instead of manually developing timing models for every platform, the system identifies recurring code patterns and copies their measured execution times to estimate timing for similar code, significantly reducing development effort while maintaining precision

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary measurement and characterization of recurring code sequences during an offline training phase. This preliminary action creates a library of execution time data that can be reused for multiple target platforms, eliminating the need for repeated manual timing model development

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If exhaustive testing is performed to determine WCET, then measurement precision is improved, but loss of time and productivity decrease

Engineering Contradiction:
ImproveWCET determination accuracyVSAvoiddevelopment speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial action by measuring and characterizing only the recurring code sequences that dominate execution time, rather than exhaustively testing every possible code path. This partial characterization provides sufficient precision for WCET determination while dramatically reducing the time and effort required

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary identification and measurement of recurring code sequences offline, creating a timing model that can be quickly applied to new applications. This preliminary work eliminates the need for exhaustive testing during each new deployment, improving productivity

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If simpler computation modules are used, then cost is reduced, but manufacturing precision of execution time guarantee deteriorates

Engineering Contradiction:
Improvecontroller costVSAvoidexecution time guarantee
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The patent implements feedback by measuring actual execution times of recurring code sequences on the specific target hardware platform and using these measurements to refine the timing model. This feedback loop ensures that the timing guarantees are accurate for the specific simpler computation module being used, rather than relying on generic estimates

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If larger software systems are handled, then adaptability is improved, but difficulty of detecting and measuring execution time increases

Engineering Contradiction:
Improvesoftware system size handlingVSAvoidexecution time analysis difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the large software system into recurring code sequences that can be independently identified, measured, and timed. By breaking down the complex software into reusable code patterns, the system can handle large software systems while maintaining manageable measurement and analysis complexity

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10466671B2System and method for an optimized operation of real-time embedded solutions in industrial automation
Publication Date: 2019.11.05 ABB AG(DE)
  • US10466671B2 patent drawing
  • US10466671B2 patent drawing
  • US10466671B2 patent drawing

AI summary

A system and method for optimized operation of real-time control applications. The system and method being configured for identifying and processing recurring code sequences in control applications to quantify the execution time of control applications, wherein for each set up and/or control application a timing data structure is generated to determine the execution time of control applications in industrial automation, determining execution times of control applications based on recurring code sequences that are automatically extracted from a set of training applications and/or identified in the respective application, automatically generating test data to determine their on-target execution times for refinement of the timing data structure, decomposing the structure of the respective control application into code sequences for which the created data timing structure and timing model respectively provide execution time estimates, and determining at least an estimate for the best-case execution time and/or the worst-case execution time of the control application.