Direct links to other parts of the IODA NetLogo Manual: Tutorial FAQ Dictionary
The IODA NetLogo extension lets users of NetLogo (Wilensky, 1999) incorporate within their models a small part of the functionality and features of the IODA Methodology – "Interaction-Oriented Design of Agent simulations" (Kubera et al., 2008, 2011) – by providing appropriate data types, primitives and include files.
The IODA approach aims at simplifying the design and reusability of individual-based simulations. It relies upon three key ideas:
Thus the design of an individual-based model is split into three tasks: the identification of agents, the description of interactions, and the filling of the interaction matrix. The goal of this extension is to allow NetLogo users to get familiar with and use the IODA approach within their models, for research or educational purpose. For more information on the IODA approach, please consult the IODA NetLogo Tutorials, the IODA webpage and the research papers mentioned below.
You can have a look at a few examples on-line (without downloading the extension itself) through NetLogo applets on the IODA NetLogo webpage.
The IODA NetLogo package can be downloaded on this page.
The ioda
folder is provided with the following items:
ioda.jar
: the JAR file that contains the IODA
NetLogo extension itself, which defines three data types
(interaction, assignation and matrix) with their own commands and
reportersioda.jar.pack.gz
: a compressed version of the JAR file (used e.g. for applets)IODA_2_2.nls
: the NetLogo include file which
contains the standard IODA simulation enginesrc
folder with the Java source code of the
extensiondoc
folder with the documentation of the extension, i.e.:
tutorials
folder with several examplesgpl.txt
, a copy of the GNU General Public License
(version 3) – see "Terms of Use" below.The IODA NetLogo extension 2.2 has been developed for NetLogo 5.0. If you are using NetLogo 4.1.3, please use IODA NetLogo 2.0 instead.
To install the IODA NetLogo extension for use by any model, place IODA's folder either in the extensions directory in the NetLogo directory, or in the same folder as the model that uses it. For more information about other ways of installing an extension refer to the NetLogo Extensions Guide.
In order to use the IODA simulation engine, your NetLogo code must
include the file named IODA_2_2.nls
. Thus, if the IODA
folder is installed in the NetLogo directory, it could be useful to
put a copy of this file (or a symbolic link) next to your own NetLogo
model, in order to use a relative path instead of an absolute path.
The main usage pattern of IODA in NetLogo models is as follows: The user creates a model for the problem to study, according to the IODA methodology (Kubera et al. 2011). A IODA model is composed of the following elements:
hungry?
(in trigger/condition)
and follow
(in actions), then two concrete primitives
must be written: a reporter named wolves::hungry?
,
and a command named wolves::follow
.The IODA NetLogo extension provides tools for checking the consistency of a model, i.e. to ensure that all concrete primitives have been written with respect to the definition of interactions, the interaction matrix and the update matrix.
After defining those items, you have to write a setup
procedure to initialize your simulation and a go
procedure to run it. If you simply want to make use of the predefined
IODA simulation engine, just put ioda:setup
at the end of your
setup
procedure, and ioda:go
at the
beginning of your go
procedure. That's all!
See the Tutorial for a practical use of the IODA methodology applied to NetLogo simulations.
clear-all
...reset-ticks
schemeioda:primitives-to-write
and ioda:check-consistency
do not raise
exceptions any more
Authors: Sébastien Picault and Philippe Mathieu
Email: ioda
(at) univ-lille1.fr
Web Site: http://www.lifl.fr/SMAC/projects/ioda
Y. KUBERA, P. MATHIEU and S. PICAULT (2011), "IODA: an interaction-oriented approach for multi-agent based simulations", in: Journal of Autonomous Agents and Multi-Agent Systems (JAAMAS), vol. 23 (3), p. 303-343, Springer DOI: 10.1007/s10458-010-9164-z.
Y. KUBERA, P. MATHIEU and S. PICAULT (2010), "Everything can be Agent!", in: van der Hoek et al. (eds.), Proceedings of the 9th International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2010), Toronto, p. 1547-1548.
Y. KUBERA, P. MATHIEU and S. PICAULT (2008), "Interaction-Oriented Agent Simulations: From Theory to Implementation", in: M. Ghallab, C.D. Spyropoulos, N. Fakotakis, M. Avouris (eds.), 18th European Conference on Artificial Intelligence (ECAI'08), Frontiers in Artificial Intelligence Applications, IOS Press, p. 383-387, ISBN 978-1-58603-891-5.
P. MATHIEU and S. PICAULT (2005), "Towards an interaction-based design of behaviors", in: M.-P. Gleizes (ed.), Proceedings of the The Third European Workshop on Multi-Agent Systems (EUMAS'2005).
U. WILENSKY (1999), NetLogo. http://ccl.northwestern.edu/netlogo Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.
All contents © 2008-2013 Sébastien PICAULT and Philippe
MATHIEU – SMAC Research Team
Laboratoire d'Informatique Fondamentale de Lille (LIFL),
UMR CNRS 8021
University Lille 1 – Cité Scientifique,
F-59655 Villeneuve d'Ascq Cedex, FRANCE.
The IODA NetLogo extension is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
The IODA NetLogo extension is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU
General Public License along with IODA NetLogo extension. If not,
see http://www.gnu.org/licenses.