Javastates is a library of Java classes allowing to develop the internal dynamics of GUI user interface by means of a static executable specification. Using javastates, the GUI programmer concentrates upon the static properties of the interface states, and lets the logic manage for the correctness of transitions.
Javastates originates from a long run project. A C version of similar concepts was implemented in the application generator OpenSide, then a C++ variant was implemented in Ilog Views. Laurent Henocque as a software engineering teacher developped javastates as a tool for teaching the specification of graphical user interfaces and currently uses this at ESIL, Université de la Méditerranée, France.
Javastates is a Java5 library. It uses Java introspection and Java bean conventions to infer class field accessors and modifiers. The demo present in the downloadable archive is based upon Java Swing GUI classes, but every java bean compliant GUI library can be used
Javastates semantics match UML state diagram semantics to a large extent. Concurrency is implemented so that an interface may simultaneously run arbitrarily many sub-automatas
Javastates automatically cares for the values of graphical attributes that must be set or unset during execution.
Fully functional Javastates version 1.6 is available for download.
Fully functional Simple Text Editor demo version 1.6 is available for download.
More related information may be available at javastates original home.
Hosted by