[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