Compare commits
2 commits
3c302a83c5
...
8ed9267cb7
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ed9267cb7 | |||
| 5b48895c94 |
2 changed files with 6 additions and 6 deletions
|
|
@ -64,6 +64,7 @@ type CoupledState = {
|
||||||
|
|
||||||
export type BigStepCause = {
|
export type BigStepCause = {
|
||||||
kind: "init",
|
kind: "init",
|
||||||
|
simtime: 0,
|
||||||
} | {
|
} | {
|
||||||
kind: "input",
|
kind: "input",
|
||||||
simtime: number,
|
simtime: number,
|
||||||
|
|
@ -161,7 +162,7 @@ export function App() {
|
||||||
|
|
||||||
const onInit = useCallback(() => {
|
const onInit = useCallback(() => {
|
||||||
if (cE === null) return;
|
if (cE === null) return;
|
||||||
const metadata = {simtime: 0, cause: {kind: "init" as const}};
|
const metadata = {simtime: 0, cause: {kind: "init" as const, simtime: 0 as const}};
|
||||||
try {
|
try {
|
||||||
const [outputEvents, state] = cE.initial(); // may throw if initialing the statechart results in a RuntimeError
|
const [outputEvents, state] = cE.initial(); // may throw if initialing the statechart results in a RuntimeError
|
||||||
setTrace({
|
setTrace({
|
||||||
|
|
@ -504,7 +505,7 @@ export function App() {
|
||||||
<CachedOutlinedIcon fontSize="small"/>
|
<CachedOutlinedIcon fontSize="small"/>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<span style={{display:'inline-block', width: 26, fontSize: 9}}>{(Math.floor(savedTrace[1].at(-1).simtime/1000))}s</span>
|
<span style={{display:'inline-block', width: 26, fontSize: 9}}>{(Math.floor(savedTrace[1].at(-1)!.simtime/1000))}s</span>
|
||||||
<span style={{display:'inline-block', width: 22, fontSize: 9}}>({savedTrace[1].length})</span>
|
<span style={{display:'inline-block', width: 22, fontSize: 9}}>({savedTrace[1].length})</span>
|
||||||
|
|
||||||
<input title="name of the trace (only for humans - names don't have to be unique or anything)" type="text" value={savedTrace[0]} style={{width: 'calc(100% - 124px)'}} onChange={e => setSavedTraces(savedTraces => savedTraces.toSpliced(i, 1, [e.target.value, savedTraces[i][1]]))}/>
|
<input title="name of the trace (only for humans - names don't have to be unique or anything)" type="text" value={savedTrace[0]} style={{width: 'calc(100% - 124px)'}} onChange={e => setSavedTraces(savedTraces => savedTraces.toSpliced(i, 1, [e.target.value, savedTraces[i][1]]))}/>
|
||||||
|
|
|
||||||
7
todo.txt
7
todo.txt
|
|
@ -23,6 +23,9 @@
|
||||||
- paused / step-wise
|
- paused / step-wise
|
||||||
- (scaled) real time
|
- (scaled) real time
|
||||||
- omniscient debugging
|
- omniscient debugging
|
||||||
|
- coupled execution with "plant"
|
||||||
|
- MTL properties & checking of plant state
|
||||||
|
- recording and replaying traces
|
||||||
|
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|
@ -30,10 +33,6 @@ TODO
|
||||||
- bugs
|
- bugs
|
||||||
editing SC <-> Plant connections at runtime doesn't seem to work
|
editing SC <-> Plant connections at runtime doesn't seem to work
|
||||||
|
|
||||||
- testing
|
|
||||||
use STL for testing
|
|
||||||
https://github.com/mvcisback/py-metric-temporal-logic
|
|
||||||
|
|
||||||
- maybe support:
|
- maybe support:
|
||||||
- explicit order of:
|
- explicit order of:
|
||||||
- outgoing transitions?
|
- outgoing transitions?
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue