maestro
maestro copied to clipboard
Maestro2 Feature Plan
Also see #122 for status on case studies
Internal release - ordered
- [x] lexer - rename external to
expand
- #83 - [x] lexer - Check number parsing (perhaps drop hex, exponent etc.)
- [x] parser - merge external and normal call - allow
expand
- #78 - [x] expansion support - allow more expansions - see #89
- [x] pretty printer
- [x] Interpreter
- [x] Runtime Modules - rename from module
- [x] Initialization with cycle checks
- [x] Observable data framework (i.e. outputs from FMUs, NOT debug traces) with support for CSV
- [x] General logging framework in MaBL
- [x] Add modules to spec
- [x] Jacobian fixed step master algorithm without derivatives and state handling (i.e. no rollback)
- [x] one shot / CMD interface
- [x] Example: single water tank
- [ ] Example: line following robot
External release - unordered
- [x] Error Handling Framework
- [x] Include VDMCheck
- [x] FMI error handling - initialize?
- [x] Jacobian fixed step master algorithm with derivatives and state handling (i.e.rollback)
- [x] FMI logging (Log categories)
- [x] Logging of unconnected Outputs
- [x] Add live logging (websocket) to observable data framework
- [x] Web interface supporting into-cps app
- [ ] Example: Create a model where derivates give one result, and without derivatives another result. Derivates must have significant impact on output
Future - unordered
- [x] access environment variables in runtime (i.e. DSE)
- [ ] gauss seidel
- [x] Stabilisation
- [ ] repl unfolding (similar to git rebase)
- [x] Java Fmu
- [x] Distributed fmu
- [ ] External Controlling Entity Support (i.e. ESA case)
- [ ] Refer to variables in simulation environment (i.e. path to an FMU) that is removed when fully expanded - see #87
- [x] basic type checker
- [ ] display expand plugin interfaces, i.e.
initialize(FMI2Component[] components, int startTime, int endTime)
parser - merge external and normal call - allow expand fixed in #78
lexer - rename external to expand: Fixed in #83
expansion support - allow more expansions fixed in #89
@SimplisticCode can you comment on this bulletin? Initialization with cycle checks
@lausdahl is this one completed? General logging framework in MaBL
The logging framework is but it needs to be added to any spec and that part I didn’t do
Regards, Kenneth Lausdahl [email protected]
On 18 Aug 2020, at 13.36, Casper Thule [email protected] wrote:
@lausdahl https://github.com/lausdahl is this one completed? General logging framework in MaBL
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/INTO-CPS-Association/maestro/issues/77#issuecomment-675426229, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATUYOTVBMUBGSBMBMN3FFTSBJRS5ANCNFSM4OLAVTWA.
"Add modules to spec" - Modules have to be added to specification in general to be typechecked.
The initialization is working with cycle check and is applying fixed-point iteration if it encounters a cycle in the co-sim scenario in order to see if the loop convergence. I think it is still possible to apply some further optimizations and especially breaking the co-simulation if the cycle is divergent. @CThuleHansen is it possible to break a co-simulation in MABL? Otherwise, I think I will just do this by having an if-statement to check for convergence and have an empty else-branch - but it just seems a bit messy...
@SimplisticCode we are discussing this now. We will present a guideline on how to do this