Software development of safety critical applications like battery controller, flight controller, medical devices, military weapon systems, etc. requires significant number of verification and validation steps to ensure that the software is compliant towards certification standards. This results in extensive documentation, strict methodologies, and verification activities, but also creates a space for researchers to invent automation techniques to make the software development process simpler. Critical information on how the development and verification tools are interlinked with each other during the development process is usually a part of intellectual property of large aerospace companies. Such information is not available publicly and this hinders the growth of startups and small/medium enterprises. To overcome such hurdles, a process-oriented build tool based on MathWorks` MATLAB and Simulink has been already developed and is used in many flight control applications. In this paper, an application of this build tool to develop a slave controller of a Battery Modular Multilevel Management (BM3) system while undergoing process development steps required by aerospace safety standards is presented. The tool provides a development environment with predefined model templates, block libraries, configuration settings and jobs for executing process-relevant tasks like automatic code generation, code verification, model verification, etc. The tool also ensures consistency of model artifacts and compatibility with downstream tools used for verification and validation on model and code level. The paper presents several verification and development results which authenticates the mentioned advantages of the build tool.
«Software development of safety critical applications like battery controller, flight controller, medical devices, military weapon systems, etc. requires significant number of verification and validation steps to ensure that the software is compliant towards certification standards. This results in extensive documentation, strict methodologies, and verification activities, but also creates a space for researchers to invent automation techniques to make the software development process simpler. Cr...
»