Skip to content
Updated Convention Guide (markdown) authored by Fahmi Akbar Wildana's avatar Fahmi Akbar Wildana
......@@ -8,10 +8,12 @@ When designing a State Machine, you need to know the purpose. Each State Machine
- For the event name, the name must answer this question:
1. What is the event? (Answer: _pay_)
2. How to trigger it? (Answer: _by clicking the button_ or _hit the enter key_)
- Use [Protocol Transition][] when you want to explain the lifecycle of some states
#### Manage system processes
- Always think about how the system can recover from failure
- Usually, they use self (loop) and backward transition to recover from failure
- Use [Protocol Transition][] when you want to explain the lifecycle of some processes
#### Creating deterministic A.I
- use Behaviour Tree ([HSFM & Behaviour Tree](https://web.stanford.edu/class/cs123/lectures/CS123_lec08_HFSM_BT.pdf)) **or**
......@@ -20,3 +22,5 @@ When designing a State Machine, you need to know the purpose. Each State Machine
#### Manage resources or data
- utilize State Management library **or**
- rely heavily on invoking/spawning services and calling actions
[Protocol Transition]: https://www.uml-diagrams.org/protocol-state-machine-diagrams.html
\ No newline at end of file