Skip to Main Content Skip to Search
Accelerating the pace of engineering and science

 

MATLAB News & Notes - December 2004

Moving To Model-Based Design

by Kelly Bletsis and Tony Lennon

Your system engineers define the specifications, which software engineers must then interpret to write code. How do you ensure that the system will correspond to the original concept?

Your powertrain design team wants to reduce testing on expensive engine hardware. How do you minimize test iterations while optimizing system performance?

As a semiconductor designer, you work with multiple R&D teams to design efficient implementations of complex audio codec algorithms. How do you enable these teams to collaborate and share design drafts?

Problems like these, all too familiar to embedded systems and electronics engineers, can jeopardize project results. In independent industry studies, Jerome Krasner discovered that 51% of embedded design projects finish an average of 3.5 months behind schedule.

Specification changes are a major cause of project delay. Poorly communicated specifications, planning errors, and project complexity have a similarly profound effect on productivity (Figure 1). These problems are common in traditional development methods, which rely on document-based specifications that can be ambiguous and easily misunderstood.

Reasons for late projects   Figure 1. Reasons for late projects, as reported by Venture Development Corporation. Source: Embedded Software Strategic Market Intelligence report, Volume 1, July 2004, VDC. Note: Percentages sum to over 100% due to multiple responses. Click on image to see enlarged view.

Working with Model-Based Design

Model-Based Design for embedded systems addresses all the key factors that delay a project, including changes in specifications, project complexity, and unrealistic schedules, because design teams work from a single Simulink model of the entire system and its environment. Engineering teams use the model throughout the development process—from requirements capture and design to implementation and test.

modelThis model becomes an “executable specification” and includes all the information needed to specify the software or hardware implementation, including fixed-point and timing behavior. Simulation is used to show that the model is complete and works correctly. All the code and test benches for final system testing, verification, and deployment can be automatically generated from the model, saving time and avoiding the introduction of errors.

Model-Based Design reduces the complexity of large-scale system development by letting multiple design teams work in parallel to refine and optimize subsystem designs. As each subsystem is finalized, it can be incorporated into the overall system model.

“Our system engineers can program, simulate, and verify the AC 800PEC controller’s regulation software very rapidly in MATLAB and Simulink. This approach markedly reduces development times and produces significantly fewer deviations from the specifications.”
Fritz Wittwer, ABB

Executable Specifications

Graphical representations are at the heart of Model-Based Design, starting with requirements gathering.

Traditionally, system engineers capture requirements in a paper specification that design engineers must interpret. Paper-based specifications shared among different teams are easily misinterpreted, and hand-written code increases the risk of propagating errors throughout the design process.

By sharing the same executable specification, design teams can bypass hand-written documentation, eliminate ambiguity and misinterpretation of specifications, and clearly communicate critical issues and decisions, including requirements changes.

“MathWorks tools enabled us to understand the system-level interactions among the components, to model the physics, and to determine safety limits of the pump very efficiently and quickly”
John F. Kalafut, Medrad

Simulink model   Figure 2. A Simulink model of an Ultra Wideband (UWB) multiband OFDM physical layer becomes the reference model for designing a fixed-point transmitter and receiver. Click on image to see enlarged view.

Design with Simulation

Developing hardware prototypes is costly and time-consuming. Design engineers are often unable to create multiple prototypes to explore design optimizations. Consequently, even designs that meet specifications may not be fully optimized.

Because the model provides a comprehensive description of the design, the development team can simulate its performance in a software environment, reducing the need for costly hardware prototypes. As a result, they can find and correct problems much earlier in the design process, refine the design, automatically update the executable specification, and perform more design tradeoffs in a shorter period of time.

The model provides continuity in the design and development process and can be used to test any optimizations proposed by the implementation team. As a result, the final product will be much closer to the original design.

“The Simulink models exceeded our project specifications for required simulation speed. Accurate simulations can now be measured in minutes rather than hours or days.”
Yuan Yuan, Motorola

Implementation with Automatic Code Generation

The transition from design to implementation traditionally involves a design engineer transferring a set of plans to an implementation team. As with the transition from specification to design, misinterpretation at this point can cause errors.

“It is difficult to reduce development time and costs with a traditional development process… Simulink enabled us to perform simulations early in the design process. This helped us quickly validate our design ideas and refine our control strategies.”
Shigeaki Kakizaki, Nissan

Because the model is an executable specification, engineers can automatically generate code from the model for real-time prototyping and deployment in the target system. Automatic code generation enables engineers to eliminate hand-coding errors and reduce the time spent on writing and testing code. Any problems in the code are easily corrected by making changes to the model and regenerating code. This ensures that design specification integrity between the model and the code is maintained.

“MATLAB and Simulink greatly reduced development cycle time and cut system and software design and testing costs by 50%.”
Feng Liang, BAE SYSTEMS Controls

Continuous Test and Verification

Test and verification is traditionally the final step before product delivery. When design teams discover problems at this late point in the development process, they face two equally unattractive options: delay the product ship date or ship a sub-standard product.

The system model provides a “golden” reference that can serve as the test bench for the hardware or software implementation. Like the model, the code can be tested and verified at any point in the design and simulation process. Because the Simulink model represents the exact system requirements, teams can use the design as a reference for generating test signals, troubleshoot and trace problems early in the development process, and streamline the verification of hardware or embedded software designs. Engineers can update the model and regenerate the code to realign the design with the specifications, reducing troubleshooting and correction time from months to days, or even hours.

The Value of Model-Based Design

By enabling engineers to design components in a complete system context, Model-Based Design helps eliminate ambiguities and conflicting requirements from embedded system development. System designers can begin evaluating software and hardware designs without waiting for prototype products. Project planners can more realistically assess the resources required to implement the systemlevel design. The result is more innovation, improved product quality, and reduced time to market.

“These tools from The MathWorks put a whole new spin on the way the design process can be done. We can make a real-time simulation from specs and have it sound the way the actual product will. And that results in time and money saved.”
Jim McGowan, Lucent Technologies

The feature “MATLAB and Simulink in the World: Developing and Testing Embedded Systems” shows how engineers are using Model-Based Design to develop embedded control systems in a range of industries.



For more information, visit:

  • Model-Based Design for Embedded Systems

Contact sales
Subscribe to newsletters