Details
Description
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.
At the same time, the "Open Web" is becoming increasingly popular as a platform for application development. Applications may be built using a suite of technologies implemented in modern web browsers. In particular, the JavaScript language is used to implement interactivity and dynamic behaviour in UI objects. It is thus possible to create browser-based applications that are richly interactive. These applications are typically called Rich Internet Applications (RIAs).
SCXML is a human-readable XML application for describing Statecharts. An SCXML-to-JavaScript compiler, then, would allow developers of RIAs to use Statecharts to describe and implement the behaviour of their UIs, which would thus make it easier to develop RIAs with complex behaviour requirements.
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.