osBrain: a general-purpose multi-agent system module

Miguel Sánchez de León Peque

  • Oct. 8, 2016, 5:50 p.m. - 6:30 p.m.
  • Sala Cajamar
  • Idioma: en


osBrain is a general-purpose multi-agent system module written in Python.

  • Agents run independently as system processes and communicate with each other using message passing.
  • Message passing is implemented using ØMQ, and in particular, the PyZMQ Python bindings.
  • ØMQ allows for efficient, asynchronous communication using different commonly used communication patterns such as request-reply, push-pull and publish-subscribe.
  • osBrain integrates Pyro4 to ease the configuration and deployment of complex systems.
  • Thanks to Pyro4, remote agents can be treated as local objects and reconfigured even when they are running. Not just variables, but also new methods can be created in the remote agents.
  • osBrain provides the base for implementing robust, highly-available, flexible multi-agent systems.
  • Being implemented in Python, osBrain can take advantage of a huge set of packages for data analysis, statistics, numerical computing, etc. available in the Python ecosystem.

osBrain was initially developed in OpenSistemas based on the need to create a real-time automated-trading platform. This platform needed to be able to process real-time market data updates fast and in parallel. Robustness was very important as well in order to prevent active trading strategies from being affected by a failure in another strategy.

Python was chosen for being a great language for fast prototyping and for having a huge data analysis ecosystem available. It was kept for its final performance and the beautiful source code created with it.