statebuddy/todo.txt

87 lines
No EOL
2.5 KiB
Text

- implemented:
abstract syntax
- and/or states
- pseudo-states
- enter/exit trigger
- shallow/deep history
- transitions
- event/after trigger
- event parameters
- guard expressions
- action language
expressions:
- arithmetic, logic
- variable references
- function calls
actions:
- variable assignment
- raising output events
semantics
- initialization
- raising input events
- time:
- paused / step-wise
- (scaled) real time
- omniscient debugging
- coupled execution with "plant"
- MTL properties & checking of plant state
- recording and replaying traces
TODO
- bugs
(*) editing SC <-> Plant connections at runtime doesn't seem to work
(*) non-determinism error highlights only one of enabled transitions
- maybe support:
- explicit order of:
- outgoing transitions?
- write documentation
although ideally the tool should explain itself...
- usability stuff:
- action language: add increment operations (++) and (--)
and (+=) and (-=)
- snap:
comments only to states
triggers only to transitions
entry/exit only to states
- ability to hide statechart and only show the plant?
- hovering over event in side panel should highlight all occurrences of the event in the SC
- rename events / variables
find/replace?
- hovering over error in bottom panel should highlight that error in the SC
- highlight selected shapes while making a selection
- highlight about-to-fire transitions
- integrate undo-history with browser history (back/forward buttons)
- ability to 'freeze' editor (e.g., to show plant SC)
- show insert mode also next to cursor
- plot plant signals
- show error when states partially overlap?
useful when accidentally pasting the same data multiple times
(otherwise, you can't see that you have multiple states)
- performance:
maybe try this for rendering the execution trace:
https://legacy.reactjs.org/docs/optimizing-performance.html#virtualize-long-lists
- experimental features:
- multiverse execution history
stable tree layout?
https://pub.dev/packages/ploeg_tree_layout
- local variable scopes
Breaking changes (after mosis25 is finished):
- state names start with # (not with //)
Publish StateBuddy paper(s):
compare CS approach to other tools, not only YAKINDU
z