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

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

Iterative approaches in model-based design
Iterative approaches in model-based design

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.

Key Benefits

  • Early validation of functionality
  • Early error detection
  • Toolchain support for automated quality assurance (als3)
  • Decrease in development time and cost
  • Increase in productivity
  • Stronger link between software design and requirements
  • Code is automatically generated
  • Better inter-team collaboration and communication

Model-Based Software Design: 10 Problems Solved

In the following video, we will discuss the ten biggest problems developers and companies face when it comes to model-based development (MBD) and offer solutions to these challenges.

Watch Video: 10 Challenges in Model-based Software Development

The following paragraphs briefly summarize some of the key challenges and their solutions addressed in the video.

Firstly, unreasonable resource allocation can lead to poor project management. In the progress of development, as the complexity of the project increases, improper resource allocation can overwhelm developers and eventually lead to delivery delays.

To deal with this situation, accurate workload estimation can help developers overcome such dilemmas.

As one of its many features, MXAM‘s Global Complexity calculation can check the size and the volume of the model in an objective and comprehensive way. The Global Complexity numbers can be used to the allocation of resources for development, testing and review. MXAM enables precise measurement of complexity metrics, helping developers making appropriate decisions and timely adjustments, thereby ensuring the smooth and on-time delivery of the product.

Secondly, overly complex models can affect the on-time delivery of the software. If the structure of the model is too complex, it becomes a significant challenge to deliver the product on time. Even with the best initial design, models can still become overly incomprehensible as errors are fixed and new features are added. Statistically, the greater the complexity of a part of the model becomes, the higher the possibility of errors.

To meet this challenge, reducing model complexity can help minimize errors, and make it easier for developers to review and fix the errors.

MXAM supports this by precisely identifying the most complex part of the model, while also helping to make appropriate decisions.

In addition, inconsistent modeling styles can hinder software development progress. In developing control algorithms, Simulink provides many implementation methods for one given question. If different teams need to use this model at different stages of development, the inconsistent modeling style can lead to difficulties in understanding the model between teams, resulting in more time and effort.

At this point, following a consistent modeling style becomes an effective solution.

MXAM can identify and adjust all model parts that do not conform to modeling guidelines, ensuring consistency in the modeling process.

At the same time, the error-prone modeling styles increase the difficulty of later fixes, and can also lead to unexpected behavior. The features of Simulink are very broad for many domains. Many of these are error-prone, so guidelines require the selection of certain reliable language subsets.

Again, MXAM can assist here: MXAM‘s guideline checks ensure the reinforcement of defensive implementation techniques, the use of modeling language subsets, and consistent data and control flows that are recommended mehods by the functional safety standard ISO 26262.

Finally, whether the development process complies with the ISO 26262 standard should also be considered. It has already been considered as a necessity that the development process should align with ISO 26262 requirements.

MES also offers consulting services for the deployment of ISO 26262 complaint development processes. From analyzing current development processes to implementations, the MES process and quality service team provides professional support, introduction and software development optimization related to ISO 26262, ASPICE and AUTOSAR. Tailored consulting services include MBD process, safety development, and ASPICE fundamental practices.

Model-Based Development in Practice

The Right Tools for the Right Approach

MES has developed several tools to enhance model-based development processes. Together, they provide comprehensive support during software development, from design to implementation and verification.

MES Model Examiner® (MXAM) 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, and now it is a part of MXAM. MoRe assists users in revising models (refactoring) and the tool’s useful functions simplify typical time-consuming and monotonous work steps.

MES Quality Commander® (MQC) is a quality monitoring tool for evaluating the quality and product capability of software. MQC ensures compliance with tool-specific reference workflows.

ISO 26262 Compliance Service (Consultancy)

Here at MES we also offer consultancy services to help your models and development process fully comply with ISO 26262. Please click on our consultancy page for further information.

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.

Get in Touch with Us

Elena Bley
Elena Bley
Senior Manager Marketing & Webinars

* Mandatory field

Please add 7 and 1.