Reinventing Automotive Software with Model-Based Design
February 06, 2020
As the complexity of embedded systems increases, automotive software engineers face pressure to pursue competing goals.
As the complexity of embedded systems increases, automotive software engineers face pressure to pursue competing goals:
- Make the automotive technology components more customizable
- Comply with safety standards and regulations
- Lower development costs
- Accelerate time to market
Model-based design is one solution that substitutes the traditional approach to automotive software development.
Model-Based Design versus Tradition
The difference between model-based design and traditional design methodology is dramatic.
Traditional design is software-centric. It treats software as the main entity in each of the following phases:
- ECU designs leverage block diagrams or computer modeling techniques
- Designs are implemented in a programming language
- ECUs are integrated with a plant model
- Simulation is used to adjust controller parameters
- Testing and reiteration
In the model-based design methodology, computer-modeling techniques are used throughout the design process while the code is generated automatically. Here are the stages of this process:
- The development team creates a conceptual design.
- A mathematical model is created from a specification using graphical design and simulation tools like Matlab, Simulink, and Stateflow.
- The model captures all the information about how the embedded system should run in a real vehicle (the component and its vehicle are modeled as one dynamic system).
- The mathematical model is used in all development stages including design, implementation, and validation.
- The code is automatically generated based on the perfected model and incorporated into an embedded microprocessor.
This way, the model-based design prioritizes the functionality of a component and assesses its integration into a larger system during each stage of development, well before the physical prototype is created.
The Benefits of Model-Based Design in Automotive
The model-based design paradigm grants significant benefits to automotive developers that traditional software development can’t :
- Increased productivity: All phases are based on the same mathematical model. Several models may be used for simulation without increasing development time or cost.
- Decreased development time and cost: Model-based design speeds up the overall development process. With testing at each stage, development teams can avoid costly changes in later stages.
- Ability to introduce major changes late in the development process: Block-oriented workflow and automatic code generation allow automotive engineers to correct erroneous specifications and replace large functional blocks.
- Consistent documentation and implementation: Since the model description is also the basis for actual code, documentation and implementation are kept consistent.
- Higher reliability : Extensive simulation, early testing, and automatic code generation eliminate the possibility of code errors and reduce the need for in-system debugging.
- Technology reuse: Simulation blocks and vehicle tests can be saved in a library and reused in the process of developing other models.
Model-based design allows faster releases, enhanced design, and better reliability in automotive embedded systems. Tools for software modeling and simulation can improve automotive systems as long as they continue to demonstrate benefits and become more common in the industry.
Yaryna is a guest blogger at The Research Nest. As a content marketing specialist and a passionate author, she creates content in topics ranging from Digital Transformation, Technologies, and Marketing.