On Fri, Mar 5, 2010 at 4:04 PM, Andrey Fedorov <[email protected]> wrote:
> > > Are those numbers you derived from the picture alone? If you did, could you > go through the math? Unless I'm misunderstanding the notation (could you > link to a rigorous definition?), I see System B having a lot more than 2 > states. > > This has to do with observable characteristics of systems, and is an argument laid down by model checking gurus as well as object capability security gurus. The high-level idea is that you can make checking correctness or limiting authority by limiting the state-surface of the program, by design. Say you have two pennies. Each penny has two states. Each penny being flipped is independent of the other penny. 2 x 2 = 4 states. Now add a penny. 2 x 2 x 2 = 8 states. Add another penny 2 x 2 x 2 x 2 = 16 states Add another 2 x 2 x 2 x 2 x 2 = 32 states Add 2 more 2 x 2 x 2 x 2 x 2 x 2 x 2 = 128 states. Now suppose you enclose 128 possible states by 'fixing' certain tosses of each coin so that they end up always heads or always tails. In short, applying an Adapter pattern. Let's bias 4 coins. 1 x 1 x 1 x 1 x 2 x 2 x 2 = 8 states We've reduced the complexity of the system by an order of magnitude. But what if we biased the wrong coins to always be heads or always be tails? Now we've got a 'maintenance problem'. But,,, what if you can use this order of magnitude change in a more positive light? Maybe the above 8 state configuration can have 4 coins be either heads or tails, and we want to allow for toggling between all heads or all tails. Well, that's 8 + 8 = 16 states. Now the only real problem with this sort of complexity analysis using states is distribution (feedback and redundancy) and openness (extensibility). However, one application of this basic way of managing complexity has to do with defining systems into partitioned subsystems, and subcontracting those systems out to various bidders. This allows the bidding process for a software project to include more than just one bid proposal from IBM, Because individual bid proposals don't have to be 1,000+ page bid documents that only IBM can afford to pay typewriter monkeys to stack together.
_______________________________________________ fonc mailing list [email protected] http://vpri.org/mailman/listinfo/fonc
