Model-based design aids test and verification
Greg Reed, Contributing Technical Editor -- Test & Measurement World, 12/1/2006
| SIDEBAR: Automotive and aerospace firms use model-based design |
![]() |
|
Model-based design offers continuous test and verification which accelerates the vehicle development cycle. Courtesy of The MathWorks. |
To learn more about how model-based design works, I spoke with two representatives of The MathWorks: Jon Friedman, automotive industry marketing manager, and Brett Murphy, technical marketing manager.
“Driven by increasing regulatory, performance, safety, and convenience requirements, and aided by Moore’s Law, the complexity of embedded systems continues to grow at an astounding rate,” said Murphy. “To keep up, companies have turned to modern development tools centered on model-based design. Historically, tool vendors have focused on the design portion of embedded systems development. As a result, the lack of attention on verification, validation, and test has created critical bottlenecks in the development process.”
How model-based design worksMurphy and Friedman explained that in model-based design, a system model is at the center of the development process, from requirements capture and design to implementation and test. The model is an executable specification that is continually refined throughout the development process. Simulation shows whether the model works correctly.
“When software and hardware implementation details are included, such as fixed-point and timing behavior, you can automatically generate code or logic for prototyping and deployment and create test benches for system verification, saving time and avoiding the introduction of hand-coding errors,” explained Friedman.
Model-based design lets engineers:
- use a common design environment across project teams,
- link designs directly to requirements,
- integrate testing with design to continuously identify and correct errors,
- refine algorithms through multidomain simulation,
- automatically generate embedded software code and synthesizable HDL code,
- develop and reuse test suites,
- automatically generate documentation, and
- reuse designs to deploy systems across multiple processors and hardware targets.
With respect to test, model-based design facilitates early and continuous testing and verification. Conventional wisdom holds that the earlier you find errors, the less expensive they are to correct. Waiting until final test to uncover an error introduced during the development phase can be very costly.
Using model-based design, engineering teams can develop executable specifications—system models with test inputs and expected outputs—and run scenarios in simulation to validate specific requirements, designs, and tests (figure). In addition to uncovering errors before they propagate from the requirements phase into the follow-on phases, the test team can collect a set of verified test scenarios that can be applied to the physical system.
Better than traditional methodsA traditional development project involves three fairly distinct phases—defining the requirements, building the prototype, and testing the prototype. Interaction among the separate engineering staffs is limited, as is the ability to perform multiple iterations. Model-based design still involves these three phases, but it blurs the distinctions.
During the project-definition phase, a program such as Simulink can help the developers define the product specs, create a single set of models for use by engineers at all phases, and begin plans for validation and test. At the second phase, engineers can use the simulation software to optimize the design, discover flaws prior to implementation, and perform accurate rendering of hardware-specific components. In the third phase, the software can automatically generate reliable code and offer improved testability due to repeatability.
Friedman summarized the benefits that model-based design offers the test process, “Now, new capabilities are being developed that use the design models to help engineers minimize the number of tests that must be performed to fully verify the design by identifying redundant tests to be avoided. In addition, test-management capabilities are being added to automate the management of the test harnesses, scripts, and results across the development cycle.
“In the design phase of model-based design, new analysis techniques go beyond traditional simulation to better verify whether a detailed design specification meets its requirements. Various analysis methods, when integrated cleanly with the design environment, provide automated debugging and model-checking capability that identify common design errors.”
|



















