3 ms·
I started to figure out if I could use statecharts for systems design but then read this critical piece and became less enthusiastic mbreen.com/breenStatecharts
by fsloth 12y ago
I started to figure out if I could use statecharts for systems design but then read this critical piece and became less enthusiastic mbreen.com/breenStatecharts.pdf
Could someone with practical experience of them comment of their usability?
- OliverM 12y agoThe paper has some good insights into how statecharts can obscure or confuse solutions, but some of the issues are avoided by experience or practice of using statecharts. Combining orthogonal states and history, for example, is rightly criticised in the paper and is the equivalent of a 'code smell' for me personally, largely because it becomes difficult to reason about the behaviour of the system being modelled. The two main benefits of state charts are the clustering notation and separation of concerns by linking statecharts with directed events (rather than using orthogonality). History is sometimes useful in specific circumstances, though those often arise from how you structured the statechart rather than a system design issue. In short I'd say to try not using deep history or orthogonality and see how you get on. Use them minimally and rarely in combination. I've found statecharts to be fantastic at clarifying my understanding of systems and their design, but like any tool, they take practice.
- fsloth 12y agoThanks for the summary! This does sound a bit more encouraging towards Harel's work