History is a software case study,
which is implemented in State Chart XML (SCXML) and
PauWare.
PauWare is a Java engine for executing
Harel's Statecharts in general.
This case study aims at illustrating the functioning of deep (H*) and shallow (H)
history states in PauWare.
For testing purposes, in History.java, _A.shallow_history(); can be uncommented
while _History_state_machine.deep_history(); can be commented (and
vice-versa). Note that the state machine's behavior is then by construction different between these two alternatives.
Caution: below, do not confuse the H* and H notation in general with the Hstate in the state machine!
Resources
History SCXML document
History.scxml.
For editing purposes, you may use a simple editor
SCXML-editor.jar
with associated execution statement: java -jar SCXML-editor.jar
Java SE application as a Maven project
History.PauWare2Web.zip
Installation requirements
This application has been designed and tested by means of PauWare ver. 2.0 (a.k.a. PauWare2, Sept. 2021).
This application also reuses PauWare2Web, a PauWare2 add-on, which allows the dynamic simulation of Harel's Statecharts in a Web browser.
While PauWare2 is based on Java 9,
PauWare2Web requires Java 11.
After downloading History.PauWare2Web.zip,
PauWare2PauWare2.zip
and PauWare2WebPauWare2Web.zip
must be made accessible as Maven dependencies.
PauWare2Web itself requires third-party libraries that are downloaded by Maven: