Understand the art of the possible. My mission is to make executable Model-based Systems Engineering (MBSE) easy with the Object Management Group's Systems Modeling Language™ (SysML®) and UML® to make simple modeling easy to deploy to the masses. This site provides practical experience of tuning IBM® Rational® Rhapsody® - a precision engineering UML/SysML tool. Rhapsody tips and ideas will be posted with links to videos. You can follow by email (if google app is allowed).
Saturday, 28 July 2018
Rhapsody Tip #39 - Nested states, the art of state-machine design (Intermediate)
Increasingly in my IBM Rational Rhapsody training I've been getting engineers to communicate with each other by drawing UML/SysML diagrams as a group exercise. Like with any natural language there is often more than one way to say the same thing. Knowing the best way is sometimes an art. The use of nested states is one such example. If you're building a state machine and I find I have many states reacting to the same event, then this little voice pops into my head which says "should I create a superstate?". Sometimes it's obvious whether a superstate is good, sometimes less so (that's the art). The key thing is that we do need to consider the readability of diagrams. We are, after all, using them to communicate. In this example I build a Rhapsody project from scratch with a simple state-machine that builds and executes and the user can interact with. I then show how the same behavior can be modeled in a different way by introducing a super state. Of course, knowing techniques like this also comes from experience. I like to think it also comes from training and the value of training is building people's confidence in using UML or the OMG Systems Modeling Language to communicate.
Subscribe to: Post Comments (Atom)
Post a Comment
Note: only a member of this blog may post a comment.