A Modular. OpenModelica. Compiler Backend

Similar documents
OpenModelica. Workshop Chair of Construction Machines. Functional Design-Prototyping using. OpenModelica. Volker Waurich

Using Modelica for Interactive Simulations of Technical Systems in a Virtual Reality Environment

Technical Overview of OpenModelica and its Development Environment

Achieving O(n) Complexity for Models from Modelica.Mechanics.MultiBody

Experiences with the new FMI Standard Selected Applications at Dresden University

Functional Design-Prototyping using OpenModelica

Towards an Integrated System Model for Testing and Verification

Using SPARK as a Solver for Modelica. Michael Wetter Philip Haves Michael A. Moshier Edward F. Sowell. July 30, 2008

High-Performance-Computing meets OpenModelica: Achievements in the HPC-OM Project

1st Annual OpenModelica Workshop Feb 2, 2009

Model-Based Dynamic Optimization with OpenModelica and CasADi

Technical Overview of OpenModelica and its Development Environment

Design Approach for a Generic and Scalable Framework for Parallel FMU Simulations

Modelica3D. Platform Independent Simulation Visualization. Christoph Höger. Technische Universität Berlin Fraunhofer FIRST

Survey of appropriate matching algorithms for large scale systems of differential algebraic equations

Advanced Compiler Design ( ) Fall Semester Project Proposal. Out: Oct 4, 2017 Due: Oct 11, 2017 (Revisions: Oct 18, 2017)

Task-Graph-Based Parallelization of Modelica-Simulations. Tutorial on the Usage of the HPCOM-Module

Technical Overview of OpenModelica and its Development Environment

Technical Overview of OpenModelica and its Development Environment

Technical Overview of OpenModelica and its Development Environment

Integrated Debugging of Equation-Based Models

and its Development Environment

From versatile analysis methods to interactive simulation with a motion platform based on SimulationX and FMI

Level 3 Computing Year 2 Lecturer: Phil Smith

Equation based parallelization of Modelica models

Cowley College & Area Vocational Technical School

[MS10962]: Advanced Automated Administration With Windows PowerShell

Introduction to Machine-Independent Optimizations - 1

Injecting Model-Based Diagnosis Thinking into the Design Process. Johan de Kleer

OpenModelica Compiler (OMC) Overview

OpenModelica Compiler (OMC) Overview

A Strategy for Parallel Simulation of Declarative Object-Oriented Models of Generalized Physical Networks

Efficient Clustering and Scheduling for Task-Graph based Parallelization

State Machines in OpenModelica

Hardware-near Programming in the Common Language Infrastructure

Modelica Based Parser Generator with Good Error Handling

Towards Run-time Debugging of Equation-based Object-oriented Languages

A Web Service and Interface for Electronic Device Characterization

Communicator. Writing successfully for everyone. Including accessibility in your documentation. Reviewing Adobe RoboHelp version 9

Operating Systems CMPSCI 377, Lec 2 Intro to C/C++ Prashant Shenoy University of Massachusetts Amherst

Automatic Parallelization of Mathematical Models Solved with Inlined Runge-Kutta Solvers

COURSE 10962B: ADVANCED AUTOMATED ADMINISTRATION WITH WINDOWS POWERSHELL

Fault Tolerance Analysis using OpenModelica with Figaro Extensions for Modelica

AMD S X86 OPEN64 COMPILER. Michael Lai AMD

Developing a Robot Model using System-Level Design

ADMIN PRODUCT PREVIEW PLUS

ET345P Control Systems [Onsite]

Modelica Code Generators

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor)

Design optimisation of industrial robots using the Modelica multi-physics modeling language

AUTOMATIC PARALLELIZATION OF OBJECT ORIENTED MODELS ACROSS METHOD AND SYSTEM

Course Outline. Advanced Automated Administration with Windows PowerShell Course 10962: 3 days Instructor Led

3rd Annual OpenModelica Workshop Feb 7, 2011

TYPO3 Version What s New Summary of the new features, changes and improvements

Non Linear Control of Four Wheel Omnidirectional Mobile Robot: Modeling, Simulation and Real-Time Implementation

raceability Support in OpenModelica Using Open Services for Lifecycle Collaboration (OSLC)

Modern techniques bring system-level modeling to the automation industry

Introduction to Parallel Programming in OpenMp Dr. Yogish Sabharwal Department of Computer Science & Engineering Indian Institute of Technology, Delhi

Contributions to Parallel Simulation of Equation-Based Models on Graphics Processing Units

Querying Microsoft SQL Server

Department Curriculum and Assessment Outline

Minimal Equation Sets for Output Computation in Object-Oriented Models

Teleport Messaging for. Distributed Stream Programs

Unit 3: Congruence & Similarity

The OpenModelica Modeling, Simulation, and Development Environment

LLVM LEON Backend Final Presentation

Open Research Online The Open University s repository of research publications and other research outputs

Olivier Brüls. Department of Aerospace and Mechanical Engineering University of Liège

Building Petri nets tools around Neco compiler

Dept/Unit This is the department or unit that is making the request. (i.. The department to which the requestor belongs.)

Dependability studies, focus on fault trees and Figaro language

Querying Microsoft SQL Server

NetFPGA Update at GEC4

LORD P.C.A.A Lions Mat.Hr.Sec School, Lions Nagar, Reserve Line, Sivakasi. 7.Data Base. PART A I. Choose the correct Answer : 15 X 1 = 15

SIMPACK - A Tool for Off-Line and Real- Time Simulation

High-Level Server Side Web Scripting in

From Hardware Trace to. System Knowledge

Windows PowerShell Scripting and Toolmaking

Modeling, Simulation and Analysis of Integrated Building Energy and Control Systems. Michael Wetter. October 8, 2009

Plant Modeling for Powertrain Control Design

Towards Generic Models

Evolution of Fortran. Presented by: Tauqeer Ahmad. Seminar on Languages for Scientific Computing

SOLIDWORKS FOR MULTI-MATERIAL BUILDS BEST PRACTICES

Modelica Environments and OpenModelica

5th Annual OpenModelica Workshop Feb 4, 2013

HOTEL RESILIENT Plan ahead stay ahead. With support from the German Government through

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation

Don t Make Users Cry Help!

Large scale physics simulations in industrial vehicle simulators

Modelica Change Proposal MCP-0027 Units of Literal Constants Authors: Francesco Casella, Martin Sjölund Status: In Development version v3

Querying Microsoft SQL Server

SAMPLE CURRICULUM GUIDE June 2014

Programming Fundamentals - A Modular Structured Approach using C++ By: Kenneth Leroy Busbee

Simplified FE Simulation of Frontal Occupant Restraint Systems

Compiler Theory. (Intermediate Code Generation Abstract S yntax + 3 Address Code)

Automatic Regression Testing of Simulation Models and Concept for Simulation of Connected FMUs in PySimulator

OpenModelica Eclipse Plugin and MetaModelica Exercises

Dynamic Load Balancing in Parallelization of Equation-based Models

2779 : Implementing a Microsoft SQL Server 2005 Database

A High Integrity Distributed Deterministic Java Environment. WORDS 2002 January 7, San Diego CA

Transcription:

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

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

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

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

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

1. Introduction Optimised form of the system of equations - analyse - evaluate system of equations - implement - test symbolic manipulation/optimisation algorithm 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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