Visual programming tool for modeling statecharts representing multi-modal user interfaces

1k views Asked by At

Is there any visual programming tool for modeling statecharts representing multi-modal user interfaces? I want to build an android and windows metro app which receives input from touch and voice. The application guides the user through a questionaire to be used for screening in a healthcare scenario. The user can input the text in a textbox or generate an event by either touching a button or speaking.

I found that statecharts are used for modeling reactive system behavior such as avionics systems as originally used bu its creator David Harel with the complex task of designing software for the LAVI fighter, built by Israel Aircraft Industries; IAI to clearly and precisely specifying aircraft control behavior. He wanted to specify behavior in a manner which is intuitively clear and mathematically rigorous. Since then, statecharts have evolved from merely being a specification language to become executable, compilable and analyzable.

Since the app I want to build has complex healthcare logic and consists of a hierarchy of screenflows which changes on the input from the interacting user, sends actions to external webservices and receives asynchronous events from external web-services- all maintaining responsiveness in the user interface, I thought of modeling the app logic with statecharts. However, there are no programming tools that I could find which can enable me to separately author the application business logic and the UI(not just the screen interface components) separately. For example if I want to represent the UI ins html5/mxml and the business logic in scxml.

There are couple of tools I found, but none corresponding to the application requirements I have. Mainly there are no example of the design of such an app with a clear separation of the behavior in statecharts and the UI representation in some form of markup language. My findings:

1

There are 1 answers

4
Johannes Dicks On

You should really have a look at http://www.statecharts.org. It comes with an editor, validations, several generators for different target languages and a nice working simulation environment.

The semantics are close to the theoretical work of David Harel and it is open source.

Some time ago and based on YAKINDU SCT Version 1 (current version is 2.6.2) i did my bachelor thesis with a similar topic. Find the following introduction of the thesis: https://vimeo.com/13440814

Further find the following video of YAKINDU SCT version 2 for an feature overview: https://www.youtube.com/watch?v=uO6MASCBPrg Further you will find an extensive set of tutorials an youtube: https://www.youtube.com/watch?v=bhru1n3ZsFo&list=PLmHMvhX5wK_aohX5sOeAMogFDwlc3gJYR

Downside from your point of view might be that SCT currently does not support SCXML and uses its own format. But as it is open source and it is based on eclipse modeling technologies (EMF) it might not be a big deal to replace the serialization and persist into an SCXML format.