Change search
ReferencesLink to record
Permanent link

Direct link
Composer: A prototype multilingual model composition tool
Umeå University, Faculty of Science and Technology, Department of Computing Science.
Umeå University, Faculty of Science and Technology, Department of Physics.
2013 (English)In: MODPROD2013: 7th MODPROD Workshop on Model-Based Product Development / [ed] Peter Fritzson, Umeå: Umeå universitet , 2013Conference paper, Abstract (Other academic)
Abstract [en]

Composer - A prototype multilingual model composition tool

Erik Billing and Martin Servin

November 10, 2012

Facing the task to design, simulate or optimize a complex system itis common to find models and data for the system expressed in differentformats, implemented in different simulation software tools. When a newmodel is developed, a target platform is chosen and existing componentsimplemented with different tools have to be converted. This results inunnecessary work duplication and lead times. The Modelica languageinitiative [2] partially solves this by allowing developers to move modelsbetween different tools following the Modelica standard. Another possi-bility is to exchange models using the Functional Mockup Interface (FMI)standard that allows computer models to be used as components in othersimulations, possibly implemented using other programming languages[1]. With the Modelica and FMI standards entering development, there isneed for an easy-to-use tool that supports design, editing and simulationof such multilingual systems, as well as for retracting system informationfor formulating and solving optimization problems.A prototype solution for a graphical block diagram tool for design, edit-ing, simulation and optimization of multilingual systems has been createdand evaluated for a specific system. The tool is named Composer [3].The block diagram representation should be generic, independent ofmodel implementations, have a standardized format and yet support effi-cient handling of complex data. It is natural to look for solutions amongmodern web technologies, specifically HTML5. The format for represent-ing two dimensional vector graphics in HTML5 is Scalable Vector Graphics(SVG). We combine the SVG format with the FMI standard. In a firststage, we take the XML-based model description of FMI as a form for de-scribing the interface for each component, in a language independent way.Simulation parameters can also be expressed on this form, and integratedas metadata into the SVG image. 

The prototype, using SVG in conjunction with FMI, is implementedin JavaScript and allow creation and modification of block diagrams directly in the web browser. Generated SVG images are sent to the serverwhere they are translated to program code, allowing the simulation ofthe dynamical system to be executed using selected implementations. Analternative mode is to generate optimization problem from the systemdefinition and model parameters. The simulation/optimization result is 

returned to the web browser where it is plotted or processed using otherstandard libraries.The fiber production process at SCA Packaging Obbola [4] is used asan example system and modeled using Composer. The system consists oftwo fiber production lines that produce fiber going to a storage tank [5].The paper machine is taking fiber from the tank as needed for production.A lot of power is required during fiber production and the purpose of themodel was to investigate weather electricity costs could be reduced byrescheduling fiber production over the day, in accordance with the electricity spot price. Components are implemented for dynamical simulationusing OpenModelica and for discrete event using Python. The Python implementation supports constraint propagation between components andoptimization over specified variables. Each component is interfaced as aFunctional Mock-up Unit (FMU), allowing components to be connectedand properties specified in language independent way. From the SVGcontaining the high-level system information, both Modelica and Pythoncode is generated and executed on the web server, potentially hosted ina high performance data center. More implementations could be addedwithout modifying the SVG system description.We have shown that it is possible to separate system descriptions onthe block diagram level from implementations and interface between thetwo levels using FMI. In a continuation of this project, we aim to integratethe FMI standard also for co-simulation, such that components implemented in different languages could be used together. One open questionis to what extent FMUs of the same component, but implemented withdifferent tools, will have the same model description. For the SVG-basedsystem description to be useful, the FMI model description must remainthe same, or at least contain a large overlap, for a single component implemented in different languages. This will be further investigated in futurework.


[1] Modelica Association. Functional mock-up interface,, November 2012.

[2] Modelica Association. Modelica and the modelica association,, November 2012.

[3] Erik Billing and Martin Servin. Composer,, November 2012. [4] SCA Packaging. Sca packaging obbola,, November 2012.

[5] Patrik Törmänen and Hussein Jaffal. Reducing electricity cost - case study. Technical report, UMIT Research Lab, Umeå University, 2011.2

Place, publisher, year, edition, pages
Umeå: Umeå universitet , 2013.
National Category
Software Engineering Computational Mathematics
URN: urn:nbn:se:umu:diva-68447OAI: diva2:617011
MODPROD2013: 7th MODPROD Workshop on Model-Based Product Development
SimovateUMIT Research Lab
Available from: 2013-04-21 Created: 2013-04-21 Last updated: 2013-05-24Bibliographically approved

Open Access in DiVA

Slides(3469 kB)56 downloads
File information
File name ATTACHMENT01.pdfFile size 3469 kBChecksum SHA-512
Type attachmentMimetype application/pdf

Other links

Search in DiVA

By author/editor
Billing, ErikServin, Martin
By organisation
Department of Computing ScienceDepartment of Physics
Software EngineeringComputational Mathematics

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 211 hits
ReferencesLink to record
Permanent link

Direct link