Self-healing software
I have very strong opinions regarding software reliability. In general, I despise the phrase "self-healing software" as it generally engenders the vision of more software and more complexity to manage complexity. Adding complexity on top of complexity is entirely the wrong direction.
Ignoring the "self-healing software" and "recovery-oriented computing" buzzwords, I agree with Tanenbaum's concept of a simpler OS core with good isolation of layers.
The hardware appliance model is a good model to consider. Hardware is increasingly becoming cheaper and we have proven we can make compute-intensive systems like digital camera, cars, televisions, and video games highly reliable.
The biggest problem I see is the binding of data and computation into one bundle. Object-oriented languages have in many ways taken us in the wrong direction. Binding the data and the logic together in a single bundle creates inherent problems when it comes to accessing or sharing that data between multiple readers, writers, parallel thread, or when determining when that data can be safely discarded.
We need to separate data and logic processing and put good access mechanisms, and data format backwards compatibility into place.
Computerworld - Tanenbaum outlines his vision for a grandma-proof OS: "'Correcting bad software on the fly surely should be easier than correcting bad hardware. So I think we need to go in the direction of self healing software,' he said."
Ignoring the "self-healing software" and "recovery-oriented computing" buzzwords, I agree with Tanenbaum's concept of a simpler OS core with good isolation of layers.
The hardware appliance model is a good model to consider. Hardware is increasingly becoming cheaper and we have proven we can make compute-intensive systems like digital camera, cars, televisions, and video games highly reliable.
The biggest problem I see is the binding of data and computation into one bundle. Object-oriented languages have in many ways taken us in the wrong direction. Binding the data and the logic together in a single bundle creates inherent problems when it comes to accessing or sharing that data between multiple readers, writers, parallel thread, or when determining when that data can be safely discarded.
We need to separate data and logic processing and put good access mechanisms, and data format backwards compatibility into place.
Computerworld - Tanenbaum outlines his vision for a grandma-proof OS: "'Correcting bad software on the fly surely should be easier than correcting bad hardware. So I think we need to go in the direction of self healing software,' he said."

0 Comments:
Post a Comment
<< Home