Biomedical Engineering Safety Critical Software Hard Real-Time Requirements
A solution for developing certifiably safe, secure and dependable pacemakers.
Learn more about one of my first major projects!
This project is the culmination of a world-wide research challenge issued by the Software Certification Consortium! The basis of the challenge is to use formal methods to specify, develop and verify pacemaker software. The use of such mathematical techniques in safety-critical applications emphasizes correctness and proof as a measure of system integrity, improving the certifiability of many of today's increasingly complex, software-intensive systems. Software certification allows these systems to meet minimum safety, privacy, security and reliability standards, while preventing software failures that lead to devastating consequences.
Left image: pacemaker reference hardware platform (left) and testing controller (right). The testing controller mimics
many of the natural electrical activities of a heart.
Right image: real life application of pacemaker.
As embedded developer, I brought up the pacemaker reference hardware platform above, by evaluating and interfacing the FRDM-K64F MCU with a custom PCB. I also implemented and translated C code to MATLAB/Simulink block libraries. Finally, I implemented models in MATLAB/Simulink that operate the pacemaker under the specified modes, meeting hard real-time requirements.
The outcomes of this project laid the foundations for a third year course project in Software Development, engaging 160+ students each year with experiential learning opportunities. In 2020, I improved the overall course quality and engagement by developing course material that outlined best practices for pacemaker developers. I also empowered 170 students with verifying complex concepts at home by evaluating the above testing controller, enhancing virtual learning experiences in wake of COVID-19. This project has come a long way over the years! I am proud of what our research team has accomplished and the value that this project has added to the software engineering curriculum at McMaster.
Communication
Soldering
UART
Systems Design
Interfacing
Schematic Analysis
C/C++ Programming
Model Driven Development
ARM Cortex-M4 FRDM-K64F MCU
ARM Cortex-M0+ FRDM-KL25Z MCU
ARM Cortex-M4 NUCLEO-F446RE MCU
MATLAB/Simulink
Mbed Studio
NI myRio/LabView
Specified microcontroller and I/O interconnections for latest embedded system design.
Developed, tested and debugged reference hardware platform for a cardiac pacemaker
using ARM microcontroller and analog and digital components on a custom PCB.
Developed MATLAB/Simulink block libraries to allow reliable model based development
of software for the hardware platform.
Have more questions? Check out my work samples for details.