large gen_fsms

Ulf Wiger (AL/EAB) ulf.wiger@REDACTED
Mon Mar 20 16:02:47 CET 2006

This is basically what my talk was about at the EUC,
even though it didn't specifically focus on _large_
fsms, but rather on dealing with complex interaction
in state machines.

The problem with FIFO-style callback-oriented frameworks
is that they don't compose well, so if you want to 
manage the fsms in the manner that you propose, you 
still have to deal with a global state-event matrix.
If there is any chance at all that the global ordering
of events can be significant (*), you are asking for 
trouble doing this in gen_fsm, or any framework with 
similar semantics.

(*) I suspect that if this is not the case, the fsms
probably don't need to be in the same process to 
begin with.

Even so, Joel Reymont posted an alternative approach:

It might be worth looking into.

Ulf W 

> -----Original Message-----
> From: owner-erlang-questions@REDACTED 
> [mailto:owner-erlang-questions@REDACTED] On Behalf Of Serge 
> Aleynikov
> Sent: den 20 mars 2006 14:44
> To: Erlang Questions
> Subject: large gen_fsms
> Hi,
> I wonder if someone could share their experience at dealing 
> with large FSMs.  We are in the midst of implementing an FSM 
> which logically can be broken down in two groups of states.  
> It would be good to be able to split these states among two 
> separate modules, but gen_fsm doesn't allow to do this easily.
> Thanks.
> Serge

More information about the erlang-questions mailing list