State idle { name = "idle" initial = True } State armed { name = "armed" initial = False } State detected { name = "detected" initial = False } Transition (idle, armed) { trigger = "Arm" } Transition (armed, idle) { trigger = "Disable" } Transition (armed, detected) { trigger = "PersonDetected" raise = "SoundAlarm" } Transition (detected, armed) { trigger = "CorrectCode" raise = "DisableAlarm" }