Model-based methods offer plenty of potential to make system development effective. However, it is necessary to maintain an overview of the countless possibilities. To help, this article offers:
Model-based methods are gaining more and more popularity in development. Why is that? And what are they exactly?
At IMT, we always strive to make our development process efficient so that we can optimally support our customers in the implementation of their projects. To achieve this goal there is no way around model-based methods, as they can improve or simplify diverse aspects of system development.
There is a very wide range of model-based methods, which are intended for a wide variety of purposes. It depends very much on the project, what can be gained by using a specific method. It is therefore important to choose the right set of model-based methods for each project.
In this article, we try to clarify the the terms related to model-based methods and demonstrate how they can be used.
“A model is a simplified representation of reality. This presentation can take the form of concrete objects or remain as purely abstract or theoretical constructs.” Wikipedia
A good model shows all relevant properties of the real object, while at the same time simplifying as much as possible.
However, this property also leads to the fact that ta model is always optimized for a specific purpose.
As we can see in Figure 1, models of the same real object can take very different forms. There is an almost unlimited number of possible models—the more complex an object, the more possibilities naturally arise. But even for very small things like atoms or light, different models are used in physics.
This may be one of the reasons why the term “model” in “model-based methods” is open to so many different interpretations.
However, the core is always the same and corresponds more or less exactly to the above definition. A model is a simplified representation that depicts all relevant properties of the real object. A model of this kind is less complex and thus simplifies work in relation to the specific purpose.
It is therefore only logical that there is a whole range of “model-based methods” for different areas of application. In the following, we will try to clarify the somewhat confusing terminology that arises.
According to everything we now know about models, the intended use (as the central property of a model) lends itself as a parameter for classification.
This also makes it clear from the outset that we only want to consider approaches for the development of technical systems here. So we can safely disregard the model car from Figure 1. However, the other two models demonstrate two important purposes. These purposes could be subdivided as follows:
Even though there is some overlap, the model-based methods can be divided into these two groups based on their basic intention.
For a software application, it is obvious that a behavior-describing model can be used to automatically implement this application.
If this approach is extended by a second behavior-describing model, which represents the environment, i.e. the behavior of all interfaces of the first model, it is possible to simulate the behavior of the entire system.
The most common term for such an approach is:
This also makes it possible to carry out simulations or tests for different development stages. The possible approaches are referred to as:
A description of these approaches can be found in the glossary below.
Since the behavior is described by the model, it is not only possible to have the software application generated automatically, but also to verify the implementation in different development phases.
The third model in Figure 1 shows a highly abstracted structure of a car. A car consists of 2 front wheels, 2 rear wheels and an engine, whereby 2 wheels are driven by the engine via an axle. This type of model is very suitable for representing structures and relationships.
Model-based methods that use similar types of models to manage information include:
The first two methods are used in the specific disciplines of mechanics and electronics and are integrated in the corresponding development tools. MBSE, on the other hand, is a method for describing architectures of complete systems and thus in principle starts one level higher.
After the above explanations, it is clear that this is the wrong question. Each of the above methods has its specific purpose. The question should therefore be:
Which model-based methods should I use?
Model-based methods offer many advantages, but often require appropriate tool support. If this is given, it is also possible to use all the above methods on the same project.
If all of these methods are used, the following overall picture emerges:
|Model-based design||MBD||Model-based software development method, in which two behavioral models are used to describe the behavior of the software and the behavior of the environment.
This is also the basis for the use of “in-the-loop” procedures (MIL, SIL, PIL, HIL).
|Model-based enterprise||MBE||Model-based mechanics development method in which the 3D model serves as the central source of information.|
|Model-based system engineering||MBSE||The system engineering methodology, in which information about a system and its structure is stored in a central model. Model-based system-engineering.|
|Model in the loop||MIL||The simulation of an embedded system in an early development phase, where the model of the software is simulated along with the model of the environment.
Require model-based design.
|Software in the loop||SIL||The simulation of an embedded system in a quite early development phase, where the generated code of the software model is simulated along with the model of the environment. The generated code runs on development hardware that is not identical to the target hardware. Require model-based design.|
|Processor in the loop||PIL||The simulation of an embedded system in a quite early development phase, where the generated code of the software model is simulated along with the model of the environment. The generated code runs on the target hardware (processor). Require model-based design.|
|Hardware in the loop||HIL||The testing of an embedded system at a late stage of development, whereby the generated code of the software model is tested on the target hardware in an interaction with a real environment recreated by a HIL simulator. Require model-based design.|
|Electronic computer-aided design||ECAD||Software for the design of electronics. Also referred to as Electronic Design Automation (EDA).|
|Printed circuit board||PCB||A printed circuit board.|
The terms model and model-based can be interpreted very broadly. This is due to the fact that a model is always created for a specific purpose and the set of legitimate models is at least very large, if not infinite.
What they all have in common, is that they are simplified or reduced to what is essential. The aim is always to facilitate the activities it carries out.
General advantages and disadvantages of model-based methods:
The advantages lie in the improvement or support of work processes.
The necessary tool support can be considered a disadvantage. This can be further subdivided into tool costs, familiarization with new tools and the danger of tool lock-ins (strong ties to proprietary data formats, etc.).
However, the disadvantages mentioned can be greatly reduced with a considered choice of tools/development tools. Of course, even then it is still necessary to weigh up the advantages and disadvantages. At IMT, we are convinced that every project, regardless of size, can benefit from the use of model-based methods.
Examples for application of model-based methods at IMT:
For the development of specific electronic and mechanical components, we use CAD systems such as “Altium Designer” or “SOLIDWORKS 3D CAD”. The majority of such systems are already established on the market.
When developing larger systems, we mostly use MBD. In addition to the benefits of rapid prototyping, this also enables early fault detection through the simulation/testing approaches offered by the “in-the-loop” processes. Among other things, IMT relies on “MATLAB/Simulink” for this. For example, this is used in the development of measuring instruments.
If the product also has to meet strict standard requirements, it makes sense to combine this with an MBSE approach, which supports proof of conformity with the standard. For example, this is the case in the development of medical technology products.
For the implementation of smaller projects such as test automation tools, model-based methods which allow the generation of “boilerplate code” are often used. Among other tools, IMT uses its own “DATAFLOW Designer” software tool, which follows an MBSE approach.
Leave your e-mail address here and we will inform you as soon as we publish new contributions.