On Wed, 2008-10-01 at 11:23 -0700, Andrew Lentvorski wrote: > Christopher Smith wrote: > > - The number of states is all that matters, not the complexity of the > > state transitions. So, for example, a protocol with 40 states, but only > > one state transition possible between each state, would be more tightly > > coupled than anything that has been talked about in this thread? > > I know of no protocol that would work with 1 transition per state > (that's a counter). All protocols I know of have a minimum of *2* > transitions per state. Generally, transition 1 is "stay put" and > transition 2 is "move to new state".
How about if each state is effectively "don't accept any input that doesn't conform to this constraint" with said constraint being distinct for each state. I'm not saying there isn't some complexity or coupling there, but I'd be hard pressed to think it worse than the stuff we've been talking about. Coupling is very much effected by the *size* of the interface, and while that includes states and state transitions, it includes a lot of other things too. I'm kind of surprised that this is controversial. > As such: two intercommunicating 40-state machines operating on two > different computers will be *WAY* more coupled than something like > TCP/IP without simplifying mechanisms (ie. make sure that one machine > can never get more than 1 state ahead of the other or something like that). So, the key thing here is why such simplifying matters. There's a reason for it, and it is exactly why you can have a tightly coupled interface even with a stateless protocol or a loosely coupled interface even with a fairly stateful one. --Chris -- KPLUG-LPSG@kernel-panic.org http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg