Model Based Development in accordance with ISO26262 & ASPICE
The Challenge
As the complexity and sophistication of modern vehicles demand development methodologies that save time and ensure reliability, embedded system developers are under constant pressure to simultaneously increase system functionality and reduce costs of development. During manual coding, by changing a single requirement, the entire system will need to be recoded and rebuilt, which leads to errors and project delay. To overcome this challenge and strengthen its competitive position, Elco-Solutions is involved in adopting the Model-Based Design (MBD) approach.
Delivered Value
The Model-Based Design approach is a turning-point in the software development process. It is adopted for its ability to provide a systematic, visual, and collaborative approach to system development, leading to more efficient, reliable, and cost-effective outcomes. Through Model-Based Design, code is automatically generated from models in accordance with ISO26262 and MISRA-C. It guarantees the consistency between the model and the implementation, minimising the risk of errors during manual coding. The Model-Based Design actively engages in the verification and validation (V&V) procedures. By utilizing simulation, engineers can identify and resolve design issues at an early stage of development, thereby averting expensive errors and modifications in later project phases.
The Process
The Elco-solutions model based-design team was able to develop a great expertise in the automotive field. The model-based design approach contains three major steps, system modelling, code generation, test and validation. Relaying on ASPICE V-Cycle, mainly software requirements analysis, software architectural design and software detailed design, our team starts by creating mathematical models of the system based on customer specifications by using tools like MATLAB/Simulink. Those models are verified with Model Advisor and later tested against requirements to identify and address potential issues earlier in the design process. Once models are prepared and tested, MBD team proceed with automatic code generation using Embedded coder. Then, we ensure the static code check using the Polyspace code prover and IEC Certification Kit (for IEC 61508 and ISO 26262) MATLAB/Simulink toolbox, which are already certified as standards tool verifiers by TüV SÜD. To detect programming errors in accordance with MISRA-C, different rulesets should be checked during static code analysis tests such as possible indexing beyond array bounds, De-referencing of null pointers, mismatches in variable types … Those rulesets basically will construct our mandatory checklist, noting that this checklist could be reviewed and ameliorated especially after discussion with OEM/Customers. Ensuring the high quality of code, the team tackle the test and verification phase by creating test suites to guarantee the fully model coverage. Then, we perform back-to-back testing using SIL/MIL and PIL/MIL, we validate results according to requirements derived from both stakeholders and OEM and we pass to debugging once deviations occur. At a final stage, review is necessary to verify whether all specified requirements are fulfilled in a proper way.