“Allowed event conflict”

Preamble

“Allowed event conflict” is a software case study, which is implemented in 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 the notion of “allowed event” in UML. An allowed event does not appear as a label for passing through a transition. Instead, it is assigned to a state meaning that the state machine must react to the allowed event when in this state or any substate of this state. Allowed events assigned to the state machine itself are especially useful for processing events, regardless of the current active state(s) of the state machine.

Since allowed events may conflict with “common” events, this case study may be customized for having different scenarios: change the Boolean values of the g1, g2, g3 and/or, g4 guards in Allowed_event_conflict.java in order to understand PauWare management policy of allowed events against “common” events. Note that the notion of “allowed event” is supported in SCXML.

Resources
Installation requirements
_Allowed_event_conflict_state_machine = new com.pauware.pauware_engine.Core.StateMachine(… /*, new com.pauware.pauware2web.PauWare2Web_client()*/);
Specification (statechart) as full-size SVG image
Allowed_event_conflictS1allow: e[Allowed_event_conflict.g1]/Allowed_event_conflict.aAnyS11allow: e[Allowed_event_conflict.g2]/Allowed_event_conflict.be[Allowed_event_conflict.g4]/Allowed_event_conflict.de[Allowed_event_conflict.g3]/Allowed_event_conflict.c