The InViWo platform



Abstract


An InViWo agent is made of attributes, sensors, effectors and behaviours. Its action selection architecture is both distributed and synchronous: it is made of independent, concurrent, synchronized, interconnected behavioural modules. This architecture is inspired by behaviour-based architectures (animats, reactive robotics) and by the synchronous model (real-time systems). The synchronous model ensures the determinism of the behaviour of our agents. An InViWo avatar is a special agent, which represents a user in an InViWo world. An avatar is called semi-autonomous when it is partly controlled by its user.

The InViWo platform is developed in Java under the GPL license. This platform executes the agents and handles the inter-agent communication. The interaction between agents can be observed through any user interface that is able to communicate with an InViWo avatar. The current version of the platform (tested on FreeBSD, GNU/Linux and Microsoft Windows) visualizes an InViWo world either in 2D (with Swing/AWT) or in 3D (with Java3D).

The components of an InViWo agent can be described with the Marvin programming language. In particular, Marvin makes it easy to describe the concurrent, synchronous modules that compose the decision process of the agent. This language is strongly inspired by the Esterel language. The current Marvin interpreter uses the ANTLR toolkit for the parsing phase and for the generation of an instruction set to be executed by the InViWo platform.


Find more about InViWo and Marvin


Download


The InViWo platform is provided as a free software, under the GPL license. If you have any comments, please let us know (mail to: dev AT inviwo.org).