[Infrastructures] state machines
Brandon S. Allbery KF8NH
allbery@ece.cmu.edu
Tue, 19 Sep 2006 12:14:44 -0400
On Sep 19, 2006, at 11:59 AM, Wesley Craig wrote:
> On 19 Sep 2006, at 11:44, Brandon S. Allbery KF8NH wrote:
>> Sure --- assuming you know all of the state that is ever affected
>> by any change. Which is in some sense the fundamental issue here;
>> I do *not* reliably know everything that e.g. Cadence installs
>> will affect, and once or twice we've been caught by surprise as a
>> result. State machines are only useful when *all* possible states
>> are known beforehand.
>
> Oh, you want to talk about practicalities? I thought we were
> talking about theorems & proofs.
If practicalities disagree with the theory, then something's wrong
with the theory. In this case, the theory is that we can know every
modification made to a system by any given action --- to which I must
first ask "at what level?" Clearly it's false at the quantum level,
question being whether that is relevant. Unfortunately, I can
imagine cases where it *is* at least in part relevant, and in those
cases you have a significant problem.
When it comes down to it, your thesis relies on the answers to:
(a) do you know all the levels at which any possible action can
modify the system?
(b) can you reliably record *and later restore* the state at *all* of
those levels? (keeping in mind that this may require actions to be
performed in a particular order, so simply thwacking the eeprom after
doing your disk restore might not completely restore the state if the
eeprom controls something that can affect the restore....)
You can do this with full machine virtualization, and perhaps someday
that will be a best practice. Otherwise, unless you've carefully
inspected and dissected *everything* that touches your system, it's
not clear to me that you can say yes to both of the above questions.
--
brandon s. allbery [linux,solaris,freebsd,perl]
allbery@kf8nh.com
system administrator [openafs,heimdal,too many hats]
allbery@ece.cmu.edu
electrical and computer engineering, carnegie mellon university
KF8NH