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).