mosaik — Blog

Mosaik 3.0.0 released

New releases of mosaik, mosaik‘s high-level APIs and many simulators of mosaik’s ecosystem are available! This is a major upgrade to improve the discrete-event capabilities of mosaik’s co-simulations. The main new features are:

  • Simulators’ steps can now also be triggered based on available output of other simulators
  • Output data can be specified as non-persistent (i.e. transient)
  • Simulators can request steps asynchronously to react to external events
  • When there’re no interactions, simulators can compute the state transformation of several fundamental time steps at once
  • Explicit definition of the time resolution in a co-simulation scenario

Co-simulations with components that transmit short-lived messages to other components (e.g. communication simulators, agents of control systems, recognition systems, etc.) can thus be setup in an intuitive and straight-forward way. In comparison with traditional mosaik simulations, these scenarios are also simulated with both higher accuracy and improved performance. Due to the improved interaction capabilities between simulators, it’s now also possible to let simulators converge to a joint system state without a progress in time. The concept of superdense simulation time and efficient scenarios with simulators, which typically operate on different time scales, are now also supported by mosaik. Furthermore, the new features permit to analyze human interactions with simulated mosaik environments as external events (e.g. GUIs) can now be integrated within the co-simulation’s scheduling.

All of this has been achieved with minimal adjustments of mosaik’s API. In this way, old simulators are still supported and the new features are well integrated within the proven co-simulation concepts. Thus, it’s easy to support the new features within your simulators and to setup hybrid co-simulations that use the established time-based scheduling as well as the new discrete-event capabilities. Please have a look at the new documentation and find out how mosaik 3.0 can improve the accuracy and performance of your co-simulations or whether the requirements of your simulation scenarios are supported by mosaik 3.0, so you can make the transition and greatly benefit from the co-simulation concept.

Author: Reef Eilers, Thomas Raub

Mosaik 2.6.0 released

The new version 2.6.0 of mosaik is just released.

The print of the simulation progress is now optional. This might be useful when using mosaik in jupyter notebooks and can also reduce the simulation time considerably. To disable it, the following flag has to be used: world.run(END, print_progress=False)

Thanks to Edmund Widl, additional starters to the standard ones python’, ‘cmd’, and ‘connect’ can now be added via external packages.

To get the newest mosaik version, run from within your mosaik virtualenv: pip install -U mosaik

We have also moved our development from Bitbucket to GitLab (https://gitlab.com/mosaik). We will mirror the repositories to Bitbucket for a while, but this might change in the near future. If you want to contribute code or report issues, please use our new GitLab projects instead of Bitbucket from now on.

Author: Thomas Raub, Jan Sören Schwarz

Mosaik - Co-Simulation Workshop in Oldenburg

The Workshop “Co-Simulation with mosaik” took place in Oldenburg at December 6, 2017.

In the course of the workshop we’ve covered topics like manual installation, a basic introduction into the mosaik philiosophy and architecture, as well as some hands-on practice in building up increasingly complex co-simulation scenarios.

One major purpose of events like this is the extension of the community of mosaik users. So if you are interested in workshops on mosaik, co-simulation and related topics, feel free to get into contact with us.

Regular events organized by OFFIS are likely to pop up in the near future, like mid of 2018. So be on the lookout for updates in the near future.

Workshop at OL 2017-12-06

The workshop material can be found here. The zip contains the used slides as well as the source code of the examples.

Author: André El-Ama

Easy-to-use GUI for mosaik available

Maverig is a graphical user interface for the composition and visualization of Smart-Grid-Simulations based on mosaik. The accronym Maverig stands for mosaik Advanced Visualization Environment for Intelligent Power Grids. It includes:

  • a composition mode to create scenarios by drag-and-drop
  • a simulation mode to view simulation results
  • a comprehensible user manual
Maverig in composition mode.

Composition mode of maverig.

Maverig in simulation mode.

Simulation mode of maverig.

As the installation process might be challenging for Python beginners, we provide a detailed step-by-step installation guide for Linux (Ubuntu) and Windows.

Note:Maverig is currently in a prototypical state. It may be used for demonstration purposes, but its maintenance and further development is not our top priority right now. Please understand, if the installation guide is not up-to-date with the newest package versions.

Author: Florian Schloegl

Mosaik-api-java 2.2 released and Java tutorial available

A new release of the mosaik high-level API for Java is available. The mosaik-API-Java allows to connect simulators written in Java to mosaik. The most important changes are support for the setup_done() method (see this blog article or the documentation) and the possibility to run the Java-API in server mode. In server mode the API runs as a TCP server which allows to distribute the simulation across different computers.

We provide now a step by step tutorial how to connect a simple Java simulator to mosaik. The tutorial also describes the different possibilities how to connect simulators to mosaik, including the possibility to run simulators and mosaik on different computers.

You can find the sources of the Java API here.

Author: Florian Schloegl

Mosaik-api-python 2.2 released

Regarding to the new release of mosaik the mosaik-api version 2.2 supports the new method “setup_done()” (see the last blog article or in the documentation).

Furthermore the API version which has to be provided with the META data (see in the documentation) is no longer an integer but a “major.minor” string. Also various minor fixes and stability improvements have been made.

You can get the new version by running pip install -U mosaik-api.

Special thanks to Stefan!

Author: Okko Nannen

Mosaik 2.2.0 released

The biggest change of this release is that we have added an new optional method “setup_done()” to the mosaik API. This method is called after the models are created and before the first simulation step is executed. This facilitates the configuration of models during scenario building.

Furthermore the API version is no longer an integer but a “major.minor” string and therefore the version validation has changed. Now, the major part has to match with mosaik’s major version and the minor part may be lower or equal to mosaik’s minor version. Also we have updated the versions of the used libraries to the last versions in the requirements file of mosaik. And of course, the documentation has been updated.

You can get the new version by running pip install -U mosaik.

Special thanks to Stefan!

Author: Okko Nannen

page 1 of 4

older articles »