PROMPT
Improved test data generation for MBD

  • Target Industries : Automobile industry
  • Target Category : Embedded Software Development
Problem

The reality that MBD requires huge costs and time

  • Logic from advance development remains unoptimized
  • As a result of repeated "temporary" corrections, the model itself becomes complicated and bloated, making it difficult to verify the model structure (it is difficult to verify the model structure because it is broken).
Solution

MBD automatic test data generation tool
PROMPT solves huge cost and time problems.

As a subset of MATLAB/Simulink, "PROMPT" is a tool that automatically generates test vectors with high model coverage for large and complex models in a short time. It solves the problem of "generating test data for large and complex models", which is an issue in model-based development (MBD) using MATLAB/Simulink, and as a result, it can contribute to "high safety and high reliability" for the development of ECU software installed in in-vehicle systems, etc. This is the result of joint research and development with JAIST (Japan Advanced Institute of Science and Technology)
Features of PROMPT

Contributes to test data generation with high MC/DC coverage

PROMPT analyzes the model to be tested and automatically generates test data that satisfies MC/DC coverage.
Although it is a latecomer as a test data generation tool, by taking advantage of features not found in other tools, it is possible to significantly reduce man-hours compared to adding test data manually.
  • Feature 1
    Adopts an algorithm that is suited to patterns that formal methods cannot handle well.
    Tests with high quality standards require 100% MC/DC coverage.
    Tools that use formal methods are often used for this purpose, but there are major challenges in using them for operational models. Since this method comprehensively analyzes the model, if the model to be tested is large and complex, the analysis time will be enormous due to state explosion. Due to its mechanism, it is not good at non-linear calculation and frequency characteristics.
    PROMPT is a tool that can quickly generate test data for conditions that formal methods cannot handle well.
  • Feature 2
    Overcoming the weaknesses and drawbacks of random selection (Monte Carlo method)
    Many conventional tools use the Monte Carlo method, which generates test data using random numbers, in order to compensate for patterns that are difficult to generate using formal methods.
    Since it does not analyze the model, it operates at high speed, but it tends to have the following problems. Narrow zones tend to be hard to reach and require a huge amount of test cases and time. A large number of one-off test cases and jumbled waveforms are of no use other than meeting coverage.
    PROMPT can combine signal templates and lightweight analysis to create valuable test data while meeting coverage.
Functions of PROMPT
  • Function 01

    Test harness model generation

    • Create a harness model that connects the Signal Builder, which is the input driver for testing, from the model under test.
      You can target the entire model or cut out subsystems.
  • Function 02

    Test data generation

    • This is the main function of this product. Generate test data.
      There are generation options such as adjusting the generated waveform and number of trials. You are free to resume after interruption and can import data at any time.
      Random number seeds are prepared in advance and can generate the same waveform for the same model. You can also generate different waveforms by changing the seed value.
  • Function 03

    Simulink model coverage measurement

    • This product independently measures model coverage internally when generating and importing test data.
      Measures the coverage achievement status of decision coverage (DC), condition coverage (CC), and MC/DC of Simulink target blocks.
      Some blocks are not covered, such as S-functions and MATLAB-functions.
  • Function 04

    Stateflow model coverage measurement

    • If you enable the function in the generation option, coverage measurement of Chart, State Transition Table, and Truth-Table blocks will be performed in addition to Simulink blocks when generating and importing test data.
      *The Stateflow measurement function is under development, so it is treated as an advance release.
  • Function 05

    Coverage report output

    • Model coverage achievement status using generated or imported test data can be output to a JSON format text file.
      You can output an overall coverage report including achieved/unachieved areas, an unachieved report for checking only the unachieved parts, and a report for unsupported blocks.
  • Function 06

    Test data output

    • Generated test data can be exported to post-process tools other than Signal Builder.
      You can select a CSV format text file or MATLAB table variable format. We also provide examples of creating utilities that convert table variables to various tools.
  • Function 07

    Test data import

    • You can import test data in a CSV file with the same format as CSV output. It is now possible to import single test cases.
  • Function 08

    Custom waveform

    • In addition to the existing 8 types of signal templates, customers can now create, register, and use their own signal templates. Waveforms defined by MATLAB functions can be called from PROMPT and used for waveform generation. By using this function, you can create a test worth keeping with a more realistic (targeted) waveform.
      For example, if you want a monotonically increasing (ramp) waveform that starts at 0, it is probabilistically difficult to adjust an existing NLinear waveform to a pattern that exactly satisfies that characteristic. In such cases, you can define and use your own signal templates constrained to the features of the ramp waveform.
  • Function 09

    Constant calibration

    • PROMPT continues to attempt to generate test data that satisfies the model coverage from the input signal within a preset time and number of times. However, at this time, some paths may be unachievable depending on the block parameter settings, and the generation may never be completed. The method of achieving coverage by changing block parameters during analysis is called "constant calibration" in this tool.
      Prepare a configuration file if you want to change constant values ​​when generating test data. When importing, the constant values ​​described in the CSV file are automatically handled as constant calibration targets.
      Note that constant calibration changes values ​​before simulation. It is not possible to change the constant value for each step.
  • Function 010

    CLI (Command Line Interface) for automation

    • Each function of PROMPT is summarized in the Prompt.Project class. Everything from harness model creation to data output can be automated using MATLAB scripts.

PROMPT V2.9 update information

Expanding Stateflow coverage measurement In addition to charts and state transition tables, we now support truth table coverage measurement. It is now possible to measure the three main types of Stateflow.
Relaxation of restrictions on test data import It is now possible to import and measure the coverage of test cases in single-step units.
Previously, data with two or more steps (waveform) was assumed. This allows you to utilize fragmented data created by unit testing tools.
Enhancement of additional information for test data output When selecting the table format, the signal information attached to the table itself has been enhanced.
Added structural information such as vectors, arrays and bus signals, and data type information. This makes it easier than ever to connect to a variety of applications.
Expansion of usage environment Now available for Windows 11 and Windows Server 2016/2019/2022.
It is also now available on MATLAB R2022b and R2023a.

Product Catalogues