How to verify the behavior of AMT?
It is very clear and easy to understand what happens in each of the demos.
But I am wondering if the system becomes more complex, maybe it is hard to use the log to ensure the system works properly. (eg: the executing order of each process or the time quantum each process can use)
Is that any tool in AMT that can verify the behaviour of the system? (such as the order of executing, the time quantum each process gets, ...)
I've thought about this a bit, without preemptive multi tasking the logfile method works pretty well. But with demos like timer, that took ages to get to run in the same order.
So no there is no tool, but such a tool would be a requirement for new features that are not strictly ordered. And I think I'd prefer that order. Some new feature that isn't strictly ordered, and here's a tool to test it. (one thing that comes to mind is new kinds of scheduler)
Did you have a use case beyond general testing in mind? (I must admit "making cool graphs" appeals to me)
I was thinking of the chance to integrate Grasp, which is a tool for tracing, visualizing and measuring the behavior of OS kernels. AMT can be instrumented by adding the traces for critical events. Will it help?
I don't have specific goals for it but it sounds fun. I expected something much more involved.
Looks quite simple to add in, I assume you could just write this trace file over semihosting. I'd put it behind a macro so we can disable it, then add a demo that triggers all the relevant events.
I don't think testing all the existing demos using it is warranted, but adding a single test to test that trace is outputted correctly is fine. (and I would like to see what the existing demo's graphs look like)
So yeah go for it.