biker :: Laws of Engineering

info :: blog :: log :: feed :: español

2013-11-07

On my Real-Time Systems book called "Hard Real-Time Computing Systems" by Giorgio C. Butazzo, in the introductory chapter the author writes:

"Due to the relevance that pessimistic assumptions have on the design of real-time systems, Table 1.1 lists the most significant laws on the topic, which a software engineer should always keep in mind".

Table 1.1 is the next one:

Murphy’s General Law
If something can go wrong, it will go wrong.

Murphy’s Constant
Damage to an object is proportional to its value..

Naeser’s Law
One can make something bomb-proof, not jinx-proof..

Troutman Postulates
1. Any software bug will tend to maximize the damage.
2. The worst software bug will be discovered six months after the field test..

Green’s Law
If a system is designed to be tolerant to a set of faults, there will always exist an idiot so skilled to cause a nontolerated fault..

Corollary
Dummies are always more skilled than measures taken to keep them from harm..

Johnson’s First Law
If a system stops working, it will do it at the worst possible time.

Sodd’s Second Law
Sooner or later, the worst possible combination of circumstances will happen.

Corollary
A system must always be designed to resist the worst possible combination of circumstances.

Categories: linux , software