Chart self-checks

There are a couple of simple checks that the designer can easily perform locally to avoid sending the chart outside of the designer for analysis. These checks include:

  • cyclic parent-child relationships
  • illegal transitions between AND states
  • dangling transitions (missing/unknown target or source)
  • no outgoing transitions from a pseudo state
  • an ingoing transition to an initial state
  • no outgoing transition from an initial state
  • transition label from prob pseudo state doesn't match /@0?.[0-9]+/
  • transition label from choice pseudo state doesn't start and end with [ and ] respectively
  • child visually not within the bounds of the parent
  • state visually inside another but is not a child of that state
  • missing initial state

All of which should trigger messages described in #5.

Edited by Park Spencer