Strongly Connected Components in Declarative Models

Yesterday, I wrote about the colored automaton implementation in Declare including mentioning that it is now possible to export such automata directly from within the Designer.

Today, I’ve optimized the output, so it now is possible to reduce the printout by exploiting strongly connected components.  The first change is that strongly connected components are grouped together and shown inside a box.  This alone improves the understanding of the resulting automaton.

By also exploiting that in many cases strongly connected components represent activating and then satisfying a constraint, it is often the case that all nodes in a SCC have the same target state for certain transitions.  This is exploited by collapsing all such transitions to a single one originating from the compound SCC box.  For the model I showed yesterday, we now get this automaton:

as opposed to the original one:

I find the new one much simpler and easier to understand even if it conveys (at least) as much information.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.