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 ...@@ -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: - For the event name, the name must answer this question:
1. What is the event? (Answer: _pay_) 1. What is the event? (Answer: _pay_)
2. How to trigger it? (Answer: _by clicking the button_ or _hit the enter key_) 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 #### Manage system processes
- Always think about how the system can recover from failure - Always think about how the system can recover from failure
- Usually, they use self (loop) and backward transition to 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 #### Creating deterministic A.I
- use Behaviour Tree ([HSFM & Behaviour Tree](https://web.stanford.edu/class/cs123/lectures/CS123_lec08_HFSM_BT.pdf)) **or** - 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 ...@@ -20,3 +22,5 @@ When designing a State Machine, you need to know the purpose. Each State Machine
#### Manage resources or data #### Manage resources or data
- utilize State Management library **or** - utilize State Management library **or**
- rely heavily on invoking/spawning services and calling actions - 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