The team members are familiar with:
- Power industry requirements for reliability, protection and safety.
- Software and Systems Methods for ensuring high reliability and availability.
- Test design and implementation including automated testing systems.
There are a quotes and references below which describe some of the background.
Some thoughts on high reliability from Stephen Wilson at Lockstep
Stephen Wilson and Phil worked together on one of the first software controlled implantable defibrillators. This had moderately high reliability requirements and Stephen summarises some lessons learn as:
I was a software development manager for some years in the cardiac pacemaker industry.
We developed the world’s first software controlled automatic implantable defibrillator.
It had several tens of thousands of lines of C, developed at a rate of about one tested
line of code per person per day.
We quantified it as the most reliable real time software ever written at the time.
I believe the outstanding quality resulted from a handful of special grassroots techniques:
My internal coding standard included a requirement that when starting a new module, developers write their comments before they write their code, and their comments had to describe ‘why’ not ‘what’. Code is all syntax; the meaning and intent of any software can only be found in the natural language comments.
- http://lockstep.com.au/blog/2014/02/26/gotofail.htmlgotofail and a defence of purists - another Stephen Blog where ]Phil] gets to pretend to be the accumulator :-).
Its worth noting that not all software has this level of requirements but the ideas have been used in the development of most of our systems.
One minor point to note is the 1LOC/d/developer doesn't include:
- Test systems, e.g. we developed a test suite for every code sequence generated by a single rule in the compiler.
- C Compiler based on the Amsterdam Compiler Kit
- CPU validation