a modular openmodelica compiler backend
play

A Modular OpenModelica Compiler Backend J. Frenkel W. Braun - PowerPoint PPT Presentation

OpenModelica Workshop 2011 Chair of Construction Machines and Conveying Technology A Modular OpenModelica Compiler Backend J. Frenkel W. Braun A. Pop M. Sjlund Outline 1. Introduction 2. Concept of Modular Compiler


  1. OpenModelica Workshop 2011 Chair of Construction Machines and Conveying Technology A Modular OpenModelica Compiler Backend J. Frenkel • W. Braun A. Pop • M. Sjölund

  2. Outline 1. Introduction 2. Concept of Modular Compiler Backend 3. Roadmap and Implementation Status 4. Conclusion Linköping. 07/02/2011 A Modular OpenModelica Compiler Backend. Slide 2

  3. 1. Introduction OpenModelica: - open-source Modelica-based modelling and simulation environment for industrial and academic usage - academic  research and teaching OpenModelica Compiler Modelica Flat Simul Frontend Backend Model Model ation Linköping. 07/02/2011 A Modular OpenModelica Compiler Backend. Slide 3

  4. 1. Introduction Started in 2008 with OpenModelica as a user Since 2009 member of the development team - Bugfixes ● Multibody - Implemented new features ● Tearing ● Relaxation ● Multibody Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 4

  5. 1. Introduction What is planned for the backend? -Extend existing algorithms -Implemented new algorithms What is wrong with the backend? -Functions for symbolic manipulation are very low level ● Direct access to basic structures ● Consistency of equation system cannot be guaranteed ● Changes lead to unexpected side effects => High level symbolic manipulation is needed Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 5

  6. 1. Introduction Optimised form of the system of equations - analyse system of equations - evaluate - implement symbolic manipulation/optimisation algorithm - test  ambitious task  needs support from development environment  clear, easy to understand and task related framework Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 6

  7. 1. Introduction Current Expectations Situation Redesign of the compiler Backend Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 7

  8. 2. Concept Packet Concept for Each Level Expression Solve Symbolic Symbol Simplify Math Equation Variable System Equation System Equation Algorithm DAE-Handler for Code Backend Matching Index Reduction Writer Implementation Modules for Sorting … Optimisation Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 8

  9. 2. Concept Flat Model Input Phase Pre-Optimisation Transformation Phase Past-Optimisation Output Phase Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 9

  10. 2. Concept Flat Model Evaluate Input Phase Parameter Remove Alias Pre-Optimisation Equations Transformation Function Phase Inlining ... Past-Optimisation Output Phase Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 10

  11. 2. Concept Flat Model Matching Input Phase DAE-Handler for Pre-Optimisation Index Reduction: • Dummy Derivative with Dynamic State Selection Transformation • Index Reduction and Phase Projection/Stabilization Past-Optimisation Sorting Output Phase Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 11

  12. 2. Concept Flat Model Input Phase Pre-Optimisation Remove Alias Equations Transformation Phase Inline Integration Past-Optimisation Function Inlining Output Phase ... Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 12

  13. 2. Concept Flat Model Input Phase Pre-Optimisation Transformation Phase Past-Optimisation Output Phase Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 13

  14. 2. Concept Assemble your own Compiler! Flat Model Input Phase Dummy Derivative evaluate Remove Alias parameter Equations Pre-Optimisation Index Reduction with Projection Inline Tearing Integration Relaxation Transformation Index Reduction Phase Function with Stabilization ... inlining Past-Optimisation … Output Phase Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 14

  15. 2. Concept Interfaces Flat Model Input Phase External symbolic ... Equation system Optimisation Tool Output Pre-Optimisation ... Transformation User Module Phase XML File ... Past-Optimisation Output ... Output Phase Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 15

  16. 3. RoadMap/Status 1. Resort functions 2. Combine functions with the same purpose 3. Implement internal Interfaces for Equation System Pipeline 4. Improve performance of Equation System Pipeline 5. Improve existing Optimisation modules Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 16

  17. 3. RoadMap/Status 1. Resort functions  DONE 2. Combine functions with the same purpose  DONE 3. Implement internal Interfaces for Equation System Pipeline 4. Improve performance of Equation System Pipeline 5. Improve existing Optimisation modules • From 24. – 30. Oct. 2010 at Linköping University Backend Reorganisation Week Linköping, 07/02/2011 A Modular OpenModelica Compiler Backend Slide 17

  18. 4. Conclusion new Backend Implementation: - increase the clarity of the code - decrease the error-proneness - improve the extensibility - improve the maintainability - speed development process up ● improve compiler performance and dependability ● simplifies implementation of new features ● decrease barrier of becoming a compiler developer ● increases usability of the compiler Linköping. 07/02/2011 A Modular OpenModelica Compiler Backend. Slide 18

  19. The End The Motion Platform at Dresden University can be visited before/during/after the Modelica Conference 2011 in Dresden. Linköping. 07/02/2011 A Modular OpenModelica Compiler Backend. Slide 19

  20. The End Jens Frenkel Dresden University of Technology jens.frenkel@tu-dresden.de http://tu-dresden.de/bft Linköping. 07/02/2011 A Modular OpenModelica Compiler Backend. Slide 20

Recommend


More recommend