Profile contract
uml.statemachine@1
Full UML 2.5.1 state machines: flat/composite vocabulary plus entry/exit/do activities and internal transitions, history/junction/choice/entry-exit-point/fork-join/terminate pseudostates, trigger [guard] / effect labels, submachines, time events.
graph projectionUML state machine diagram
Open this profile in the gallery
Primary palette
Relationship roles
Legal endpoints
| Relation | Source roles | Target roles | Self relation |
|---|---|---|---|
state.transition | state.choice, state.entrypoint, state.exitpoint, state.forkjoin, state.history_deep, state.history_shallow, state.initial, state.junction, state.state | state.choice, state.entrypoint, state.exitpoint, state.final, state.forkjoin, state.history_deep, state.history_shallow, state.junction, state.state, state.terminate | Allowed |
Profile verification
- Frames define composite regions with at most one initial marker per region.
- Preserve region nesting and transition labels; do not apply the flat trace evaluator to a hierarchical diagram.
- Add shallow/deep history, junction, choice, entry/exit point, fork/join and terminate pseudostates.
- Choice has at least two outgoing, junction has incoming/outgoing, terminate has no outgoing; history and entry/exit need a composite region.
- Entry/exit/do/internal compartments belong to state.state; submachine reference resolves to a different state. Time triggers retain after(...), at(...), when(...) form; guard/effect text is not executable.
Profile defaults
Explicit file settings override eligible CSS, then these profile defaults and the common standard apply. Unspecified semantic facts remain unspecified.
{
"projection.kind": "graph",
"projection.profile": "uml.statemachine@1"
}Projection properties
kind, profile, inputs, analysis_budget, traces, iso, depth
Design operations
- Create composite state and scoped region frames; place states; connect transitions; edit textual annotations.
Bounded analysis
Structural verification and display only; no execution or implied process engine.
Outside this profile
- executable actions/behaviors
- trace evaluation (state.flat@1 only)
- SCXML exchange
- formal UML conformance