Fengco offers multiple 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-organized 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. The model can describe the control system and be used for development or it could describe the surrounding, a plant model, and be used for verification. Optimally, both exist so that they can be connected at an early stage of development.
Visual programming is used, thus eliminating the need for the developer to write the code. Syntax errors and similar issues that 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 clicks. 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
Below 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 in the example 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.