|
Author: John Barnes
Abstract:
Gem #47 is the ninth chapter of John Barnes’ new booklet:
Safe and Secure Software: An Introduction to Ada 2005.
Over the coming months, we will be publishing all thirteen chapters of the booklet. In the attachment at the bottom of Gem #30 you can access the contents and bibliography for the entire booklet.
A program that doesn’t communicate with the outside world in some way is useless although very safe. Such a program might almost be in solitary confinement. A prisoner in solitary confinement is safe in the sense that he cannot hurt other people but he is equally of no use to society either.
So for a program to be useful it must communicate. And if the program is written in a safe way so that it does not have internal dangers, it is largely futile if its communication with the world is unsafe. So safety in communication is important since it is here that the program truly has a useful effect.
It is perhaps worth recalling from the introduction that we characterized the difference between safety-critical and security-critical systems as that the former is where the program must not harm the world whereas the latter is where the world must not harm the program. So communication is the ultimate lynchpin of both safety and security.
Note: All chapters of this booklet will, in time, be available on the Ada 2005 home page.
|
672.1Kb |
Posted
in Ada / Ada 2005, Development Log, Devt log - Gem of the Week
If you have an idea for a Gem you would like to contribute please feel free to contact us at: gems@adacore.com
Christoph Grein said:
There’s a mistake in the code:
for Key use record
Issued at 0 range 0 .. 31;
Code at 1 range 0 .. 31;
| should be 3
end record;
Also mentioning the existence of pragma Volatile for The_Signal would be a good idea.