19 research outputs found

    A comparison of metacompilation approaches to implementing Modelica

    Get PDF

    JModelica---an Open Source Platform for Optimization of Modelica Models

    Get PDF
    Optimization is becoming a standard methodology in many engineering disciplines to improve products and processes. The need for optimization is driven by factors such as increased costs for raw materials and stricter environmental regulations as well as a general need to meet increased competition. As model-based design processes are being used increasingly in industry, the prerequisites for optimization are often fulfilled. However, current tools and languages used to model dynamic systems are not always well suited for integration with state of the art numerical optimization algorithms. As a result, optimization is not used as frequently as it could, or less efficient, but easier to use, algorithms are employed. This paper reports a new Modelica-based open source project entitled JModelica, targeted towards dynamic optimization. The objective of the project is to bridge the gap between the need for high-level description languages and the details of numerical optimization algorithms. JModelica is also intended as an extensible platform where algorithm developers, particularly in the academic community, may integrate new and innovative methods. In doing so, researchers gain access to a wealth of industrially relevant optimization problems based on existing Modelica models, while at the same time facilitating industrial use of state of the art algorithms. The JModelica project rests upon three pillars, namely a language extension of Modelica for optimization entitled Optimica, software tools, and applications. In this paper, these three topics will be highlighted

    The Design and Implementation of Bloqqi - A Feature-Based Diagram Programming Language

    Get PDF
    This dissertation presents the design and implementation of a new block diagram programming language, Bloqqi, for building control systems with focus on variability. The language has been developed in collaboration with industry with the goal of reducing engineering time and improving reuse of functionality.When building a control system for a plant, there are typically different variants of the same base functionality. A plant may have several variants of a tank, for example, one variant with heating and another one without. This dissertation presents novel language mechanisms for describing this kind of variability, based on diagram inheritance. For instance, Bloqqi supports specifying what features, like heating, the base functionality can have. These specifications are then used to automatically derive smart-editing support in the form of a feature-based wizard. In this wizard, the user can select what features the base functionality should have, and code is generated corresponding to these features. The new language mechanisms allow feature-based libraries to be created and extended in a modular way.This dissertation presents techniques for implementing rich graphical editors with smart editing support based on semantic analysis. A prototype compiler and graphical editor have been implemented for the language, using the semantic formalism reference attribute grammars (RAGs). RAGs allow tools to share the semantic specifications, which makes it possible to modularly extend the compiler with support for advanced semantic feedback to the user of the graphical editor

    Languages and Tools for Optimization of Large-Scale Systems

    Get PDF
    Modeling and simulation are established techniques for solving design problems in a wide range of engineering disciplines today. Dedicated computer languages, such as Modelica, and efficient software tools are available. In this thesis, an extension of Modelica, Optimica, targeted at dynamic optimization of Modelica models is proposed. In order to demonstrate the Optimica extension, supporting software has been developed. This includes a modularly extensible Modelica compiler, the JModelica compiler, and an extension that supports also Optimica. A Modelica library for paper machine dryer section modeling, DryLib, has been developed. The classes in the library enable structured and hierarchical modeling of dryer sections at the application user level, while offering extensibility for the expert user. Based on DryLib, a parameter optimization problem, a model reduction problem, and an optimization-based control problem have been formulated and solved. A start-up optimization problem for a plate reactor has been formulated in Optimica, and solved by means of the Optimica compiler. In addition, the robustness properties of the start-up trajectories have been evaluated by means of Monte-Carlo simulation. In many control systems, it is necessary to consider interaction with a user. In this thesis, a manual control scheme for an unstable inverted pendulum system, where the inputs are bounded, is presented. The proposed controller is based on the notion of reachability sets and guarantees semi global stability for all references. An inverted pendulum on a two wheels robot has been developed. A distributed control system, including sensor processing algorithms and a stabilizing control scheme has been implemented on three on-board embedded processors

    Tools and Languages for Modeling and Optimization of Large-Scale Dynamical Systems

    Get PDF
    High-level modeling languages are receiving increased industrial and academic interest within several domains, such as chemical engineering, thermo-fluid systems and automotive systems. One such modeling language is Modelica. Modelica is an open language, specifically targeted at multi-domain modeling and model re-use. Key features of Modelica include object oriented modeling, declarative equation modeling, a software component model enabling acausal connections of submodels, as well as support for hybrid/discrete behaviour. These features have proven very applicable to large-scale modeling problems in various fields. This contribution gives an overview of a project targeted at i) defining an extension of Modelica, Optimica, which enables high level formulation of optimization problems, ii) developing prototype tools for translating a Modelica model and a complementary Optimica description into a representation suited for numerical algorithms, and iii) performing case studies demonstrating the potential of the concept

    Reusing Semantics in Visual Editors: A Case for Reference Attribute Grammars

    Get PDF
    The semantic formalism reference attribute grammars (RAGs) allows graphs to be superimposed on abstract syntax trees. This paper investigates how RAGs can be used to model visual languages, with a case study of a control language that also has a textual syntax. The language contains blocks on which a total execution order is defined based on connections and layout information. One strength of RAGs is reusability, and we demonstrate this by reusing the definition of the execution order in the visual editor to provide semantic feedback to the user

    A CasADi Based Toolchain For JModelica.org

    Get PDF
    Computer-aided modeling for simulation, optimization and analysis is increasingly used for product development in industry today, resulting in high demands on the tools used. A tool chain for transferring interpreted code of the modeling languages Modelica and Optimica from the simulation and optimization tool JModelica.org to CasADi has been implemented. CasADi provides several desirable features, most importantly an integrated and ecient automatic dierentiation engine and the ability to interactively work with the systems expressed using it. The biggest problems solved to enable this were the creation of a representation of the mathematical systems described by Modelica and Optimica code that is integrated with CasADi, and the construction of a transfer scheme for moving information from the Java-based JModelica.org compiler to C++ in which CasADi resides. This was successfully achieved for a continuous subset of Modelica and Optimica that may contain functions

    Contributions to the Construction of Extensible Semantic Editors

    Get PDF
    This dissertation addresses the need for easier construction and extension of language tools. Specifically, the construction and extension of so-called semantic editors is considered, that is, editors providing semantic services for code comprehension and manipulation. Editors like these are typically found in state-of-the-art development environments, where they have been developed by hand. The list of programming languages available today is extensive and, with the lively creation of new programming languages and the evolution of old languages, it keeps growing. Many of these languages would benefit from proper tool support. Unfortunately, the development of a semantic editor can be a time-consuming and error-prone endeavor, and too large an effort for most language communities. Given the complex nature of programming, and the huge benefits of good tool support, this lack of tools is problematic. In this dissertation, an attempt is made at narrowing the gap between generative solutions and how state-of-the-art editors are constructed today. A generative alternative for construction of textual semantic editors is explored with focus on how to specify extensible semantic editor services. Specifically, this dissertation shows how semantic services can be specified using a semantic formalism called refer- ence attribute grammars (RAGs), and how these services can be made responsive enough for editing, and be provided also when the text in an editor is erroneous. Results presented in this dissertation have been found useful, both in industry and in academia, suggesting that the explored approach may help to reduce the effort of editor construction

    EOOLT 2007 – Proceedings of the 1st International Workshop on Equation-Based Object-Oriented Languages and Tools

    Get PDF
    Computer aided modeling and simulation of complex systems, using components from multiple application domains, such as electrical, mechanical, hydraulic, control, etc., have in recent years witness0065d a significant growth of interest. In the last decade, novel equation-based object-oriented (EOO) modeling languages, (e.g. Mode- lica, gPROMS, and VHDL-AMS) based on acausal modeling using equations have appeared. Using such languages, it has become possible to model complex systems covering multiple application domains at a high level of abstraction through reusable model components. The interest in EOO languages and tools is rapidly growing in the industry because of their increasing importance in modeling, simulation, and specification of complex systems. There exist several different EOO language communities today that grew out of different application areas (multi-body system dynamics, electronic circuit simula- tion, chemical process engineering). The members of these disparate communities rarely talk to each other in spite of the similarities of their modeling and simulation needs. The EOOLT workshop series aims at bringing these different communities together to discuss their common needs and goals as well as the algorithms and tools that best support them. Despite the short deadlines and the fact that this is a new not very established workshop series, there was a good response to the call-for-papers. Thirteen papers and one presentation were accepted to the workshop program. All papers were subject to reviews by the program committee, and are present in these electronic proceedings. The workshop program started with a welcome and introduction to the area of equa- tion-based object-oriented languages, followed by paper presentations and discussion sessions after presentations of each set of related papers. On behalf of the program committee, the Program Chairmen would like to thank all those who submitted papers to EOOLT'2007. Special thanks go to David Broman who created the web page and helped with organization of the workshop. Many thanks to the program committee for reviewing the papers. EOOLT'2007 was hosted by the Technical University of Berlin, in conjunction with the ECOOP'2007 conference
    corecore