mosaik — Blog

Save-the-Date 28./29. April 2015

Hands-on-Workshop Co-Simulation in Smart-Grids with mosaik

28. April 2015 13:00 - 29. April 2015 13:00

AIT - Austrian Institute of Technology, Vienna

As the electrical system is a critical infrastructure computer simulations are the means of choice to study the behavior of the system. A Smart Grid is a system which itself consists of a huge number of different subsystems. To model such a system the combination of different simulators is required. Mosaik is an open source tool that has established a large user base and provides the functionality to establish the data exchange between different simulators and to orchestrate the combined simulation run.

The workshop provides the opportunity for (prospective) users to meet users and developers of the co- simulation-tool mosaik.

Goals of the workshop:

  • Learning about the advantages and limitations of Smart Grid co-simulation with mosaik
  • Hands-on experience in model composition and large-scale scenario design with mosaik
  • Hands-on experience in hardware/software model integration into the mosaik ecosystem
  • Networking: getting to know mosaik users and developers with similar/complementary goals research questions

In order to facilitate efficient small working groups the number of participants is limited (to 25 persons). There will be a moderate registration fee to cover organizing expenses.

More information and a registration form here.

Author: Florian Schlögl

Mosaik 2.1.2 released

While we implemented some cool new features for mosaik-hdf5 we found some new bugs in mosaik which are now fixed in Mosaik 2.1.2 .

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

Author: Stefan Scherfke

Mosaik 2.1.1 released

Mosaik 2.1.1 now prints a warning message if a simulator’s entities were not connected. It also fixes some problems with the internal data-flow cache.

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

Author: Stefan Scherfke

Mosaik 2.1 released

We just released moasik 2.1. It’s only been about a month since version 2.0, but we already implemented some cool new ideas (some originating from the workshop in Risø last month) and added tons of documentation. So mosaik is now even better, faster and easier to use.

Here is the complete change-log for this version:

  • [NEW] Mosaik can now perform real-time simulations. Before, this functionality needed to be implemented by simulators. Now it’s just World.run(until=x, rt_factor=y), where rt_factor defines the simulation speed relative to the wall-clock time (issue #24).
  • [NEW] Simulators can now expose extra methods via their API that can be called from a mosaik scenario. This allows you to, e.g., store static data in a data base. These extra API methods need to be specified in the simulator’s meta data (issue #26).
  • [NEW] util.connect_many_to_one() helper function.
  • [NEW] More and better documentation:
    • Tutorial for integrating simulators, control strategies and for creating scenarios.
    • Sim API description
    • Scenario API description
    • Sim Manager documentation
    • Scheduler documentation
    • Discussion of design decisions
    • Logo, colors, CI
  • [NEW] Added util.sync_call() which eases calling proxied methods of a simulator synchronously.
  • [CHANGE] The rel attribute in the entity description returned by create() is now optional.
  • [CHANGE] Moved proxied methods from SimProxy to SimProxy.proxy in order to avoid potential name clashes with other attributes.
  • [CHANGE] Check a simulator’s models and extra API methods for potential name clashes with the built-in API methods.
  • [CHANGE] The argument execution_graph of World was renamed to debug. The execution graph now also stores the time after a simulation step (in addition to the time before the step).
  • [FIX] issue #22: The asynchronous requests get_data() and set_data() now check if the async_requests flag was set in World.connect().
  • [FIX] issue #23: finalize() is now called for in-process Python simulators.
  • [FIX] issue #27: Dramatically improved simulation performance (30 times as fast in some cases) if simulators use different step sizes (e.g. 1 minute and 1 hour) by improving some internal data structures.

To get the new version, run pip install -U moasik from within your mosaik virtualenv. If you have any questions or feedback, please come to our mailing list.

Author: Stefan Scherfke

First mosaik-workshop held at Risø, Denmark

At the same time as the release of mosaik 2.0, DTU and OFFIS arranged the first mosaik Workshop in order to bring developers and (prospective) users of mosaik together.

The event took place at DTU’s premises at Risø September 24, 2014 and was attended by about 20 international participants from DTU as well as guests from Sweden (KTH), Austria (AIT) and Germany (Uni-Passau and IWES).

Beside a thorough introduction to mosaik, the focus of the workshop was on practical work. Anna Kosek (DTU) demonstrated the integration of a PV-plant of DTU’s SYSLAB with mosaik. This turned out to be very straightforward thanks to SYSLAB’s and mosaik’s Java APIs. Later, Stefan Scherfke (OFFIS) and Giuseppe Costanzo (DTU) showed how to connect a house simulator with controllable loads to mosaik.

After a productive event, the participants travelled home with a lot of impressions and know-how about mosaik and its use cases. And we came back with a lot of feedback and with new ideas for the further development of mosaik.

Author: Florian Schlögl

Mosaik 2.0 finally released

After half a year of alpha versions, we are very pleased to finally release mosaik 2.0!

Changes in this version:

  • [NEW] A lot of documentation improvements.
  • [NEW] mosaik.util.connect_randomly(): a utility method that randomly connects two sets of entities with each other.
  • [CHANGE] The mosaik logo was slightly updated. It now uses plain colors instead of gradients.
  • [CHANGE] The Sim API version and mosaik’s package version are now separated. Sim API versions are always integer numbers, while semantic versioning is used for the Python package (issue #17).
  • [CHANGE] The default timeout for starting and stopping external simulator processes was raised to ten seconds.
  • [CHANGE] mosaik.simulator was renamed to mosaik.scheduler to avoid confusion with the actual simulators.
  • [CHANGe] Entiy and World.entity_graph now also contain the simulator name, because the model name may not be globally unique.
  • [FIX] issue #16: When a simulator unexpectedly closes it socket, its name will now be printed to ease debugging.

We still have a lot more ideas for new features, but by now we consider mosaik ready enough for a broader audience.

The mosaik-demo was also updated and uses mosaik 2.0 now.

To get the new version, run pip install -U moasik from within your mosaik virtualenv. If you have any questions or feedback, please come to our mailing list.

Author: Stefan Scherfke

Fourth alpha of mosaik 2 released

We are pleased to announce the release of a fourth alpha version for mosaik2.

Changes in this version:

  • [NEW] The model meta data may now contain the any_inputs which, if set to True, allows any attribute to be connected to that model (useful for databases and alike).
  • [CHANGE] The dictionary of input values in the API’s step() call now also contains the source of a particular value. This is also usefull to for databases. This may break existing simulators.
  • [CHANGE] “.” is now used as separator in full entiy IDs instead of “/” (issue #19).

This release again introduced backwards incompatible changes, so you may have to update your simulators.

Again, there no additional alpha planned and the next next release will (presumably) only add a few convenience functions and may be labeled as beta. If now big issues arise with that release, the release after that might be the final 2.0.

To get the new version, run pip install --pre -U mosaik from within your mosaik virtualenv.

Author: Stefan Scherfke

« newer articles

page 4 of 5

older articles »