Modelica on the Java Virtual Machine

Total Page:16

File Type:pdf, Size:1020Kb

Modelica on the Java Virtual Machine Modelica on the Java Virtual Machine Christoph Höger Technische Universität Berlin, Germany, [email protected] Abstract First, Modelica allows for the easy exchange of mod- Modelica has seen a steady growth of adaption in industry els in forms of libraries. Those libraries are not developed and research. Yet, most of the currently available tools by a tool vendor and tested and shipped with a specific follow the same technological path: A Modelica model is implementation of the language. They rather depend (ide- usually interpreted into a system of equations which is then ally) only on the language’s specification and are platform- compiled into e.g. C. independent. When a Modelica model shall be simulated, In this work, we demonstrate how a compiler can trans- it is first instantiated (or elaborated). During this process, late Modelica models into Java classes. Those Java classes all the equations that make up the final mathematical model can be evaluated into a system of equations which can be are generated. solved directly on the JVM. A Modelica library is thus basically a collection of more Implementing this tool yields some interesting prob- or less sophisticated methods to create a mathematical lems. Among these are the representation of polymorphic model. In that sense it is comparable to any other library data, runtime-causalisation and equation optimization and of software. And as for any other computer-language it Modelica’s modification system. All those problems can be becomes important for Modelica’s library-developers that solved efficiently on the JVM. their models behave correctly when being instantiated by a client (i.e. that they do not cause the model instantiation to Keywords Modelica, separate compilation, Java fail in some situations). Since Modelica is a statically-typed language, this ques- 1. Introduction tion can, in theory, be answered by checking that any model conforms to its interface. Unfortunately, there is no formal Modelica [1] is an open, standardized language for the algorithmic specification of the model instantiation process description of hybrid systems of differential and alge- for Modelica. Instead, every tool provides its own, slightly braic equations. It brings well-known features from object- different interpretation of the specification. Therefore a ac- oriented languages (like hierarchic composition, inheri- tual useful typecheck would have to assume a certain exe- tance and encapsulation) into the domain of multi-physics cution model. Hence, any safety assumption is only valid modeling. Our focus is the implementation of Modelica. In for a given interpretation of the Modelica specification. this work, we present a prototypical extension of modim The second problem follows directly from the usage of [10] that allows us to compile Modelica to the Java Virtual libraries. Naturally, libraries tend to offer more features Machine. than actually required for a single application. From the The rest of the paper is organized as follows: First, we modelers perspective this may lead to unexpected large sys- will motivate the need for a Modelica Compiler and the tems of equations. A simple pendulum, for example might JVM as its target platform. Afterwards, we show some be modeled by using the Modelica Multibody library as details of the translation and the runtime system. Finally well as by a few equations from the textbook. Naturally, the we will demonstrate how our prototype performs in model Multibody approach is much more generic, since it might instantiation and simulation. easily be adapted to (and used in) more complex mechani- cal systems. Such systems require the a fast model instan- 2. Compiling Modelica tiation since otherwise instantiation time might exceed the actual simulation. In fact it may happen that model engi- As Modelica’s adoption in Industry and Science grows, neers are slowed down in their development process just three aspects of the language gain more and more attention: because of the model instantiation overhead. Finally, Modelica offers a lot of means to actually com- pute models. Currently, those computations range from ar- 5th International Workshop on Equation-Based Object-Oriented Modeling rays and loops to redeclarations. Yet it is not hard to pre- Languages and Tools. 19 April, 2013, University of Nottingham, UK. dict, that more higher-order modeling features (recursive Copyright is held by the author/owner(s). The proceedings are published by models, models as parameters etc.) will find their way into Linköping University Electronic Press. Proceedings available at: http://www.ep.liu.se/ecp/TBD/ the language. All those features share one common pattern: EOOLT 2013 website: The relation between models and their instances becomes http://www.eoolt.org/2013/ 111 1 : n with very large n. In such a case it may become im- plementations is to generate a model for each mode and possible to actually generate code for each instance due to process it before simulation [15]. practical reasons: As we have shown in [9], such an attempt This method has two drawbacks: yields C-code with a size proportional to the number of model-instances. Therefore for very large n, at least the C- • Every possible mode needs to be known before the Compiler will usually be unable to generate an executable simulation starts. This excludes sophisticated models, model. where some mode depends on the simulation results of another as well as models that contain a large number 2.1 Interpreting vs. Compiling Modelica of possible modes. To all of those problems exists a common solution: Model- • It is impossible to decide which mode will become ica models should be compiled separately. When we think active during a simulation. Therefore it is quite likely of a Modelica model as a method to describe a system of that computational effort is wasted in the translation of equations, it becomes quite obvious that most current tools unneeded modes. (and even the specification) insist on interpreting Modelica. There are a few indicators for this: On the other hand it is quite obvious that a compiler has • Most current tools can be steered into an endless loop to postpone all this processing until the instantiation was during instantiation. A compiler should guarantee ter- successful. Naturally, this means that variable-structure mination (for finite input). processing can be solved by the same machinery as a com- piled model: Once a mode-change occurs, instantiate the • Some implementations will even try to call external new model the same way as the old one and continue functions during instantiation. This may lead to severe simulation. Of course, the efficiency of this transition is problems e.g. in case of cross-compilation. quite important, but technically, compilation and variable- • The language specification defines array-types to in- structure systems share a lot of problems. clude the actual size. This kind of dependent typing naturally requires an interpreter for a type-check. Since 2.3 JVM Modelica does not place any syntactical bounds on the Our compiler requires a much more sophisticated runtime expressions used for array-access, this means that a system than an interpreter: We need to be able to describe fully compliant type-checker must contain a full Mod- and instantiate data-structures and higher-order functions elica interpreter. (part of Modelica since version 3.2). Additionally, our run- In contrast, a compiler does not need to evaluate any time needs to support sophisticated graph-algorithms and Modelica expressions at all 1. Instead, a model or a group some numerical methods. For reasons that are explained of models (called the compilation unit) is translated into a later, we need an accessible intermediate representation of target language. The effect of the model instantiation, i.e. code. Finally our runtime system needs to be fast enough the creation of a system of equations is done by evaluating for real-world applications. the compilation result according to the semantics of the At least two platforms fulfill those requirements: The target language. Java Virtual Machine (JVM, [12]) and the Low Level Vir- This way, we gain multiple benefits: tual Machine (LLVM, [11]). Although both are available for practically every platform we preferred the JVM for the • A compiler can be implemented in a way that guaran- following reasons: tees termination. • The compiled fragments can be reused in different con- • The JVM is tightly integrated with (but not bound to) texts. Java, which is far more productive than C. This makes • The instantiated model is memory-efficient: Only the it easier to implement the necessary runtime system. parts that actually differ between different instances • The JVM is the foundation of a large, active ecosystem. need to be allocated dynamically. Currently there exist hundreds of thousands of free Java 2 It is important to note that to achieve all those benefits, libraries . Currently this is mostly beneficial for the it is not necessary that the compilation targets are portable implementation of the runtime system. But integrating (i.e. compatible between different tools). It suffices that Modelica into this ecosystem might yield additional there is a known way to compile models for a known tool. benefits in the future. • The mainstream JVM implementation, Hotspot is fast. 2.2 Separate Compilation & Variable Structure In fact, a modern Java program may beat an equivalent Besides better language scalability and safety an additional C program in certain areas [3]. point motivates the compilation of models: In case of a • In contrast to LLVM, the JVM already contains a notion variable-structure system, every mode of the system needs of classes and objects which makes it a natural goal for to be processed into a computable form (causalisation, in- the compilation of Modelica. dex reduction etc.). A way to achieve this with current im- 1 It might choose to do so for certain optimizations 2 available e.g.
Recommended publications
  • Applying Reinforcement Learning to Modelica Models
    ModelicaGym: Applying Reinforcement Learning to Modelica Models Oleh Lukianykhin∗ Tetiana Bogodorova [email protected] [email protected] The Machine Learning Lab, Ukrainian Catholic University Lviv, Ukraine Figure 1: A high-level overview of a considered pipeline and place of the presented toolbox in it. ABSTRACT CCS CONCEPTS This paper presents ModelicaGym toolbox that was developed • Theory of computation → Reinforcement learning; • Soft- to employ Reinforcement Learning (RL) for solving optimization ware and its engineering → Integration frameworks; System and control tasks in Modelica models. The developed tool allows modeling languages; • Computing methodologies → Model de- connecting models using Functional Mock-up Interface (FMI) to velopment and analysis. OpenAI Gym toolkit in order to exploit Modelica equation-based modeling and co-simulation together with RL algorithms as a func- KEYWORDS tionality of the tools correspondingly. Thus, ModelicaGym facilit- Cart Pole, FMI, JModelica.org, Modelica, model integration, Open ates fast and convenient development of RL algorithms and their AI Gym, OpenModelica, Python, reinforcement learning comparison when solving optimal control problem for Modelica dynamic models. Inheritance structure of ModelicaGym toolbox’s ACM Reference Format: Oleh Lukianykhin and Tetiana Bogodorova. 2019. ModelicaGym: Applying classes and the implemented methods are discussed in details. The Reinforcement Learning to Modelica Models. In EOOLT 2019: 9th Interna- toolbox functionality validation is performed on Cart-Pole balan- tional Workshop on Equation-Based Object-Oriented Modeling Languages and arXiv:1909.08604v1 [cs.SE] 18 Sep 2019 cing problem. This includes physical system model description and Tools, November 04–05, 2019, Berlin, DE. ACM, New York, NY, USA, 10 pages. its integration using the toolbox, experiments on selection and in- https://doi.org/10.1145/nnnnnnn.nnnnnnn fluence of the model parameters (i.e.
    [Show full text]
  • Reusing Static Analysis Across Di Erent Domain-Specific Languages
    Reusing Static Analysis across Dierent Domain-Specific Languages using Reference Attribute Grammars Johannes Meya, Thomas Kühnb, René Schönea, and Uwe Aßmanna a Technische Universität Dresden, Germany b Karlsruhe Institute of Technology, Germany Abstract Context: Domain-specific languages (DSLs) enable domain experts to specify tasks and problems themselves, while enabling static analysis to elucidate issues in the modelled domain early. Although language work- benches have simplified the design of DSLs and extensions to general purpose languages, static analyses must still be implemented manually. Inquiry: Moreover, static analyses, e.g., complexity metrics, dependency analysis, and declaration-use analy- sis, are usually domain-dependent and cannot be easily reused. Therefore, transferring existing static analyses to another DSL incurs a huge implementation overhead. However, this overhead is not always intrinsically necessary: in many cases, while the concepts of the DSL on which a static analysis is performed are domain- specific, the underlying algorithm employed in the analysis is actually domain-independent and thus can be reused in principle, depending on how it is specified. While current approaches either implement static anal- yses internally or with an external Visitor, the implementation is tied to the language’s grammar and cannot be reused easily. Thus far, a commonly used approach that achieves reusable static analysis relies on the trans- formation into an intermediate representation upon which the analysis is performed. This, however, entails a considerable additional implementation effort. Approach: To remedy this, it has been proposed to map the necessary domain-specific concepts to the algo- rithm’s domain-independent data structures, yet without a practical implementation and the demonstration of reuse.
    [Show full text]
  • Introduction to Dymola
    DYMOLA AND MODELICA Course overview DAY 1 Dymola and Modelica I • Introduction Dymola, Modelica, Modelon • Lecture 1 Overview of Dymola and Physical modeling . Workshop 1 Workflow of modeling physical systems in Dymola • Lecture 2 Simulation and post-processing with Dymola . Workshop 2 Simulating and analyzing a physical system • Lecture 3 Configure system models . Workshop 3 Creating a reconfigurable system DAY 2 Dymola and Modelica I • Lecture 4 Modelica I – Writing Modelica models . Workshop 4a Cauer low pass filter using Electric Library . Workshop 4b A moving coil using Magnetic, Electric and Translational mechanics libraries . Workshop 4c Temperature control using Heat transfer Library • Lecture 5 Understanding equation-based modeling . Workshop 5 Defining boundary conditions • Lecture 6 Trouble shooting and common pitfalls . Workshop 6 Common pitfalls DAY 3 Dymola and Modelica II • Lecture 7 Modelica II – Advanced features . Workshop 7 Implementing a solar collector • Lecture 8 Working with the Modelica Standard Library . Workshop 8a Lamp logic using StateGraph II . Workshop 8b Suspension linkage using MultiBody mechanics • Lecture 9 Hybrid modeling . Workshop 9a Hybrid examples . Workshop 9b Hammer impact model . Workshop 9c Designing a thermostat valve DAY 4 Dymola and Modelica II • Lecture 10 Efficient and reconfigurable modeling . Workshop 10 Creating a system architecture based on templates and interfaces • Lecture 11 Model variants and data management . Workshop 11 Creating a data architecture and adaptive parameter interfaces • Lecture 12 FMI technology . Workshop 12a Import and Export FMUs in Dymola . Workshop 12b FMI with Excel . Workshop 12c FMI with Simulink DAY 5 Dymola and Modelica II • Lecture 13 Workflow automation and scripting . Workshop 13 Automated sensitivity analysis • Lecture 14 Dymola code with other tools .
    [Show full text]
  • Lecture #4: Simulation of Hybrid Systems
    Embedded Control Systems Lecture 4 – Spring 2018 Knut Åkesson Modelling of Physcial Systems Model knowledge is stored in books and human minds which computers cannot access “The change of motion is proportional to the motive force impressed “ – Newton Newtons second law of motion: F=m*a Slide from: Open Source Modelica Consortium, Copyright © Equation Based Modelling • Equations were used in the third millennium B.C. • Equality sign was introduced by Robert Recorde in 1557 Newton still wrote text (Principia, vol. 1, 1686) “The change of motion is proportional to the motive force impressed ” Programming languages usually do not allow equations! Slide from: Open Source Modelica Consortium, Copyright © Languages for Equation-based Modelling of Physcial Systems Two widely used tools/languages based on the same ideas Modelica + Open standard + Supported by many different vendors, including open source implementations + Many existing libraries + A plant model in Modelica can be imported into Simulink - Matlab is often used for the control design History: The Modelica design effort was initiated in September 1996 by Hilding Elmqvist from Lund, Sweden. Simscape + Easy integration in the Mathworks tool chain (Simulink/Stateflow/Simscape) - Closed implementation What is Modelica A language for modeling of complex cyber-physical systems • Robotics • Automotive • Aircrafts • Satellites • Power plants • Systems biology Slide from: Open Source Modelica Consortium, Copyright © What is Modelica A language for modeling of complex cyber-physical systems
    [Show full text]
  • A Modelica Power System Library for Phasor Time-Domain Simulation
    2013 4th IEEE PES Innovative Smart Grid Technologies Europe (ISGT Europe), October 6-9, Copenhagen 1 A Modelica Power System Library for Phasor Time-Domain Simulation T. Bogodorova, Student Member, IEEE, M. Sabate, G. Leon,´ L. Vanfretti, Member, IEEE, M. Halat, J. B. Heyberger, and P. Panciatici, Member, IEEE Abstract— Power system phasor time-domain simulation is the FMI Toolbox; while for Mathematica, SystemModeler often carried out through domain specific tools such as Eurostag, links Modelica models directly with the computation kernel. PSS/E, and others. While these tools are efficient, their individual The aims of this article is to demonstrate the value of sub-component models and solvers cannot be accessed by the users for modification. One of the main goals of the FP7 iTesla Modelica as a convenient language for modeling of complex project [1] is to perform model validation, for which, a modelling physical systems containing electric power subcomponents, and simulation environment that provides model transparency to show results of software-to-software validations in order and extensibility is necessary. 1 To this end, a power system to demonstrate the capability of Modelica for supporting library has been built using the Modelica language. This article phasor time-domain power system models, and to illustrate describes the Power Systems library, and the software-to-software validation carried out for the implemented component as well as how power system Modelica models can be shared across the validation of small-scale power system models constructed different simulation platforms. In addition, several aspects of using different library components. Simulations from the Mo- using Modelica for simulation of complex power systems are delica models are compared with their Eurostag equivalents.
    [Show full text]
  • OMG Sysphs: Integrating Sysml, Simulink, Modelica And
    OMG SysPhs: Integrating SysML, Simulink, Modelica and FMI | ref.: 3DS_Document_2015 | ref.: 2/13/20 | Confidential Information | Information | Confidential Nerijus Jankevicius Systèmes CATIA | No Magic Dassault © INCOSE IW, Torrance, Jan 27, 2020 3DS.COM System Model as an Integration Framework © 2012-2014 by Sanford Friedenthal SysML as co-simulation environment 35 Reduce and standardize mappings 4 Unified Physics Domain Flowing Substance Flow rate Potential to flow Electrical Charge Current Voltage Hydraulic Volume Volumetric flow rate Pressure Rotational Angular momentum Torque Angular velocity Translational Linear momentum Force Velocity Thermal Entropy Entropy flow Temperature flow rate = amount of substance/time flow rate * potential = energy / time = power The Standard : SysPhs •SysPhS - https://www.omg.org/spec/SysPhS/1.0 • SysML Mapping to SiMulink and Modelica • SysPhS profile • SysPhS library Simulation profile Modelica vs Simulink • Modelica • SiMulink • Language is better suited for physical • Language is well-suited for control modeling (plant) algorithMs • Object oriented approach for • TransforMational seMantics of signals modeling physical and signal processing coMponents (Mechanical, electrical, etc.) • Causal seMantics (inputs -> outputs) • Causal and A-Causal seMantics • Well integrated into the “MATLAB (equations) universe” • Open standard (of the textual • Widely used in industry (standard de- language) facto) • Multi tool support (although DyMola • Many existing tool integrations is doMinant) • Code generation to
    [Show full text]
  • Modelica: Equation-Based, Object-Oriented Modelling of Physical Systems
    Chapter 3 Modelica: Equation-Based, Object-Oriented Modelling of Physical Systems Peter Fritzson Abstract The field of equation-based object-oriented modelling languages and tools continues its success and expanding usage all over the world primarily in engineering and natural sciences but also in some cases social science and economics. The main properties of such languages, of which Modelica is a prime example, are: acausal modelling with equations, multi-domain modelling capability covering several application domains, object-orientation supporting reuse of components and evolution of models, and architectural features facilitating modelling of system architectures including creation and connection of components. This enables ease of use, visual design of models with combination of lego-like predefined model building blocks, ability to define model libraries with reusable components enables. This chapter gives an introduction and overview of Modelica as the prime example of an equation-based object-oriented language. Learning Objectives After reading this chapter, we expect you to be able to: • Create Modelica models that represent the dynamic behaviour of physical components at a lumped parameter abstraction level • Employ Object-Oriented constructs (such as class specialisation, nesting and packaging) known from software languages for the reuse and management of complexity • Assemble complex physical models employing the component and connector abstractions • Understand how models are translated into differential algebraic equations for execution 3.1 Introduction Modelica is primarily a modelling language that allows specification of mathematical models of complex natural or man-made systems, e.g., for the purpose of computer simulation of dynamic systems where behaviour evolves as a function of time.
    [Show full text]
  • Présentation Powerpoint
    The Development and Service Company for Scilab, The Open Source software for Numerical Computation The Development and Service Company for Scilab, The Open Source software for Numerical Computation Jocelyn LANUSSE Claude GOMEZ Scilab Enterprises Scilab Enterprises Business Director CEO : [email protected] : [email protected] : +33 1 80 77 04 66 : +33 1 80 77 04 62 : +33 6 88 20 67 01 Agenda . Scilab Enterprises – Company History – Software offer – Services offer . Modelica/Coselica . Questions - Answers The Development and Service Company for Scilab, The Open Source software for Numerical Computation Scilab History 1980: First MATLAB 1980 – 1990: BLAISE /BASILE Software INRIA / Simulog - Christian SAGUEZ From Research to Industry 1990 - 2003: – Open Source Scilab (Research) – 1994: Scilab freely distributed on the net 2003 - 2007: – Scilab Consortium phase 1 (INRIA) - Claude GOMEZ 2008 - 2012: – Scilab Consortium phase 2 (DIGITEO) – Scilab free and Open Source license (compatible GPL) 06/2010 : – SCILAB ENTERPRISES creation. 07/2012: – SCILAB ENTERPRISES has the Exclusivity of trademark, development and International deployment of Scilab distribution. Scilab Enterprises . Company created in June 2010 . The official structure resulting of the Scilab Consortium which had developed Scilab since 2003 . A high level team who has extensive knowledge of Scilab software and its environment and benefits directly from the Scilab developers expertise. Jacques Dhellemmes President Christian Saguez Claude Gomez Denis Ranque Vice President CEO Board Member Board Members Scilab distribution Scilab In The World From www.scilab.org ~ 100 000 monthly downloads from 150 countries ~ 1 000 000 estimated users Scilab Distribution . Scilab Powerful Computation Engine . Xcos Dynamic Systems Modeling and Simulation .
    [Show full text]
  • Modelica — the New Object-Oriented Modeling Language
    The 12th European Simulation Multiconference, ESM'98, June 16--19, 1998, Manchester, UK MODELICA — THE NEW OBJECT-ORIENTED MODELING LANGUAGE Hilding Elmqvist Sven Erik Mattsson Martin Otter Dynasim AB Department of Automatic Control DLR Oberpfaffenhofen Research Park Ideon Lund Institute of Technology D-82230 Wessling, Germany SE-223 70 Lund, Sweden Box 118, SE-221 00 Lund, Sweden E-mail: [email protected] E-mail: [email protected] E-mail: [email protected] KEYWORDS body systems, drive trains, hydraulics, thermodynami- cal systems, and chemical processes etc. It supports sev- Modelica, modeling language, object-orientation, hierar- eral formalisms: ordinary differential equations (ODE), chical systems, differential-algebraic equations differential-algebraic equations (DAE), bond graphs, fi- nite state automata, and Petri nets etc. Modelica is in- ABSTRACT tended to serve as a standard format so that models arising in different domains can be exchanged between A standardized language for reuse and exchange of tools and users. models is needed. An international design group has designed such a language called Modelica. Modelica is This paper gives an introduction to Modelica by means a modern language built on non-causal modeling with of an example. An overview of the work on supporting mathematical equations and object-oriented constructs libraries and the plans for further development is given. to facilitate reuse of modeling knowledge. Another aim of the paper is to interest individuals to participate in developing Modelica further. INTRODUCTION MODELICA BASICS Modeling and simulation are becoming more important since engineers need to analyse increasingly complex As an introduction to Modelica, consider modeling of systems often composed of subcomponents from differ- a simple motor drive system as defined in Fig.
    [Show full text]
  • Introduction to Object-Oriented Modeling
    Introduction to Object-Oriented Modeling, Modelica/OpenModelica Tutorial Plan for the Simulation, Debugging and Dynamic Optimization MOSES 2016 Workshop with Modelica using OpenModelica • Wednesday slot 24. The Modelica language part 1. MOSES 2016 Workshop Introductory hands-on Modelica modeling. Tutorial, Version May 18, 2016 Peter Fritzson Slides 8 – 49 Linköping University, [email protected] Director of the Open Source Modelica Consortium • Thursday slot 28. The OpenModelica tool. (slides Vice Chairman of Modelica Association Bernhard Thiele, Ph.D., [email protected] 50 – 78) The Modelica language part 2. (slides 95- Researcher at PELAB, Linköping University 115) Slides • Thursday slot 29. Hands-on with Modelica textual Based on book and lecture notes by Peter Fritzson Contributions 2004-2005 by Emma Larsdotter Nilsson, Peter Bunus equation-based modeling (slides 95-115) Contributions 2006-2008 by Adrian Pop and Peter Fritzson Contributions 2009 by David Broman, Peter Fritzson, Jan Brugård, and Mohsen Torabzadeh-Tari Contributions 2010 by Peter Fritzson Contributions 2011 by Peter F., Mohsen T,. Adeel Asghar, Contributions 2012, 2013, 2014, 2015, 2016 by Peter Fritzson, Lena Buffoni, Mahder Gebremedhin, Bernhard Thiele 2016-05-16 2 Copyright © Open Source Modelica Consortium Tutorial Based on Book, Decembr 2014 Introductory Download OpenModelica Software Modelica Book Peter Fritzson September 2011 232 pages Principles of Object Oriented Modeling and Simulation with 2015 –Translations Modelica 3.3 available in A Cyber-Physical
    [Show full text]
  • Automatic Model Conversion to Modelica for Dymola-Based Mechatronic Simulation
    Automatic Model Conversion to Modelica for Dymola-based Mechatronic Simulation Automatic Model Conversion to Modelica for Dymola-based Mechatronic Simulation Tamás Juhász, M. Sc. and Ulrich Schmucker, Dr. Sc. techn. Fraunhofer Institute for Factory Operation and Automation, Magdeburg, Germany [email protected] and [email protected] Abstract some internal model parameters must be fine-tuned, according to model assessment or verification proc- Virtual product development allows us to recognize esses. This implies that an automated model conver- and evaluate the characteristics of a new product on sion is highly demanded in order to accomplish a the basis of simulation at an early stage without hav- good workflow. The designing engineer can inspect ing to build a physical model. Currently the most, the behaviour of the given virtual product by utiliz- widely spread commercial CAE systems do not offer ing a dynamic simulation of that. For a convenient direct support to external dynamic simulation appli- iterative workflow a solution have to be provided to cations. Conversely, dynamic simulation of a de- automate the conversion between the standard output tailed model is required to maintain good correlation format of the source CAD system and the input for- between the behaviour of the real product and its mat of the target simulator. virtual counterpart. In this paper it will be presented, In this article it will be presented that using Robot- that using a partially automated workflow a conven- Max , our .NET-based mechatronic model authoring ient Modelica model translation can be achieved and visualization application mechanical CAD data from the output of a mechanical CAD system, allow- from the widely-spread Pro/Engineer CAD environ- ing the final model to be extended independently ment can be imported, new mechatronic components with new elements from other simulation domains, can be added, thus multi-domain Modelica models considering Dymola-based multi-domain simulation.
    [Show full text]
  • Framework for Modelica Based Function Development
    TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Echtzeitsysteme und Robotik Framework for Modelica Based Function Development Bernhard Amadeus Thiele VollständigerAbdruck der von der Fakultät der Informatik der Technischen Universität München zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. rer. nat. Alexander Pretschner Prüfer der Dissertation: 1. Univ.-Prof. Dr.-Ing. Alois Knoll 2. Hon.-Prof. Dr.-Ing. Martin Otter 3. Prof. Marc Pouzet, Université Pierre et Marie Curie in the Computer Science Department (DIENS) of École normale supérieure (ENS), Paris/Frankreich Die Dissertation wurde am 15.04.2015 bei der Technischen Universität München eingereicht und durch die Fakultät für Informatik am 03.08.2015 angenommen. Zusammenfassung Rasante Fortschritte in der Leistungsfähigkeit von elektronischen Steuerungsgerä- ten führen zu immer umfangreicheren Softwarefunktionen, die innerhalb des Ent- wicklungsprozesses beherrscht werden müssen. Eine besondere Herausforderung sind hierbei auf vernetzte Recheneinheiten verteilte Softwarefunktionen, welche in Rückkopplung mit physikalischen Prozessen stehen. Für die Entwicklung und Validierung derartiger Funktionen ist es nicht länger aus- reichend, weitgehend autarke Einzelkomponenten zu betrachten, ohne die wech- selseitige Beeinflussung innerhalb des Gesamtsystems (einschließlich der physi- kalischen Prozesse) zu berücksichtigen. Aufgrund von unterschiedlichen wissen- schaftlichen Gemeinschaften hat sich
    [Show full text]