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.
Attachments
1.
|
Support automated unit testing of benchmark models | Closed | Unassigned | ||||||||
2.
|
Make compiler implementation "portable", so that it can be used in a web browser environment, as well as on JVM with Rhino | Closed | Unassigned | ||||||||
3.
|
Make target code "portable" so that compiled code can be run on Rhino, as well as in web browser | Closed | Unassigned | ||||||||
4.
|
Implement Full coverage of SCXML Specification | Closed | Jacob Beard | ||||||||
5.
|
Assemble Test Models | Closed | Unassigned | ||||||||
6.
|
Tune performance of compiled code | Closed | Unassigned | ||||||||
7.
|
Add compiler flags to allow target code to integrate with existing JavaScript toolkits | Closed | Unassigned | ||||||||
8.
|
Implement framework for graphical debugging | Closed | Unassigned | ||||||||
9.
|
Migrate build system to Maven or Ant | Closed | Jacob Beard |
|