Managing Flexibility: Modeling Binding-Times in Simulink

Model-based development is supposed to improve the development efficiency by raising the abstraction level and generating applications instead of manually coding the application in low level languages like C. One of the successful incarnations of this idea is the MATLAB Simulink tool chain. These tools are now widely used in the automotive industry not only to simulate control devices but also to generate product quality code from it. Like with traditional concepts reuse of created models is an issue. When this can be done efficiently, an additional level of effort reduction (and quality improvement) will be achieved. While MATLAB Simulink in combination with code generators provides good support for creating models for single application, and libraries of models, it does not provide sufficient support for more complex reuse scenarios with fine grained variations across the model(s). This paper will extend the approach developed by an automotive car manufacturer to address these issues. After a discussion of the basic concept the paper will put a special focus on support for flexible binding times since this is one of the crucial issues for reusing models across different projects with different need for run-time switchable variations (development/testing) and static decisions for product generation (resource efficiency in terms of code size and run-time). A concrete application supporting the deployment of these concepts in a project, developing mass production control units, is discussed in the following section.