Pros and Cons of Model-Based Software Development

Automotive manufacturers are constantly working on improving their products and quality requirements. Nevertheless, the main thing that differentiates brands is electronics. That’s probably the reason why the costs for software and overall electronic systems development has increased.

A huge challenge that software development faces, except the growing expectations is the shortening of the development cycle. Yet, the software is getting more complex and safety requirements are the main thing to consider.

To overcome these challenges manufacturers and dealers are changing the prototype of software development from hand-coded to model-based development (MBD). That’s an approach pursued to shift the focus of the development process to the early phases, supporting function-based, instead of code-based engineering of electronic automotive systems.

If you want to find out more about model-based automotive software development, why it’s being preferred, as well as its advantages and disadvantages, you’re at the right place.

What Is Model-Based Software Development?

A model is an abstraction of an aspect of a system. Model-based software development and system design are based on the end-to-end use of formal, composable and manipulable models in the product life-cycle. A common thread is that modeling languages are domain-specific. This means they offer developers concepts tailored to capture the main characteristics of their application domain.

The introduction of this software development methodology influences established development processes, required resources, as well as the organizational structure in general. Furthermore, there are additional investment costs for tools and training of the employees.

However, the model is becoming fundamental for the development processes. For that reason, an MBD workflow actually saves engineering organizations and software developers’ time and money, while improving the reliability and adaptability of the end product.

There is a number of advantages to model-based software development, but we’ll begin with the challenges it still needs to overcome in order to ensure the mentioned substantial cost and time reduction.

Disadvantages Of Model-Based Software Development

These are the main cons of the methodology and also some of their solutions currently available on the market:

Adaptation To The New Approach

We’re listing this as a disadvantage, only because every change comes with a certain cost and a need for employee training. As we mentioned, MBD approach presents a fundamental paradigm shift in the way automotive software is developed.

A few years back, developers used to code from the very beginning and document the results. However, now the model is designed using a specific modeling language, which is then put into a model-based environment. The code itself is automatically generated. This means the function of developers now changed. They now need to create the models.

That’s a fundamental change and could often meet resistance from being used to the conventional way of development. This is not a technical challenge, but a need for changing the management in general, which could be a tough process.

Increasing Complexity

Modern cars need around 100 million lines of code, while not long ago, neither one was needed. This only shows how complex the system’s vehicles are becoming. Hence, the document-oriented approach to developing systems and software is now reaching its limits in terms of efficiency.

Many manufacturers, automotive software developers, and Tier 1 suppliers have already been applying model-based development, in order to overcome this challenging complexity. Honda is a great example of a giant in an industry that has been applying MBD for a number of years now.

As each phase of the development process introduces complexity, a model-based approach is absolutely needed. This complexity should be managed from different perspectives, instead of being reduced to a single coding phase. With an MBD framework, it’s easier to integrate large systems.

However, the consequence of this process is a way more complex debugging. Because of that, an additional reporting system would be needed. While it’s something achievable for Honda, there are many other manufacturers that would consider it challenging.

Advantages Of Model-Based Software Development

As you’ve probably noticed even the challenges we mentioned have more of a beneficial side. Now let’s move on to some actual advantages of model-based software development, that make it so preferred by giants in the industry:

An Improved Approach

The main, strategic advantage of using MBD lays in techniques like simulations and small scale models that can greatly reduce the costs and risks of production. In fact, this is crucial for high-tech manufacturing industries, like the automotive, where embedded systems seriously impact mechanical, electrical and hydraulic machines.

The model-based approach can also be used for creating a structure for software reuse that allows established designs to be effectively and reliably upgraded in a way more cost-effective manner.

When used effectively MBD could provide a single design environment. This means that developers can use a single model of their entire lifecycle for data analysis, model visualization, testing and validation, and ultimately product deployment, with or without automatic code generation, giving the ability of automotive software development companies to make rapid use of their innovations and new prototypes, with fewer design iterations.

More Cost-Effective

We’ve probably already mentioned this a couple of times, but that’s because model-based software development is truly cost-effective. That’s the main advantage for any business in any industry. But what are the reasons behind these lower costs?

To begin with, you have a way shorter time-to-market, as the MBD approach is faster. Furthermore, you need fewer people and not all should be specialists, while still receiving increased quality. Of course, this would slightly depend on the costs of learning the MDD approach and the costs to develop or buy the tool.

The maintenance of applications built using model-based development is also more cost-effective. High-level models help for easy understanding of the behavior of an application. What’s more, it’s faster to add functionality or change existing using a specific high-level language.

Model-Based Software Development In The New Normal

Model-based software development in the automotive industry is being widely adopted by a number of main players already. The traditional, document-oriented approach has some limitations when it comes to highly complex systems.

That’s why with all of its advantage the model-based development approach outperforms it in many ways. However, it still faces some challenges, but with the right solutions, a seamless model-based software development can be applied.