Embed presentation
Download to read offline





![THIS IS C++ CODE … REALLY THIS IS THE PROGRAM
BOOST_MSM_EUML_TRANSITION_TABLE((
Playing == Stopped + play [some_guard] / (some_action , start_playback) ,
Open == Stopped + open_close/ open_drawer ,
Stopped == Stopped + stop ,
Empty == Open + open_close / close_drawer ,
Open == Empty + open_close / open_drawer ,
Stopped == Empty + cd_detected [good_disk_format] / store_cd_info),transition_table](https://image.slidesharecdn.com/cumlfsm-140731133233-phpapp01/75/PDQ-C-Uml-state-Machines-6-2048.jpg)

State machines describe the different stages or states of a thing's lifeline, the events that influence changes between those states, and the actions taken in response to events at each state. They provide a complete specification of a thing's dynamic behavior. This document introduces state machines and their motivation, including provable programs, minimal code, and ease of integration with inotify, making them well-suited for embedded Linux systems. It then provides an example C++ code snippet of a state machine transition table.





![THIS IS C++ CODE … REALLY THIS IS THE PROGRAM
BOOST_MSM_EUML_TRANSITION_TABLE((
Playing == Stopped + play [some_guard] / (some_action , start_playback) ,
Open == Stopped + open_close/ open_drawer ,
Stopped == Stopped + stop ,
Empty == Open + open_close / close_drawer ,
Open == Empty + open_close / open_drawer ,
Stopped == Empty + cd_detected [good_disk_format] / store_cd_info),transition_table](https://image.slidesharecdn.com/cumlfsm-140731133233-phpapp01/75/PDQ-C-Uml-state-Machines-6-2048.jpg)
