A provably correct operating system
Authors: Zhu Ming-Yuan , Luo Lei , Xiong Guang-Zhe 
Published: October 2004

Embedded and real-time applications are appearing in a wider variety and in more critical applications than ever before, and they are generating more revenue from the services they provide. At the same time, these applications are growing larger and more complex as the market calls for higher performance and reduced costs. To meet market demands and reduce the risks inherent in building complex systems, manufacturers must find and apply technologies that help reach their goals and minimize risks without having to reinvent the wheel.While these issues are common to every high-tech industry, they are particularly significant in embedded real-time applications where failures can cause enormous losses in revenue or even loss of life (for example, in process-control situations). Increasing performance, reducing costs and lowering risks continue to be the prime objective in the embedded systems marketplace. The RTOS reliability factor becomes more critical as companies build upon and expand existing infrastructures, and as it becomes increasingly common for applications of all types to interact with each other. The reliability of your RTOS may not only affect the success of your product, but it can also impact the effectiveness of a host of related products. Indeed, it only takes one OS failure before your customer moves on to your competitor.How to make sure that an operating system is correct and reliable? There are perhaps three ways or there are three categories.&bull; The Market Proven Operating Systems: Those operating systems have been in market for over 10-15 years and have been used in many safety-critical applications. They are therefore tested by the customers for a long time and many errors have been found and corrected. This kind of operating systems include
pSOSystem, VxWorks
and
VRTX.
However, this does not mean that these operating systems are safe and reliable. Some market proven operating systems are not correct and reliable. For instance,
Microsoft Windows
and
Windows NT.
Therefore, market proving does not prove anything.&bull; The Certificated Operating Systems: Those operating systems have been validated by some internationally recognized organizations through a very systematic testing approach. This kind of operating system includes
OSE
and
Ada.
The certification is achieved by systematically passing several thousand test cases to the system to see if the system is still running correctly. Testing can only help you to find out that your program has a bug. It cannot tell you that your program has no bugs.&bull; The Provably Correct Operating Systems: The operating systems were developed starting from a formally defined semantic specification and were derived through a rigorous method. Some important properties such as the safety, correctness, deterministics, reliability and high-availability have been proved during the development.&delta;-
Core
developed by CoreTech is perhaps the first commercial operating system which has been proven to be correct against a formal specification. The whole proof is conducted using a in-house developed mathematical proof development system -
PowerEpsilon.