Software Engineered for Safety-Critical Systems

 Risk Management Engineering

Safety critical software requires enforcement of rigorous engineering practices. Programmers/Coders can make software “function”. However, when safety is key, the software needs to be engineered beyond "functional". Below are some of the engineered aspects of Promenade Software's embedded designs.

  1. The software is designed to avoid issues of timing and threading. Promenade Software has pre-built frameworks and code-bases designed for robustness, providing an event driven system to prevent intermittent instabilities.
  2. Safety critical systems must have mitigations for unexpected events, such as hardware, communications, or use failure. We help identify potential failure situations so they can be mitigated. Then we test the mitigations, simulating failure input and testing system response.
  3. All code must be unit test-able, supporting test of the electro-mechanical units as well. The software should support system experimentation, testing processes (physical and chemical as applicable). The Parlay eco-system was designed for test-ability for every component, and at every level.
  4. The software must be maintainable. Other engineers should be able to understand what the software does for all components, and the effect of change must be clear. No hidden dependencies or unmanageable dependencies are allowed. Our frameworks are designed for simplicity and clarity, modularity, and extensibility.
  5. Safety critical software must support automatic regression testing.  There is only so much a tester can get to manually– good regression testing will thoroughly test the inner workings. With Parlay, we write regression test scripts in Python.
  6. Cyber-security is designed in upfront for maximum protection. Our security experts do not allow security to be an after-thought.
Parlay Firmware Architecture
Process for quality engineering infographic
venn diagram systems engineering management

Our Processes for ensuring Quality

The above design requirements do not get implemented by accident. For Promenade Software, they are part of system-wide architecture oversight, design controls, and a culture of quality.

  1. IEC 62304 provides our life-cycle process backbone. The activities and activity verification requirements provide the design controls and verification evidence needed for regulator submission.  
  2. Risk Management - Hazard analysis of the system software is on-going. Software unit FMEAs are all part of the process to insure safety has been thoroughly considered.
  3. Agile Scrum - Promenade uses Agile scrum for full visibility into the project development. Our clients are welcome to participate in the role of Product Owners. Promenade Software follows TIR45 to incorporate Agile into medical device software
  4. Expertise and Teamwork - We hire top talent; our engineers are graduates from the top universities, such as UCI, Stanford, Cal-Tech, Georgia Tech, Virginia Tech and we never off-shore software. Your project is not subject to one individual's skills.  We work as a team to discuss and review all designs and implementations to insure quality.  

Having the most up-to-date knowledge in the medical device industry allows our medical device software engineers to work proficiently, saving our clients’precious time and money. Our team of medical device software engineers is highly refined, highly skilled, and totally focused on the needs of our esteemed customers. We design medical device software based on our extensive and diverse product development experience.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Promenade Software, Inc. specializes in software development for medical devices and other safety-critical applications.
Promenade is ISO 13485, and CypherMed Cloud is SOC2 Type II certified.

© 2022 Promenade Software, Inc.