Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Agent Based Modeling in Modelica

Is it possible to simulate multi-agent systems in Modelica? I'm talking about a system such MASON written in Java. How easy or difficult it would be? As I understand, Modelica is not a typical programming language, so would it be particularly helpful or will the basic design of modelica language throw any hindrance? And more importantly, how we're going to model "messaging" systems that's common in Agent-based modeling?

like image 267
tired and bored dev Avatar asked Sep 19 '15 05:09

tired and bored dev


1 Answers

Modelica can simulate discrete event systems. Some libraries exist: ModelicaDEVS, ARENALib etc.

Maybe the syntax is not perfect yet for this "Messaging", but maybe the language will be improved further in this direction.

An advantage might be that real-time capable code can be created, so the agents could run in embedded systems even with hard real-time - only some of the other tools support this like Ptolemy II.

P.S. (added see first comment):

From the start Modelica was designed to create code which is capable to run in real-time. So you could take the unchanged modelica model of your agent connect IO to sensors and actuators and download it on real-time hardware (e.g. PowerPC). Your swarm of agents will then exactly fullfill the time behaviour you modeled and exist in real. Also you could have only one real agent in hardware (maybe this hardware is expensive) and simulate the interaction to all the other agents in real-time on a real-time simulator hardware using your unchanged models for that too.

This is one of the major reasons why Modelica's semantic is not that dynamic as e.g. Java. If you want to run your MASON agent on real hardware you are in trouble: you have to move to e.g. Safety Critical Java, which means that a lot of constructs of your code, but also of standard Java libraries must be rewritten or are not allowed at all. Without this you will have to live with the possibility that your agent will miss his mission and burn down the house ...

like image 140
goofy Avatar answered Oct 02 '22 04:10

goofy