Fengco offers tools for model based development. Model based development may be defined in several ways; thus, we will provide a short introduction to our view on the matter.
The foundation of model based development is the model itself. A model is a mathematical and visual representation of a function or physical system. A well-organised model quickly provides an overview while also clearly illustrating the function, making it easy to understand precisely what is happening even if the model was created by someone else. The model is essentially its own function documentation.
A key feature of model-based work is that the model is executable. In other words, it is possible to simulate a function at an early stage of the development process, most advantageously against a simplified model of what we want to control.
Visual programming is used, thus eliminating the need for the developer to write the code. Syntax errors and similar issues which can be time consuming to resolve in hand-written code are non-existent, and focus may instead be placed upon what is important: troubleshooting at signal level.
The final implementation is the result of a simulation model combined with a number of superimposed configurations, making the function reusable in other projects even if the implementations differ. For example, it is possible to switch from fixed-point to floating-point implementations within a few button presses. There are plenty of tools to simplify the process of working with standards such as AUTOSAR or ISO 26262.
Model based development benefits from the following strengths:
- Transparent and easy to understand
- Visual programming
- The model is documentation
- Early verification through simulation
- Troubleshooting at signal level
- Reusable in different implementations
- Wide tool support
In the links, examples are detailed of how different processes may look when moving from specification to finished product using model based development.
“Model-based function development” gives examples of how a model based process may look from idea/specification to finished product. In order to keep it simple, mainly the functional development is detailed and not the development of test cases etc which is done in parallel.
“Model-based verification” gives examples of how verification may be performed in a model based process. Both the verification steps during development of a function model but, also, how the actual tests can be created in a model based manner.
“Model-based software architecture” gives examples of how software architecture may be created in a model based manner. The example addresses AUTOSAR; however, it is possible to apply to other/proprietary architectures.