
On Fri, 17 Oct 2008 11:15:48 -0500, Christophe Henry <christophe.j.henry@googlemail.com> wrote:
I admit the UML standard is not too clear in its description of submachines but states the goal clearly (UML Superstructurespecification v2.1.2 p549), as: "Submachine state is a decompositionmechanism that allows factoring of common behaviors and their reuse".
And this is a main design point for Msm. Submachines in Msm intend to be reusable blocks, like classes and functions. They have entrypoints (entry conditions and initial states), can be defined indifferent files and reused in different state machines. What definesa FSM with Msm is its transition table, not the inside of submachines. Submachines can be reused in different main state machines and thelink between all is the transition table.
FWIW, the above completely resonates with my experience of decomposing complex FSMs and is one of the reasons I'm excited about Msm. -- Aleksey Gurtovoy MetaCommunications Engineering