Model-Based Development in Theory: Why Should I use it?
Model-based development is an established practice within automotive software development. As part of this, an executable model serves as the core asset in the development of an embedded control system.
This model underpins the entire development process, acting as an early prototype for requirements elicitation, algorithmic design, software implementation, testing, and verification. Code is automatically generated from the model, which is used to build the software that is finally integrated onto the target system.
Boosting Efficiency and Quality During Development
A number of trends are putting a growing level of pressure on developers and engineers in the automotive and automation industries, including:
- Shorter development cycles
- Increased software complexity
- A large number of safety requirements and standards
- Growing demand for product customization
These challenges lead to workloads ballooning and compromise efficiency. A model-based approach is designed to streamline development processes and can increase system productivity by 40 percent compared to document-centric approaches (source).
By enshrining functionality in a central development artifact (the model) that can be understood and used across different teams, model-based development facilitates interdisciplinary communication and collaboration and helps prevent misinterpretation of requirements. Beyond this, it makes available a single platform and simulation environment that can be used across many teams, whether distributed or cross-disciplinary, to optimize system design.
This strengthens productivity while driving down development time and cost – the need to manually create code is bypassed, and the risk of manually coded errors is eliminated. In addition, quality assurance is prioritized in the initial stages of the process via early validation of system requirements.
Zeroing In on Functionality for Better Quality Assurance
A model-based approach essentially frontloads the development process, placing the lion’s share of work in early development stages and keeping system functionality in focus.
It also helps to improve quality assurance measures:
The model is used to simulate and test system functionality, enabling early validation, and error detection. Requirements traceability is also enhanced, thanks to a stronger link between software design and requirements.
On the whole, this leads to a significant improvement in software quality and fewer software errors.
- Early validation of functionality
Model-Based Development in Practice: The Right Tools for the Right Approach
MES has developed a suite of tools to enhance model-based development processes: the MES toolchain. Together, they provide comprehensive support during software development, from design to implementation and verification.
MES Model Examiner® is the tool for comprehensive static model analysis. MXAM provides an easy way to review modeling guidelines, analyze model structure, and evaluate model metrics.
MES Model & Refactor® (MoRe) is a productivity tool for modeling with MATLAB Simulink. MoRe assists users in revising models (refactoring) and the tool’s useful functions simplify typical time-consuming and monotonous work steps.
MES Quality Commander® is a quality monitoring tool for evaluating the quality and product capability of software. MQC ensures compliance with tool-specific reference workflows.
Model-Based Development in Practice: Our Customer Success Stories
Take a look at how some of the world’s top car manufacturers, suppliers, and OEMs are using model-based development to their advantage.