Meta State Machine library review starts Monday

I remember hearing alot about UML years ago, but I have not heard very much about it lately (last 5 years).
Any sense who popular UML is these days. It seems to me it was once greatly touted as the cure to most of project management and prototyping needs.
Does anyone have any experience using it? Where is it primarily used, what kind of projects can benefit from it?
I personally try to design my projects with UML, eventhough I mostly use only a few diagrams. It helps quite a bit for documentation and Model-Driven development. But I wouldn't want to start a big discussion about UML. Msm is implementing only a small part of it, the state machine chapter. There were state machines long before UML. The biggest advantage of following the standard whenever possible is that at least there is a standard and it is formally defined, so that you know what you get. If your question was about where to use state machines, this would need a longer answer. Common cases include GUI development, implementation of communication protocols or whenever you might be tempted to define some flags to define the state of a given class (those who never defined a dirty flag, raise your hand ;-) ). In these cases, state machines help you abstract away implementation details and allow someone else understand your code more easily. I also found them a huge help during development as thinking in terms of a model made a problem much easier to solve. HTH, Christophe
participants (1)
-
Christophe Henry