Developing Production Software Applications Utilizing a Common Architecture and Complete Model-Based Design 2011-01-0054
The Controls and Software Engineering Team at BorgWarner Drivetrain Systems has successfully employed model-based software development for the past several years. Their drivetrain system control software, developed using MATLAB/Simulink/Stateflow, and autocoded using TargetLink, is on the road in many passenger vehicle applications. Using these tools, BorgWarner has realized the widely recognized benefits of model-based design; such as increased speed to market, improved quality, and reduced complexity. Validating algorithms early through simulation and rapid prototyping, then translating them to production software through automatic code generation has proven very successful for BorgWarner.
When starting with model-based design, the BorgWarner team focused on developing the core application control algorithms in the modeling environment. Lower-level software such as I/O drivers, the task scheduler, and communication logic was still hand-coded. As a result, integration of the application algorithms and lower-level software was also performed manually. To eliminate these manual steps, the BorgWarner team set out to develop complete models consisting of both application and lower-level software. The team accomplished this by building the lower-level logic into SimuQuest QuantiPhi blocks and connecting them to the application algorithms directly in the Simulink/TargetLink model. This allows the entire ECU application to be built in the modeling environment, further reducing iteration times for new revisions and improving quality.
This paper describes the new development process based on the “BorgWarner Core 5” software architecture; characterized by abstraction layers, standardized interfaces, and a model-based implementation of both algorithm and hardware-related software.