There are many challenges that software developers face during the development of complex User Interfaces (UI). Desired behaviour may be autonomous or reactive, and possibly real-time. Each UI component may be required to exhibit a radically different behaviour from that of any other component, and the behaviour of components may be inter-related. These complex behavioural relationships between components are often difficult to express, and are even more difficult to encode and maintain.
A solution may be found in Model-Driven Engineering. In particular, Statecharts, a formalism for describing complex, state-based behaviour, is well-suited for describing certain kinds of UI behaviour.
Furthermore, in order to allow developers to better comprehend the dynamic behaviour described by their statechart, it would be useful to provide a tool that may generate graphical depictions of statecharts from SCXML input documents, which may then be animated in response to live user interface events.