Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New Modelica state machine prototype
- Added DAE.FLAT_SM and DAE.SM_COMP to capture state machine composition - Most of the code for state machine instantiation is in the new package "InstStateMachineUtil.mo" - Transformation from state machines to data-flow is now triggered within the front-end function DAEUtil.transformationsBeforeBackend(..) - The state machine to data-flow transformation code is in the new package "StateMachineFlatten.mo" (stateMachineFlatten.stateMachineToDataFlow(..)) - The old back-end prototype in package "StateMachineFeatures.mo" is now obsolete Remaining issues: - Not yet implemented operators "ticksInState()" and "timeInState()" and MLS "17.3.6 Merging Connections to Multiple Outputs" - Equations in states need to confirm to the same requirements as when-equations (component ref to be assigned to must be at the LHS) - State machines are based on the synchronous elements features and in order simulate state-machines requires these to be working in OM - As a current workaround to simulate state machines is is possible to uncomment code that wraps all equations in "when-equations" and replaces "previous(x)" by "pre(x)", however, this is only intended for development purposes - The functionality provided by "StateMachineFlatten.mo" should be better adapted to a back-end implementation, however this will require to adapt the data structures used in the back-end (future work)
- Loading branch information
1 parent
e8d65ec
commit c30ebad
Showing
16 changed files
with
2,774 additions
and
175 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.