Back to program
Continuous Integration with Model-based Development and Validation
At Volvo Cars Cooperation (VCC) Powertrain, we have had model-based in-house software development for almost 20 years, mainly in the areas of combustion engines and drivetrain control. Over the last few years, more and more functionality has been added to the current software product that, together with a growing demand of fulfilling needs from many different vehicle projects, increases complexity and the need to safeguard software product quality as early as possible in the development chain. To achieve this, we have implemented a continuous integration (CI) chain where different quality measures, such as peer review, unit tests, guideline checks, and complexity analysis, minimize the risk of bugs being introduced in the software. Each software product is automatically built and tested in all the relevant project configurations in which the software is to be deployed. The CI chain system uses gated commits, and only the proposed changes, the quality gates, are allowed to be merged into the master repository. This ensures that the integrity is not dependent on a single individual making the right call, it is instead ensured by the system. The shift toward development using a CI chain was triggered by a strategy to increase quality by detecting faults early, introducing HIL/SIL test environment as part of the CI chain, as well as increasing the speed of delivery (i.e. minimize time-to-market) by performing automatic testing. The model-based design is made by function developers who are experts in their respective fields. The function developers focus on the mechatronic system, and the tool chain must help the developers produce easy readable, testable, and maintainable models. Here, we have implemented the tool MES M-XRAY® in the CI chain to analyse the complexity of the models and at the same time provide insight into how to reduce it. To fulfill model guidelines, mainly TargetLink, the MES Model Examiner® (MXAM) is used.