maestro icon indicating copy to clipboard operation
maestro copied to clipboard

Maestro2 Feature Plan

Open CThuleHansen opened this issue 4 years ago • 9 comments

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)

CThuleHansen avatar Jun 29 '20 08:06 CThuleHansen

parser - merge external and normal call - allow expand fixed in #78

CThuleHansen avatar Jul 27 '20 09:07 CThuleHansen

lexer - rename external to expand: Fixed in #83

CThuleHansen avatar Jul 27 '20 11:07 CThuleHansen

expansion support - allow more expansions fixed in #89

CThuleHansen avatar Jul 29 '20 06:07 CThuleHansen

@SimplisticCode can you comment on this bulletin? Initialization with cycle checks

CThuleHansen avatar Jul 29 '20 07:07 CThuleHansen

@lausdahl is this one completed? General logging framework in MaBL

CThuleHansen avatar Aug 18 '20 11:08 CThuleHansen

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.

lausdahl avatar Aug 18 '20 11:08 lausdahl

"Add modules to spec" - Modules have to be added to specification in general to be typechecked.

CThuleHansen avatar Aug 18 '20 11:08 CThuleHansen

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 avatar Aug 19 '20 06:08 SimplisticCode

@SimplisticCode we are discussing this now. We will present a guideline on how to do this

CThuleHansen avatar Aug 19 '20 08:08 CThuleHansen