Hello, I am going to start to think the implementation of an
application that uses Java and Jython.
This environment is new for me and I lack perspective to make proper
general decisions about what to implement in what, who would have which
responsibility, how would modules communicate between each other, etc.
I could try to make some choices based on common sense, but I would be
very thankful if you could provide some guidance.
The application we have to write is a multi-agent simulation tool. The
idea is that we have an IDE written in Java/Swing that model builders
use to write simulations using Jython as agent programming language.
This application has an interface more or less like the one of this
non-functional mock-up (written in a breeze thanks to Jython BTW :-):
Among other things, in this application model builders are able to
define an interface for models using drag and drop in the GUI Designer,
and those widgets will act as I/O for the simulation. So we'll have
grids, plots, text fields, labels, etc. In those widgets properties of
certain instances will be associated somehow.
Our idea is to write the model engine, the runtime that automates the
execution of simulations behind the scenes, in Python. We think that
would be the natural context for agents written in Python.
The IDE itself would be written in Java. Then the main application
would be Java and would need to communicate with a running simulation
to update output widgets, to call methods in the Python side to set
values from input widgets, to inspect objects when a simulation is
Does that make any sense? How would you do that in that case? Would you
try to have a single entry point in the Python side somehow? Or could
you maybe suggest a different way to approach this? Any general