Supports real-time multi-user co-creation with shareable links for instant information transfer
Automatically generates graphics from text input and applies style enhancements
Prebuilt themes with full customization for personalized designs
Supports icons, images, labels, LaTeX formulas, code blocks, links, attachments and more
Export: PNG, VISIO, PDF, SVG | Import: VISIO, Mermaid
Real-time cloud storage, multi-device sync, version history, and secure data protection
A state machine diagram has only one initial state and can have multiple final states.
Sequential substates: During the lifecycle of a composite state, only one substate can be active at a time, meaning that multiple substates are mutually exclusive and cannot exist simultaneously.
Concurrent substates: During the lifecycle of a composite state, multiple substates can exist simultaneously.
They are not the same.
Historical states generally exist within composite states and are a type of pseudo-state, indicating that when the state transitions back to the composite state, it should be in the substate it was in when it last exited.
An internal transition is a transition that does not cause a state change, represented as: event(parameter name)[guard condition]/action.
When we need to handle some events within a state without leaving it, an internal transition can be defined.
The types of actions and related syntax can be described as follows:
(1) Assignment: target:=expression
(2) Call: opname(arg1,arg2)
(3) Create object: new Cname(arg1,arg2)
(4) Destroy object: object.destroy()
(5) Return value: return value
(6) Send message to object: sname(arg1,arg2)
(7) Self-terminate object: terminate
(8) Uninterruptible action: [described in language]
Do not treat ordinary actions as states, such as: “clicking a button” is not a state.
A state diagram cannot directly represent the relationships between multiple objects. State diagrams are primarily used for modeling the behavior of a single object or a single class. If there are interactions between multiple objects, sequence diagrams, collaboration diagrams, or activity diagrams can be used.
Yes. For complex systems, an object's behavior may be divided into multiple views or dimensions of state diagrams, and multiple sub-state diagrams can be embedded as composite state diagrams.
Events are triggers, referring to external signals that trigger state transitions, such as: a user clicking the “Submit” button;
Actions are reactions, referring to operations executed during state transitions or within states, such as: sending a confirmation email, timing, password verification.