87 lines
No EOL
2.5 KiB
Text
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 |