My device

Preamble

My device 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.

Application Programming Interface (API): Javadoc.

Goal

This case study aims at illustrating complex behaviors based on orthogonality (i.e., parallel states) and event sending (e.g., event self-sending as follows: ^self.request h).

Specification (UML State Machine Diagram)
Resources
Implementation (simulator) in PauWare (ver. 1.3) and JavaFX
Installation requirements (PauWare2)
_My_device_state_machine = new com.pauware.pauware_engine.Core.StateMachine(… /*, new com.pauware.pauware2web.PauWare2Web_client()*/);
Specification (statechart) as full-size SVG image
My_deviceS21→Busyinvariant: [Port.isOpen]entry/ Port.setOpen(Boolean)S3S31request_h/My_device.aS32do/ Port.listenToS1Busy→S11entry/ My_device.wexit/ My_device.xS12entry/ My_device.yexit/ My_device.zrequest_crequest_brequest_gS2Busy→Busy→→IdleS21S22entry/ ^My_device.request_hrequest_drequest_crequest_fIdleinvariant: [Port.isClosed]request_egorequest_f