liu.seSearch for publications in DiVA
Change search
Refine search result
1 - 22 of 22
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 1.
    Asghar, Adeel
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Efficient Debugging of Large Algorithmic Modelica Applications2012Conference paper (Refereed)
    Abstract [en]

    Modelica models often contain functions with algorithmic code. The fraction of algorithmiccode is increasing in Modelica models since Modelica, in addition to equation-based modeling, is also used for embedded system control code and symbolic model transformations in compilers using the MetaModelica language extension. For these reasons, debugging of algorithmic Modelica code is becoming increasingly relevant.

    Our earlier work in debuggers for the algorithmic subset of Modelica used trace-based techniques. These have the advantages of being very portable, but turned out to have too much overhead for very large applications.

    The new debugger is the first Modelica debugger that can operate without trace information. Instead it communicates with a low-level C-language symbolic debugger, the Gnu debugger GDB, to directly extract information from a running executable, set and remove breakpoints, etc. This is made possible by the new bootstrapped OpenModelica compiler which keeps track of a detailed mapping from the high level Modelica code down to the generated C code compiled to machine code.

    The debugger is operational, supports browsing of both standard Modelica data structures and tree/list data structures, and operates efficiently on large applications such as the OpenModelica compiler with more than 100 000 lines of code.

  • 2.
    Asghar, Syed Adeel
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Tariq, Sonia
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Torabzadeh-Tari, Mohsen
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Vasaiely, Parham
    EADS Innovation Works, Engineering & Architecture, Hamburg, Germany.
    Schamai, Wladimir
    EADS Innovation Works, Engineering & Architecture, Hamburg, Germany.
    An Open Source Modelica Graphic Editor Integrated with Electronic Notebooks and Interactive Simulation2011In: Proceedings of the 8th International Modelica Conference, March 20th-22nd, Technical Univeristy, Dresden, Germany / [ed] Christoph Clauß, Linköping: Linköping University Electronic Press, 2011, Vol. 63, p. 739-747Conference paper (Refereed)
    Abstract [en]

    This paper describes the first open source Modelica graphic editor which is integrated with interactive electronic notebooks and online interactive simulation. The work is motivated by the need for easy-to-use graphic editing of Modelica models using OpenModelica, as well as needs in teaching where the student should be able to interactively modify and simulate models in an electronic book. Models can be both textual and graphical. The interactive online simulation makes the simulation respond in real-time to model changes, which is useful in a number of contexts including immediate feedback to students.

  • 3.
    Berger, Lutz
    et al.
    Berger IT-COSMOS GmbH, Bavaria, Germany.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Thiele, Bernhard
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Code Generation for STM32F4 Boards with Modelica Device Drivers: [Work in Progress]2017In: Proceedings of the 8th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, Association for Computing Machinery (ACM), 2017, p. 77-80Conference paper (Refereed)
  • 4.
    Frenkel, Jens
    et al.
    Dresden University of Technology, Institute of Mobile Machinery and Processing Machines, Germany.
    Kunze, Günter
    Dresden University of Technology, Institute of Mobile Machinery and Processing Machines, Germany.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Braun, Willi
    FH Bielefeld, University of Applied Sciences, Germany.
    Towards a Modular and Accessible Modelica Compiler Backend2011Conference paper (Refereed)
    Abstract [en]

    Modelica is well suited for modelling complex physical systems due to the acausal description it is using. The causalisation of the model is carried out prior to each simulation. A significant part of the causalisation process is the symbolic manipulation and optimisation of the model. Despite the growing interest in Modelica, the capabilities of symbolic manipulation and optimisation are not fully utilized. This paper presents an approach to increase the customisability, access, and reuse of symbolic optimisation by a more modular and flexible design concept. An overview of the common symbolic manipulation and optimisation algorithms of a typical Modelica compiler is presented as well as a general modular design concept for a Modelica compiler backend. The modularisation concept will be implemented in a future version of the OpenModelica compiler.

  • 5.
    Frenkel, Jens
    et al.
    Dresden University of Technology, Institute of Mobile Machinery and Processing Machines, Germany.
    Schubert, Christian
    Dresden University of Technology, Institute of Mobile Machinery and Processing Machines, Germany.
    Kunze, Günter
    Dresden University of Technology, Institute of Mobile Machinery and Processing Machines, Germany.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Towards a Benchmark Suite for Modelica Compilers: Large Models2011Conference paper (Refereed)
    Abstract [en]

    The paper presents a contribution to a Modelica benchmark suite. Basic ideas for a tool independent benchmark suite based on Python scripting along with models for testing the performance of Modelica compilers regarding large systems of equation are given. The automation of running the benchmark suite is demonstrated followed by a selection of benchmark results to determine the current limits of Modelica tools and how they scale for an increasing number of equations.

  • 6.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Towards Modelica 4 Meta-Programming and Language Modeling with MetaModelica 2.02011Report (Other academic)
    Abstract [en]

    This report gives a language definition and tutorial on how to model languages using MetaModelica 2.0 – an extension of Modelica 3.2 designed for efficient language modeling. Starting from an extremely simple language, a series of small languages are modeled by gradually adding features. Both interpretive and translational language semantics are modeled. Exercises with solutions are given.

    The approach of allowing the modeling language to model language semantics in principle allows the definition of language semantics in libraries, which could be used to reverse the current trend of model compilers becoming very large and complex.

    MetaModelica 2.0 builds on MetaModelica 1.0 which was the first Modelica language version that supports language modeling, and has been in extensive use since 2005, primarily in the development of the OpenModelica compiler.

    The following version of MetaModelica, called MetaModelica 2.0, is described in this report. It is easier to use since it also supports the standard Modelica 3 language features as well as additional modeling features for expressiveness and conciseness. It is implemented within the OpenModelica compiler itself. This means that the OpenModelica compiler supporting MetaModelica 2.0 is bootstrapped, i.e., it compiles itself.

    This work is strongly connected to the Modelica 4 effort announced by Modelica Association in September 2010, which includes moving language functionality into library packages to achieve more extensible and modular Modelica model compilers. The MetaModelica language features contribute to realizing that goal. The language features have been proven in large-scale usage in the packages within the OpenModelica compiler. However, much work still remains in improving the modularity and interface properties that are expected by library packages.

  • 7.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Asghar, Adeel
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    MetaModelica – A Symbolic-Numeric Modelica Language and Comparison to Julia2019In: Proceedings of the 13th International Modelica Conference, Regensburg, Germany, March 4–6, 2019 / [ed] Anton Haumer: OTH Regensburg, Germany, Linköping, 2019Conference paper (Refereed)
    Abstract [en]

    The need for integrating system modeling with advanced tool capabilities is becoming increasingly pronounced. For example, a set of simulation experiments may give rise to new data that are used to systematically construct a series of new models, e.g. for further simulation and design optimization. Such combined symbolic-numeric capabilities have been pioneered by dynamically typed interpreted languages such as Lisp and Mathematica. Such capabilities are also relevant for advanced modeling and simulation applications but lacking in the standard Modelica language. Therefore, this is a topic of long-running design discussions in the Modelica Design group. One contribution in this direction is MetaModelica, that has been developed to extend Modelica with symbolic operations and advanced data structures, while preserving safe engineering practices through static type checking and a compilation-based efficient implementation. Another recent effort is Modia, implemented using the Julia macro mechanism, making it dynamically typed but also adding new capabilities. The Julia language has appeared rather recently and has expanded into a large and fast-growing ecosystem. It is dynamically typed, provides both symbolic and numeric operations, advanced data structures, and has a just-intime compilation-based efficient implementation. Despite independent developments there are surprisingly many similarities between Julia and MetaModelica. This paper presents MetaModelica and its environment as a large case study, together with a short comparison to Julia. Since Julia may be important for the future Modelica, some integration options between Modelica tools and Julia are also discussed, including a possible approach for implementing MetaModelica (and OpenModelica) in Julia.

  • 8.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Privitzer, Pavol
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science.
    Towards a Text Generation Template Language for Modelica2009Conference paper (Refereed)
  • 9.
    Pop, Adrian
    et al.
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Asghar, Adeel
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Casella, Francesco
    Politecnico di Milano, Italy.
    Integrated Debugging of Modelica Models2014In: Modeling, Identification and Control, ISSN 1890-1328, Vol. 35, no 2, p. 93-107Article in journal (Refereed)
    Abstract [en]

    The high abstraction level of equation-based object-oriented (EOO) languages such as Modelica has the drawback that programming and modeling errors are often hard to find. In this paper we present integrated static and dynamic debugging methods for Modelica models and a debugger prototype that addresses several of those problems. The goal is an integrated debugging framework that combines classical debugging techniques with special techniques for equation-based languages partly based on graph visualization and interaction. To our knowledge, this is the first Modelica debugger that supports both equation-based transformational and algorithmic code debugging in an integrated fashion.

  • 10.
    Pop, Adrian
    et al.
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Östlund, Per
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Casella, Francesco
    Dipartimento di Elettronica, Informazione e Bioingegneria, Politecnico di Milano, Milano, Italy.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Franke, Rüdiger
    ABB, IAPG-A26, Kallstadter Str. 1, Mannheim, Germany.
    A New OpenModelica Compiler High Performance Frontend2019In: Proceedings of the 13th International Modelica Conference, Regensburg, Germany, March 4–6, 2019 / [ed] Anton Haumer: OTH Regensburg, Germany, Linköping, 2019Conference paper (Refereed)
    Abstract [en]

    The equation-based object-oriented Modelica language allows easy composition of models from components. It is very easy to create very large parametrized models using component arrays of models. Current open-source and commercial Modelica tools can with ease handle models with a hundred thousand equations and a thousand states. However, when the system size goes above half a million (or more) equations the tools begin to have problems with scalability. This paper presents the new frontend of the OpenModelica compiler, designed with scalability in mind. The new OpenModelica frontend can handle much larger systems than the current one with better time and memory performance. The new frontend was validated against large models from the ScalableTestSuite library and Modelica Standard Library, with good results.

  • 11.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Tools and Methods for Analysis, Debugging, and Performance Improvement of Equation-Based Models2015Doctoral thesis, monograph (Other academic)
    Abstract [en]

    Equation-based object-oriented (EOO) modeling languages such as Modelica provide a convenient, declarative method for describing models of cyber-physical systems. Because of the ease of use of EOO languages, large and complex models can be built with limited effort.

    However, current state-of-the-art tools do not provide the user with enough information when errors appear or simulation results are wrong. It is of paramount importance that such tools should give the user enough information to correct errors or understand where the problems that lead to wrong simulation results are located. However, understanding the model translation process of an EOO compiler is a daunting task that not only requires knowledge of the numerical algorithms that the tool executes during simulation, but also the complex symbolic transformations being performed.

    As part of this work, methods have been developed and explored where the EOO tool, an enhanced Modelica compiler, records the transformations during the translation process in order to provide better diagnostics, explanations, and analysis. This information is used to generate better error-messages during translation. It is also used to provide better debugging for a simulation that produces unexpected results or where numerical methods fail.

    Meeting deadlines is particularly important for real-time applications. It is usually essential to identify possible bottlenecks and either simplify the model or give hints to the compiler that enable it to generate faster code. When profiling and measuring execution times of parts of the model the recorded information can also be used to find out why a particular system model executes slowly.

    Combined with debugging information, it is possible to find out why this system of equations is slow to solve, which helps understanding what can be done to simplify the model. A tool with a graphical user interface has been developed to make debugging and performance profiling easier. Both debugging and profiling have been combined into a single view so that performance metrics are mapped to equations, which are mapped to debugging information.

    The algorithmic part of Modelica was extended with meta-modeling constructs (MetaModelica) for language modeling. In this context a quite general approach to debugging and compilation from (extended) Modelica to C code was developed. That makes it possible to use the same executable format for simulation executables as for compiler bootstrapping when the compiler written in MetaModelica compiles itself.

    Finally, a method and tool prototype suitable for speeding up simulations has been developed. It works by partitioning the model at appropriate places and compiling a simulation executable for a suitable parallel platform.

  • 12.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Tools for Understanding, Debugging, and Simulation Performance Improvement of Equation-based Models2013Licentiate thesis, monograph (Other academic)
    Abstract [en]

    Equation-based object-oriented (EOO) modelling languages provide a convenient, declarative method for describing models of cyber-physical systems.Because of the ease of use of EOO languages, large and complex models can be built with limited effort.However, current state-of-the-art tools do not provide the user with enough information when errors appear or simulation results are wrong.It is paramount that the tools give the user enough information to correct errors or understand where the problems that lead to wrong simulation results are located.However, understanding the model translation process of an EOO compiler is a daunting task that not only requires knowledge of the numerical algorithms that the tool executes during simulation, but also the complex symbolic transformations being performed.

    In this work, we develop and explore methods where the EOO tool records the transformations during the translation process in order to provide better diagnostics, explanations, and analysis.This information can be used to generate better error-messages during translation.It can also be used to provide better debugging for a simulation that produces unexpected results or where numerical methods fail.

    Meeting deadlines is particularly important for real-time applications.It is usually important to identify possible bottlenecks and either simplify the model or give hints to the compiler that enables it to generate faster code.When profiling and measuring execution times of parts of the model the recorded information can also be used to find out why a particular system is slow.Combined with debugging information, it is possible to find out why this system of equations is slow to solve, which helps understanding what can be done to simplify the model.

    Finally, we provide a method and tool prototype suitable for speeding up simulations by compiling a simulation executable for a parallel platform by partitioning the model at appropriate places.

  • 13.
    Sjölund, Martin
    et al.
    Linköping University, Department of Computer and Information Science.
    Braun, Robert
    Linköping University, Department of Management and Engineering, Fluid and Mechanical Engineering Systems.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science.
    Krus, Petter
    Linköping University, Department of Management and Engineering, Fluid and Mechanical Engineering Systems.
    Towards Efficient Distributed Simulation in Modelica using Transmission Line Modeling2010In: 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, 2010Conference paper (Refereed)
    Abstract [en]

    The current development towards multiple processor cores in personal computers is making distribution and parallelization of simulation software increasingly important. The possible speedups from parallelism are however often limited with the current centralized solver algorithms, which are commonly used in today’s simulation environments. An alternative method investigated in this work utilizes distributed solver algorithms using the transmission line modeling (TLM) method. Creation of models using TLM elements to separate model components makes them very suitable for computation in parallel because larger models can be partitioned into smaller independent submodels. The computation time can also be decreased by using small numerical solver step sizes only on those few submodels that need this for numerical stability. This is especially relevant for large and demanding models. In this paper we present work in how to combine TLM and solver inlining techniques in the Modelica equation-based language, giving the potential for efficient distributed simulation of model components over several processors.

  • 14.
    Sjölund, Martin
    et al.
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Casella, Francesco
    Politecnico di Milano, Italy.
    Dan Iosif Pop, Adrian
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Asghar, Adeel
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Braun, Willi
    FH Bielefeld, University of Applied Sciences, Germany.
    Ochel, Lennart
    FH Bielefeld, University of Applied Sciences, Germany.
    Bachmann, Bernhard
    FH Bielefeld, University of Applied Sciences, Germany.
    Integrated Debugging of Equation-Based Models2014In: Proceedings of the 10th International Modelica Conference / [ed] Hubertus Tummescheit and Karl-Erik Årzén, Linköping University Electronic Press, 2014, p. 195-204Conference paper (Refereed)
    Abstract [en]

    The high abstraction level of equation-based object-oriented languages (EOO) such as Modelica has the drawback that programming and modeling errors are often hard to find. In this paper we present the first integrated debugger for equation-based languages like Modelica; which can combine static and dynamic methods for run-time debugging of equation-based Modelica models during simulations. This builds on and extends previous results from a transformational static equation debugger and a dynamic debugger for the algorithmic subset of Modelica.

  • 15.
    Sjölund, Martin
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    An OpenModelica Java External Function Interface Supporting MetaProgramming2009In: Proceedings of the 7th International Modelica Conference; Como; Italy; 20-22 September 2009 / [ed] Francesco Casella, Linköping: Linköping University Electronic Press, 2009, p. 184-192Conference paper (Refereed)
    Abstract [en]

    A complete Java interface to OpenModelica has been created; supporting both standard Modelica and the metamodeling extensions in MetaModelica. It is bidirectional; and capable of passing both standard Modelica data types; as well as abstract syntax trees and list structures to and from Java and process them in either Java or the OpenModelica Compiler. It currently uses the existing CORBA interface as well as JNI for standard Modelica. It is also capable of automatically generating the Java classes corresponding to MetaModelica code. This interface opens up increased possibilities for tool integration between OpenModelica and Java-based tools; since for example models or model fragments can be extracted from OpenModelica; processed in a Java tool; and put back into the main model representation in OpenModelica.

  • 16.
    Sjölund, Martin
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Debugging symbolic transformations in equation systems2011In: Proceedings of the 4th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, EOOLT 2011, Linköping University Electronic Press , 2011, p. 67-74Conference paper (Refereed)
    Abstract [en]

    How do you debug application models in an equation-based object-oriented (EOO) programming language? Compilers for these tools tend to optimize the model so heavily that it is hard to tell the origin of an equation during runtime. This work proposes and implements a prototype of a method that is efficient, yet manages to keep track of all the transformations/operations that the compiler performs on the model. The method also considers the ability to collapse certain operations so that they appear to the user as a single expandable operation. Using such a method enables makers of compilers for EOO programming languages to create debugging tools that contain sufficiently detailed information while still being appealing to the user as they minimize duplicate information.

  • 17.
    Sjölund, Martin
    et al.
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Bootstrapping a Compiler for an Equation-Based Object-Oriented Language2014In: Modeling, Identification and Control, ISSN 0332-7353, E-ISSN 1890-1328, Vol. 35, no 1, p. 1-19Article in journal (Refereed)
    Abstract [en]

    What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapping of a full-scale EOO (Equation-based Object-Oriented) modeling language such as Modelica. Bootstrapping means that the compiler of a language can compile itself. However, the usual application area for the Modelica is modeling and simulation of complex physical systems. Fortunately it turns out that with some minor extensions, the Modelica language is well suited for the modeling of language semantics. We use the name MetaModelica for this slightly extended Modelica. This is a prerequisite for bootstrapping which requires that the language can be used to model and/or implement itself. The OpenModelica Compiler (OMC) has been written in this MetaModelica language. It originally supported only the standard Modelica language but has been gradually extended to also cover the MetaModelica language extensions. After substantial work, OMC is able to quickly compile itself and produces an executable with good performance. The benefits include a more extensible and maintainable compiler by introducing improved language constructs and a more powerful runtime that makes it easy to add functionality such as parser generators, debuggers, and profiling tools. Future work includes extracting and restructuring parts of OMC, making the compiler smaller and more modular and extensible. This will also make it easier to interface with OMC, making it possible to create more powerful and user-friendly OpenModelica-based tools. The compiler and its bootstrapping is a major effort -- it is currently about 330 000 lines of code, and the MetaModelica extensions are used routinely by approximately ten developers on a daily basis. 

  • 18.
    Sjölund, Martin
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Bootstrapping a Modelica Compiler aiming at Modelica 42011Conference paper (Refereed)
    Abstract [en]

    What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapping (i.e., a compiler can compile itself) of a full-scale EOO (Equation-based Object-Oriented) modeling language such as Modelica. The Modelica language has been modeled/implemented in the OpenModelica compiler (OMC) using an extended version of Modelica called MetaModelica. OMC models the MetaModelica language and is now compiling itself with good performance. Benefits include a more extensible maintainable compiler, also making it easier to add functionality such as debugging support. This work is in line with the recently started Modelica 4 design effort which includes moving implementation of language features from the compiler to a Modelica Core library, allowing compilers to become smaller while increasing correctness and portability. A number of language constructs discussed for Modelica 4 are already supported in some form by the bootstrapped compiler. Future work includes adapting language constructs according to the Modelica 4 design effort and extracting and restructuring parts of the Modelica implementation from the OMC compiler to instead reside in a Modelica Core library, making the compiler smaller and more extensible.

  • 19.
    Sjölund, Martin
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Gebremedhin, Mahder
    Linköping University, Department of Computer and Information Science.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Parallelizing Equation-Based Models for Simulation on Multi-Core Platforms by Utilizing Model Structure2013Conference paper (Refereed)
    Abstract [en]

    In today’s world of high tech manufacturing and computer-aided design simulations of models is at the heart of the whole manufacturing process. Trying to represent and study the variables of real world models using simulation computer programs can turn out to be a very expensive and time consuming task. On the other hand advancements in modern multi-core CPUs promise remarkable computational power. Modern modeling environments provide different optimization and parallelization options to take advantage of the available computational power. Some of these parallelization approaches are based on automatically extracting parallelism with the help of the model compiler or translator. Another approach is to provide the model programmers with the necessary language constructs to express any potential parallelism in their models.

    In this paper we present an automatic parallelization approach for Modelica models using Transmission Line Modeling (TLM). TLM is suitable for parallel simulations because larger models can be partitioned into smaller independent sub-models. TLM introduces parallelism into the system by decoupling subsystems using delays greater than the step size of the numerical solver. A prototype has been implemented in the OpenModelica Compiler (OMC) framework. Our approach re-uses the dependency analysis from the sequential translation step of OMC. With the help of the dependency analysis information the set of equations for a model is partitioned into a number of sub-systems. The resulting independent sub-systems are scheduled and executed in parallel. The run-time system for OMC has been improved to provide thread safety and handle parallelism while keeping the introduced overhead to minimum for normal sequential operation and maintaining portability.

  • 20.
    Torabzadeh-Tari, Mohsen
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Generalization of an Active Electronic Notebook for Teaching Multiple Programming Languages2010In: IEEE EDUCON Education Engineering 2010 – The Future of Global Learning Engineering Education: Learning Environments and Ecosystems in Engineering Education, 2010, p. 1083-1084Conference paper (Refereed)
    Abstract [en]

    In this paper we present a generalization of the active electronic notebook, OMNotebook, for handling multiple programming languages for educational purposes. OMNotebook can be an alternative or complementary tool to the traditional teaching method with lecturing and reading textbooks. Experience shows that using such an electronic book will lead to more engagement from the students. OMNotebook can contain technical computations and text, as well as graphics. Hence it is a suitable tool for teaching, experimentation, simulation, scripting, model documentation, storage, etc. OMNotebook is part of the open source platform OpenModelica. It is already used for the course material DrModelica in teaching the Modelica language but can easily be adapted to other programming languages which is also shown in this paper. The notebook can also be adapted to other areas, such as physics, chemistry, biology, biomechanics etc., where phenomena can be illustrated by dynamic simulations within the notebook. The idea behind this paper is to show that by using a standardized interface the notebook can be extended to any computer language, i.e., being language independent. This is shown in the form of an implementation and adaptation of the notebook to support the Scheme language.

  • 21.
    Torabzadeh-Tari, Mohsen
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Remala, Jhansi Reddy
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    OMSketch — Graphical Sketching in the OpenModelica Interactive Book, OMNotebook2011Conference paper (Refereed)
    Abstract [sv]

    In this paper we present a new functionality for graphical sketching in the OpenModelica interactive book, OMNotebook, which is part of the OpenModelica environment and used mainly for teaching. The new functionality is called OMSketch and allows the user to edit and draw shapes and figures within the electronic book. This allows teachers to prepare more pedagogic course material and stu-dents to make graphical notes in addition to the currenttextual ones.

    The active electronic notebook, OMNotebook, is already used as basis for two course materials, DrModelica and DrControl for teaching the Modelica languages and control theory respectively. Electronic notebooks can be an alternative or complement compared to the traditional teaching me-thod with lecturing and reading textbooks. Experience shows that using such an electronic book will lead to more engagement from the students. OMNotebook can contain interactive technical computations and text, as well as graphics. Hence it is a suitable tool for teaching, experimentation, simu-lation, scripting, model documentation, storage, etc.

  • 22.
    Torabzadeh-Tari, Mohsen
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    DrControl: An Interactive Course Material for  Teaching Control Engineering2011Conference paper (Refereed)
    Abstract [en]

    In this paper we present an interactive course material called DrControl for teaching control theory concepts mixed together with exercises and example models in Modelica. The active electronic notebook, OMNotebook, is the basis for the course material. This can be an alternative or complement compared to the traditional teaching method with lecturing and reading textbooks. Experience shows that using such an electronic book will lead to more engagement from the students. OMNotebook can contain interactive technical computations and text, as well as graphics. Hence it is a suitable tool for teaching, experimentation, simulation, scripting, model documentation, storage, etc.

1 - 22 of 22
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf