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's embedded designs.

  1. The software is designed up-front to be rock solid, and never bring down the system due to timing, threading or other issues of poor software design. Promenade Software has pre-built frameworks and code-bases designed for robustness, with particular attention to the threading model, 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 with our Hardware-in-the-loop test fixture, when necessary.
  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.

Our Processes for Insuring 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. But regardless, 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.

About Promenade Software

Promenade Software, Inc. specializes in software development for Medical Devices and other safety-critical applications.

Contact

Promenade Software, Inc.
16 Technology Drive,  Suite 100
Irvine, CA 92618 
U.S.A.
info@promenadesoftware.com
(949) 329-8570
Go to Contact Form

© 2017 Promenade Software, Inc.