Tools of the Trade - Journal of Artificial Societies and ...jasss.soc.surrey.ac.uk/12/2/2/2.pdf · The second main ABM survey is by Castle and Crooks (2006). In this paper, Castle
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Agent Based Modeling (ABM) toolkits are as diverse as the community of people who usethem. With so many toolkits available, the choice of which one is best suited for a project isleft to word of mouth, past experiences in using particular toolkits and toolkit publicity. Thisis especially troublesome for projects that require specialization. Rather than using toolkitsthat are the most publicized but are designed for general projects, using this paper, one willbe able to choose a toolkit that already exists and that may be built especially for one'sparticular domain and specialized needs. In this paper, we examine the entire continuum ofagent based toolkits. We characterize each based on 5 important characteristics usersconsider when choosing a toolkit, and then we categorize the characteristics into user-friendly taxonomies that aid in rapid indexing and easy reference.
Keywords:Agent Based Modeling, Individual Based Model, Multi Agent Systems
Introduction
1.1In the past few years, several seminal ABM surveys have emerged. They are a giant stride inthe right direction, but current surveys generally are limited to four or five mainstay andcharacteristically or historically similar toolkits (Castle 2006; Railsback 2006; Tobias 2004).Moreover, these surveys are presented from the point of view and for the intended audienceof one or two communities of interest (Castle 2006; Railsback 2006; Serenko 2002; Tobias2004). However, different groups of users prefer different and sometimes conflicting aspectsof a toolkit. For example, social scientists, who may have little or no programmingexperience, are concerned more with ease of use, the degree of programming skills required,and the inclusion of intuitive interfaces to manage simulations. Many, in general, are notconcerned about whether the software is open source or restricted open source. To computerscientists, however, the type of license that governs the toolkit is a big consideration; theywant the ability to "get behind the scenes" of a toolkit and to have the programming flexibilityto modify or extend the software with third party applications if necessary. They alsogenerally prefer saving execution time by programming simulations themselves rather thanusing built-in interfaces, which usually are less computationally efficient. Teachers of ABM,on the other hand, want packages that are easy to learn, that offer pedagogical insights, andthat provide the student with the ability to transition to more difficult and comprehensivetoolkits in the future.
1.2In this paper we address the issues of the broader ABM community. This paper is a survey ofthe toolkits that are available today and how they compare to each other from aninterdisciplinary and multi-stakeholder perspective. Our goal is to provide users with theability to better choose a suitable toolkit based on the features abstracted from variousdocumentation and compiled into an easy to use compendium. In addition, we expand theABM body of knowledge to include information about a breadth of characteristically andhistorically diverse platforms.
1.3This work is the result of ongoing research into various characteristics of ABM toolkits. In thispaper, we examine 5 characteristics across the spectrum of toolkits: programming languagerequired to create a model or simulation, operating system required to run the toolkit, type oflicense governing the platform, primary domain for which the toolkit is intended, and degreeof support available to the user of the toolkit.
1.4This paper is structured as follows. First, we begin with some limitations of current ABMsurveys. This is followed by a comparison of the characteristics of various toolkits in the form
of tabular taxonomies followed by a text explanation. Finally, we conclude the paper with afull representation of features for each toolkit in a quick and easy to use matrix format.
Related Work
2.1In the last few years, the ABM community has made giant strides in developing practical agentbased modeling toolkits that enable individuals to develop significantly sized applications.More and more such toolkits are coming into existence, and each toolkit has a variety ofcharacteristics. Some toolkits are built for general purpose modeling and some are built for aparticular domain. Some are open source, some are closed source, and others are proprietary.Some toolkits have a simple user interface, and others require complex programmingtechniques. Several individuals have made attempts to compare toolkits to each other. One ofthe seminal papers has been the investigation by Railsback, Lytinen, and Jackson (2006). Inthis paper, the authors examine four main platforms: NetLogo, Mason, Repast, and Swarm.They create a template, called a "StupidModel," for various levels from which to evaluate andcompare toolkits to each other. For example, for level 1, they examine the underlyingenvironment and how various toolkits display agents in their environment. With each newlevel, they add more capabilities and examine how each toolkit compares to the others. Forlevel 2, they add more agent actions and examine how different platforms implementscheduling for these actions. They continue adding more capabilities through 15 differentlevels, through which they examine characteristics such as environmental issues, modelstructure, agent scheduling, file input and output, random number generation, and statisticalcapabilities.
2.2This survey is a great step in the right direction, but the main limitation is that it onlyexamines 4 platforms. In addition, most of the toolkits are historically similar in nature. Evento the extent that Swarm and Mason were designed as general purpose toolkits, Repast wasdesigned for social scientific use, and NetLogo was intended as an educational tool, three ofthe toolkits are descendants of Swarm, while one is descended from an educational lineage.Our work differs from Railsback et al, in three main respects. First, we expand the ABM body.We consider not only general or mainstay toolkits from the same lineage, but we also considerless well known and diverse specialized platforms as well. A second difference is that in thispaper, we do not evaluate toolkits as better or worse than others. Our goal is to present thefacts and to let the reader choose which toolkit is the most suitable match for his/her project.In future continuation of this work, we hope to "get under the hood" and do a morecomparative study of the toolkits. Finally, whereas Railsback et al evaluate four toolkits indepth, this work only scratches the surface of the toolkits. For now, we only examine 5characteristics that individuals examine when attempting to choose a toolkit for their project.
2.3The second main ABM survey is by Castle and Crooks (2006). In this paper, Castle and Crooksexamine 8 simulation platforms: Swarm, Mason, Repast, StarLogo, NetLogo, Obeus,AgentSheets, and AnyLogic. They have a particular focus on evaluating geospatial capabilities.They also address several additional characteristics including date of inception,implementation language, required programming experience, and availability ofdemonstration models and tutorials.
2.4Again the main limitation is that the study only examines a handful of the ABM toolkits thatare available. The main audience is the domain of geospatial modeling, and again, itcompares only general purpose, characteristically similar toolkits and toolkits specialized forthe social sciences. In our work in this paper, we expand the ABM knowledge base toincorporate a more diverse and expansive continuum of toolkits. We also examine severalcharacteristics in more detail. In addition, we facilitate toolkit selection by including not onlycomparisons of characteristics across toolkits, but we also include matrices comparingtoolkits across characteristics.
2.5The third survey is by Tobias and Hofmann (2004). In this survey, the authors examine 4main open source toolkits: Repast, Swarm, Quicksilver, and VSEit, and they evaluate thembased on various types of criteria, to include general criteria, modeling and experimentation,support for modeling, and modeling options. Altogether, they examine 19 differentcharacteristics across these 4 platforms. Next they rank the platforms by assigning scores torepresent the quality of the criteria of interest. The paper examines a broad range ofcharacteristics, and this is what we hope to model in our future toolkit research. The mainlimitation of this survey is that it is from the point of view of social scientists, and it onlyexamines "free" libraries in use by the social scientific community that use Java as the mainprogramming language. With our work, on the other hand, we hope to appeal to the broaderABM community. We also bring to the fore additional toolkits that are geared toward thesocial sciences, both in general and in particular specializations.
2.6A fourth survey paper on agent based toolkits is by Serenko et al (2002). In this work, theauthors investigate 20 toolkits from an educational perspective based on their use aspedagogical tools in post-secondary courses. They classify toolkits based on 4characteristics, namely, ability to create mobile agents, ability to develop a multi-agentsystem, ability to create different kinds of agents for different purposes (effectively, agentbased toolkits), and ability to retrieve information. They also examine the underlyinglanguage required for programming a model or simulation. Next they interview 87 instructorswho are using these toolkits and who evaluate the toolkits based on user satisfaction with
platform functionality, performance, and user interaction. This is a good attempt to comparea breadth of the agent toolkits across multiple characteristics. Our work in this paper issimilar in that we attempt to survey the breadth of available toolkits. However, we examinetoolkits from a multi-stakeholder perspective. We also investigate more objectivecharacteristics. In the future, we hope to implement a questionnaire to survey similaradvanced characteristics.
Limitations
3.1Before we delve too far into this paper, we would like to underscore a few limitations. Themajor limitation of this survey is its scope. We chose to examine a large breadth of platformsacross a small range of characteristics. This has two important implications. First, we are notable to evaluate the depth of the platforms in terms of all of their characteristics. Second, weare not able to examine a wide berth of characteristics. While this is a good base of potentialcharacteristics of interest, certainly, there are additional characteristics that are importantfactors in one's decision to choose one platform over another. In our ongoing research intoABM toolkits, we will examine more in-depth and complex characteristics.
3.2Another limitation of this survey is the disparity in degree of documentation for varioustoolkits. Some platforms are widely in use and have ample documentation, and otherplatforms have barely any documentation. Even so, we tried to look at each platform in anequal manner. However, we were limited to what we were able to find on the internet and injournals. In addition, we tried to examine each characteristic as completely andcomprehensively as possible. However, our study is not complete. In places where it is notcomplete, it is because the developers have not specified the complete granularity of theplatforms with respect to the characteristics evaluated.
3.3Third, there is a disparity in the quality of documentation that is included with each platform.Documentation ranges from very detailed to hardly any details at all. In this survey, we do notattempt to evaluate the quality of the documentation. Rather, we try to classify the toolkitsbased on the types of documentation that are available to support the user.
3.4Finally, another challenge to this study is the conflicting use of terms in different domains.Since the agent based modeling field has developed from multiple disciplines (e.g. socialscience, artificial intelligence, and computer science), many of the terms are not usedconsistently across various domains . For example, the three most inconsistent terms are"agent," "agent-based," and "multi-agent." When toolkits from different domains use theterm multi-agent system, it is unclear if they mean a system capable of modeling a largenumber of fairly homogenous agents (agent based system) or a smaller system ofheterogeneous agents equipped with artificial intelligence (true multi-agent system). We donot attempt to disambiguate the terms for each of the fields in this paper. Rather, we attemptto examine the overall domain from an agent based perspective (as opposed to a multi-agentsystem perspective). Because of the inconsistent use of terms, it was difficult to classify thetoolkits into precise taxonomies.
Methodology
4.1We began this survey by gathering a comprehensive list of agent based toolkits available andthat are being used in some fashion for ABM purposes. These include any platforms that areavailable in the public domain, including open source and closed source, general purpose andspecialized, as well as free and proprietary toolkits. We tried to make this as comprehensiveas possible. Next, we gathered as much information as we could from open sources. Wescoured white papers, technical papers, journals, and various websites to gather as muchinformation as possible. Where there was third hand information, we confirmed it by goingdirectly to the source. Next, we sorted through all the information and created varioustaxonomies based on major classifications. Based on the taxonomies, we createdcorresponding tables that allow individuals to quickly compare various toolkits based onparticular characteristics of interest. The following toolkits were considered:
Agent Building and Learning Environment (ABLE)AgentBuilder Lite/ProTryllian Agent Development Kit (ADK)AgentSheetsAnyLogicAscapeBrahmsBreveCommon-pool Resources and Multi-Agent Systems (Cormas)CougaarDeXDistributed operator model architecture (DOMAR)ECHOjEchoECJiGenJADE
JASJava Auction Simulator API (JASA)JCA-SimJava Enterprise Simulator (jES)JESSLaboratory for Simulation Development (LSD)Multi Agent Development Kit (Madkit)Rules Based Multi-Agent System (MAGSY)Multi-agent modeling language (MAML)MasonMulti-Agent Simulations for the SOCial Sciences (MAS-SOC)Matrix Laboratory (Matlab)Micro-und Multilevel Modelling Software (MIMOSE)ModulecoNetLogoObject Based Environment for Urban Simulation (OBEUS)oRISPolitical Science- Identity (PS-I)Framework for Agent-based Modelling with Java (FAMOJA)Quicksilver (now called omonia)REcursive Porous Agent Simulation Toolkit (Repast) and family (e.g. RepastS, RepastPy,RepastJ, Repast.net)Strictly Declarative Modeling Language (SDML)Jade's sim++SimPlusPlusSimAgent (aka sim_agent)SimBioSysMultimodeling Object-Oriented Simulation Environment (Moose)SimPackSpatial Modeling Environment (SME)Shell for Simulated Agent Systems (SeSAm)SOARStarLogo and family (e.g. StarLogo T, StarLogo TNG, OpenStarLogo, MacStarLogo)SugarscapeSwarmVersatile Simulation Environment for the Internet (VSEit)Zeus
Results
5.1The five characteristics we examine in this paper are: language required to program a modeland to run a simulation, operating system required to run the toolkit, type of license thatgoverns the toolkit, primary domain for which the toolkit is intended, and types of supportavailable to the user. We chose these characteristics because they are usually the first featuresthat one looks at when choosing a toolkit for a project (Castle 2006; Leszczyna 2004; Tobias2004). We have two main results. First, we define taxonomies that allow for easy comparisonof one characteristic across all of the platforms. This enables one to select candidate toolkitsfrom across the ABM spectrum based on one or two characteristics of interest. Second, wedefine a matrix that shows in a condensed form all of the characteristics of interest acrossone platform. This helps one to see how a particular platform measures up as a whole foreach of the characteristics across one's needs.
Programming Language
5.2There are various programming languages that may be used to program an agent basedmodel and to run a simulation. Programming languages are important because differentlanguages have different implications in terms of ease of programming, portability, andcompatibility. The main programming languages used across the ABM spectrum aresummarized below. Note that these are the languages that are used to program a modelusing the toolkit rather than the underlying languages that are used to create the toolkit.
Able Rule Language (ARL)Any language that supports activeX components (e.g. C, C++, VB, VBA, Java)All languages that are compiled into Java or scripting languages which are executed inthe Java Virtual MachineBeanShell (Java interpreted)Brahms language (an agent oriented language)CC++Cellular Description Language (CDL) (for input to simulation)COGNET Execution Language (CEL)dML (deX Modeling Language): a domain-specific language based on C++AgentSpeak(XL), an extension of Agentspeak(L) and (Environment Description Languagefor Multi-Agent Simulation) ELMS, a language for modelling environments wherecognitive agents are situatedJavaJess (rule based language)UML-RT (UML for real time)Knowledge Query and Manipulation Language (KQML)
LispLogoNetLogoMacStarLogoStarLogo (an extension of Logo)StarLogoTStarLogo TNGLSD (functional language derivative)Magsy (production language)Multi-agent Modeling Language (MAML)MATLAB®Microsoft.net .NET languages (C#, C++, Visual Basic, .Net, J#)Model Description Language (derived from functional language paradigms)Objective COris (dynamic and interpreted multi-agent language very close to C++ and Java)Pop-11 (similar to common lisp)PrologPythonScheme (Kawa)SeSAm-Impl and SeSAm-UMLSmalltalkStandard MLStarLogo TNG visual programming languageSteve (a simple interpreted object oriented language)Tcl/tk scriptingVisual programmingVisual AgentTalk (VAT)
5.3Agent models can be programmed in virtually all of the main programming languages,including C, C++, and Java. These are mainly used for the toolkits that are designed forgeneral purposes. The rest of the languages are languages that stem from a need forspecialization. Most languages in specialized toolkits are created and used specifically forthat toolkit. We can also see in this table a little of the direction/roots of the languages. Forexample, we see a small lineage forming around the Logo language. That is, NetLogo,MacStarLogo, StarLogo, StarLogoT, and StarLogo TNG are derivatives of Logo.
Platforms Per Subcategory
5.4By far, the main programming language most models have adopted is Java. About 42% of theplatforms employ Java as their primary programming language. Toolkits that support Javaprogramming are listed below.
5.5The next three largest contingents are C, C++, and the Logo dialects. About 17% of theplatforms use C++ to program models, about 11% use C, and about 8% use a variant of Logo.Approximately 28% of the toolkits use a platform specific language which the toolkit authorsdesigned to facilitate programming models and simulations in that domain. Note that the sumof this collective is above 100%. This is because several platforms support multiplelanguages. We will begin with toolkits that support C++ programming. These are:
5.8Finally, we have toolkits that support visual programming (table 1). That is, these platformshave graphical-based programming capabilities that generally are much more simple to learnand use than traditional programming languages. In the future work, we would like toexamine further the extent to which toolkits have visual programming capability in addition toprogramming language capability.
Table 1: Toolkits That Support Visual Programming
Visual Programming Language ToolkitGeneral visual programming MAML
PS-IRepastSSeSAmSimPlusPlusSMEZeus
StarLogo TNG visual programming language StarLogo TNGVisual AgentTalk (VAT) AgentSheets
5.9Table 2 depicts the remaining domain of toolkits per programming language.
Table 2: Remaining Toolkits per Programming Language
Programming Language ToolkitAble Rule Language (ARL) ABLEAny language that supports activeX components (e.g. C,C++, VB, VBA, Java)
SimPlusPlus
All languages that are compiled into Java or scriptinglanguages which are executed in the Java Virtual Machine
Madkit
BeanShell (Java interpreted) MadkitBrahms language (an agent oriented language) BrahmsCellular Description Language (CDL) (for input to simulation) JCA-SimCOGNET Execution Language (CEL) iGendML (deX Modeling Language): a domain-specific languagebased on C++
DeX
AgentSpeak(XL), an extension of Agentspeak(L) and(Environment Description Language for Multi-AgentSimulation) ELMS, a language for modelling environmentswhere cognitive agents are situated
MAS-SOC
Jess (rule based language) JESSMadkit
UML-RT (UML for real time) AnyLogicKnowledge Query and Manipulation Language (KQML) AgentBuilderLisp OMAR-L
SimAgentSOAR1-5
LSD (functional language derivative) LSDMagsy (production language) MAGSYMulti-agent Modeling Language (MAML) MAMLMATLAB® MatlabMicrosoft.net .NET languages (C#, C++, Visual Basic, .Net,J#)
OBEUSRepast.net
Model Description Language (derived from functionallanguage paradigms)
MIMOSE
Objective C SwarmOris (dynamic and interpreted multi-agent language veryclose to C++ and Java)
oRIS
Pop-11 (similar to common lisp) SimAgentProlog SimAgentPython Breve
DeXMadkitRepastPy
Scheme (Kawa) MadkitSeSAm-Impl and SeSAm-UML SeSAmSmalltalk Cormas
SDMLStandard ML SimAgentSteve (a simple interpreted object oriented language) BreveTcl/tk scripting PS-I (only to
applyaffects)SOAR
Type of License
5.10The main domain of licenses that governs various toolkits is depicted below.
Associated third party licenses (usually non-proprietary)Contact authors for availabilityContact Tryllian to acquire a closed source licenseFree
Open SourceAcademic Free LicenseArtistic License AgreementBSDCougaar Open Source License (COSL)GPLLGPL
Closed SourceConditionally FreeAcademic PurposesTo modify but not to distribute the modified versionUse and distribution for non-commercial purposesSee license for details
ProprietaryDiscounted
Academic License
5.11The type of license is important because it has implications for releasing the source codeunder commercial distribution. For example, for platforms licensed under the GNU LesserGeneral Public License (LGPL), if one wants to release a modified version of the toolkit forcommercial purposes, one also has to release the source code of the modified platform (GNUWebsite). Toolkits licensed under the Berkley Software Distribution (BSD) license, on the otherhand, do not require one to release the source code of commercial extensions to the platform(freebsd.org website).
5.12We have organized the licenses into four main branches. We can see that the majority of thetoolkits are free (about 76%). These are broken down further into open source (about 53%),closed source (about 9%), and free with restrictions (14%). Of the remaining toolkits, about17% are proprietary. The last 5% are available under contract through case by casearrangements with the authors. Finally, in addition to regular licenses, some of the toolkitscome with associated third party licenses for software that is already incorporated into thetoolkit or for additional features that may be incorporated into the toolkit by the user.
Platforms Per Subcategory
5.13We begin with free toolkits. As depicted in list 6 above, we have free open source, free closedsource, and conditionally free toolkits. Free open source toolkits release the source code withtheir toolkit and allow modifications in accordance with their governing license. Commonopen source licenses include Berkley Software Distribution (BSD), GNU General Public License(GPL), GNU Lesser General Public License (LGPL), and the Cougaar Open Source License. Freeclosed source toolkits, on the other hand, do not release the source code to the public.Finally, we have conditionally free licenses. These toolkits are free, but they have conditionson how they are used. For example, some licenses are free if they are used only for academicpurposes. Others are free as long as they are used for non-commercial purposes. Theselicenses are mostly closed source. Proprietary toolkits, on the other hand, require the user topay the toolkit authors for a license. Finally, some toolkit authors will negotiate licenses withthe users according to the circumstances or intended purposes of the user. These fall under"contact authors for availability." The toolkits classified as free under open source are shownin table 3 below.
Table 3: List of Toolkits Classified as Free Under Open Source Licenses
Type of License ToolkitOpen Source(uncategorized1)
ABLE (for academic and non-commercial use)DeXDOMARECHOjECHOMAML (for evaluation purposes)SimAgentZeus (read license)
1 These toolkits do not fall under standard licensing agreements such asBSD, GPL, and LGPL. The licensing generally is defined by theauthors/developers of the toolkits
5.14The following toolkits do not release the source code.
5.15The list below shows the toolkits that have proprietary licenses. Note that some of thesetoolkits are free or discounted if they are used solely for academic purposes.
AgentBuilder (discounted academic licenses)AgentSheetsAnyLogiciGen (discounted academic licenses)JESS (free for academic purposes)MatlaboRIS (free for academic purposes)
5.16Finally, in table 4, we see the spectrum of toolkits that are free under certain restrictions. Forexample, some platforms are free to use and distribute as long as they are used for solelynon-commercial purposes. Others are free as long as they are used for academic purposes.Another category of toolkits is governed by licenses that restrict individuals from distributingmodified versions of the source code. Finally, some platforms have their own unique/hybridlicenses that are best suited for user to view for himself/herself.
Table 4: Toolkits That Are Free Under Certain Restrictions
Type of License ToolkitAcademic Purposes ABLE
Brahms (closedsource)JESSoRISSDML
To modify but not to distribute the modifiedversion
Cormas
Use and distribution for non-commercial purposes ABLEOpenStarLogo
See license for details SimAgent
5.17The majority of the remaining toolkits use their own special purpose licenses. These toolkitsare depicted in table 5 below.
Table 5: Licenses Employed by Various ABM Toolkits
Type of License ToolkitAssociated third party licenses (usually non-proprietary)
MAS-SOCSDMLSimAgent
Contact authors for availability MAS-SOCContact Tryllian to acquire a closed source license ADK
Operating System
5.18The third category we examine is the operating system on which the toolkits run. Theoperating system domain is depicted as follows. Note the variety of operating systemspecifications defined in the literature.
ADUXAIXAny platform that supports C++/any C++ compilerAny platform with a Java Virtual Machine (JVM)
Java 2 JVMSDK version 1.4.1 or laterJava 2 SDKJava Runtime Environment (JRE) 1.5.0 or laterJava SDK 5.0 or betterJDK 1.1Any Java Development Kit (JDK) installationJava 2 Runtime Environment(JRE) and Internet Explorer 5.x or greaterJRE Java version 1.4JRE version 1.3.1Bea's JRockit JVMIBM's JVM
BSDDOSEmulation of Windows NT or LinuxHPUXIA32 Linux; PPC Linux
IBM mainframesJava-1.4-capable PDAsLinux
x86 or x86_64 linuxSuSE Open Linux 10.2 or later, x86-32Ubuntu Linux 7.04 or later, x86-32
MacintoshOS XOS X 10.2.6 or higher with Java 1.4 installedOS X 10.4.1 or later
Multi-computer systemsMeiko and BBNSun3, Sun 4, and HP 9000 workstations
Windows 3.1Windows 95Windows 98Windows NTWindows 2000Windows XPWindows as a DOS ApplicationWindows Vista, x86-32
5.19As depicted, the majority of toolkits run on Windows and Linux, although there is a largecontingent that runs on Macintosh. There also is a growing trend toward implementing andrunning models in Java, both because of the simplicity of programming and also because ofthe platform independence that Java offers. We also can see this trend in table 6 (ToolkitsThat Run on Various Windows Operating Systems). An important note for the reader is thatwe tried to look at each toolkit as completely and comprehensively as possible. We gatheredthis information from open source documentation provided by the authors and by thirdparties who used the platform. However, this table is not complete; Rather, it is a baseline ofplatforms that have been known and documented to work on particular operating systems.Note that this does not necessarily exclude toolkits from running on additional operatingsystems. For example, a toolkit that runs on Windows NT may also run on Windows 2000,Windows XP, and Windows Vista. In places where this table is not complete, it is because thedevelopers have not specified the complete granularity of the platforms with respect todifferent operating systems.[2]
Platforms Per Subcategory
5.20We will begin with the Windows platforms. Where specified in documentation, we havedecomposed the platforms into Windows 3.1, 95, 98, 2000, ME, NT, XP, and Vista. See table6. Again, the reader should note that this is not a complete representation; rather it presentsa categorization of platforms based on documented success for each platform on eachoperating system.
Table 6: Toolkits That Run On Various Windows Operating Systems
Operating System ToolkitWindows (version not specified) AgentSheets
Windows NT ABLEAgentBuilder CougaariGenMIMOSE (Java based client)SDMLZeus
Windows 2000 AgentBuilderADKBrahmsiGenSDMLZeus
Windows XP AgentBuilderADKAnyLogicBrahmsCougaariGen
Windows as a DOS Application MOOSESimPlusPlus
Windows Vista, x86-32 AnyLogic
5.21The next prominent platform is Linux and its distributions such as Ubuntu and SuSE. Theseare depicted in table 7.
Table 7: Toolkits That Run On Linux Operating Systems
Operating System ToolkitLinux (version not specified) AgentBuilder
ADKAscapeBrahmsBreveCormasCougaarDOMARMAGSYMAMLMatlabMIMOSE (client/server version)MIMOSE (Java based client)ModulecoMOOSEoRISSimAgentStarLogoPS-ISDMLSeSAmSwarmZeus
X86 or x86_64 linux DeXSuSE Open Linux 10.2 or later, x86-32 AnyLogicUbuntu Linux 7.04 or later, x86-32 AnyLogic
5.22Next we have toolkits supported by the Macintosh operating system (table 8). These includetoolkits such as Ascape, AgentSheets, Cormas, Cougaar, Brahms, Breve, SeSAm, StarLogoTNG,and Swarm.
Table 8: Toolkits That Run On Macintosh Operating Systems
Operating System ToolkitMacintosh (version not specified) Ascape
CormasLSDMatlab
ModulecoMacStarLogoStartLogo TStarLogo TNG
OS X AgentSheetsBrahmsBreveCougaarSeSAmSwarm
OS X 10.2.6 or higher with Java 1.4 installed StarLogoOS X 10.4.1 or later AnyLogic
5.23The next major contingent of toolkits are those that will run on any machine that has a JavaVirtual Machine (JVM) or Java Runtime Environment (JRE) installed. These are depicted in table9. Where specified in the documentation, we have decomposed these into severalsubcategories, including any platform with a Java Virtual Machine, at least SoftwareDevelopment Kit (SDK) 1.4.1 or later, SDK 2.0 or later, Java Runtime Environment 1.5 or later,and several more. Again, the reader should note that this is not a complete representation;rather it presents a categorization of platforms based on documented success for eachplatform on each operating system; Thus, some toolkits may work with additional virtualmachines or subcategories.
Table 9: Toolkits That Run on Various Java Virtual Machines
Type of Java Virtual Machine ToolkitAny platform with a Java Virtual Machine (JVM) AgentBuilder
Java 2 SDK SugarscapeJava Runtime Environment (JRE) 1.5.0 or later AnyLogic
JASJava SDK 5.0 or better ADK (but must contact
for support)SeSAm
JDK 1.1 VSEit (Java 1.1.7 or later)Any Java Development Kit (JDK) installation FAMOJA
OmoniaJava 2 Runtime Environment(JRE) and InternetExplorer 5.x or greater
Sugarscape
JRE Java version 1.4 ADKJRE version 1.3.1 ADK
MasonBea's JRockit JVM ADKIBM's JVM ADK
5.24Another prominent platform is Unix. Toolkits that will run specifically on Unix platforms are:
ABLEADKAscapeCormasDOMARECHOLSDMAGSYStarLogoSDML
SimAgentSMEZeus
5.25Finally, we also have a small contingent of toolkits that run on the Sun Solaris platform.
AgentBuilderADKMAGSYMatlabMIMOSE (client/server version)MIMOSE (Java based client)SDMLZeus
5.26Table 10 depicts the remaining domain of toolkits per operating system.
Table 10: Remaining Toolkits per Operating System
Operating System ToolkitADUX SDMLAIX SDMLAny platform that supports C++/any C++compiler
SimBioSysSimPackSimPlusPlus
BSD ZeusDOS MOOSE
SimPlusPlusEmulation of Windows NT or Linux PS-IHPUX SDMLIA32 Linux; PPC Linux oRISIBM mainframes ADK (paid support)Java-1.4-capable PDAs CougaarMulti-computer systemsMeiko and BBN Sun3, Sun 4, and HP 9000 workstations
Jade's sim++
OS/2 ABLESimPlusPlus (as a DOSapplication)
OS/370OS/400
ADK
SGI MOOSEoRISSDML
Sparc/Intel Solaris Brahms (available uponrequest)
SunOS MAGSYMOOSE
Domain
5.27In this section, we examine various domains for which the toolkits are specialized. Many ofthe toolkits are specifically tailored for particular domains, and many are general purposetoolkits that can be used for a variety of domains. The main domains are shown below.
Artificial IntelligenceFor students to model the behavior of decentralized systemsImplementing software agentsLearning (including explanation based learning)Teaching computer simulation
At the undergraduate (senior) and graduate levelsK-12 social sciences, social studies, math, and science
Using object oriented principlesTeaching programming techniques to students new to simulationScientific and engineering math and computation; data analysis, exploration, andvisualization
EnterprisesSingle enterpriseSystems of enterprises
Evolutionary computingGeneral purpose agent based
Multi-agent systems with agent based simulation layerGeneral-purpose parallel applications
Human performance modelingTraining systemsPerformance support systems
Multi-agent systems (general purpose)Large scale distributedComplex environmentsDistributedDecision-making in complex environments (with limited rationality)Organizational processes
Help beginning users get started authoring modelsSocial systems
Testing Base24 applicationsUrban simulation
5.28The major specializations are agent based systems, artificial intelligence, distributedsimulation, education, multi-agent systems, and social and natural sciences. An importantnote for the reader is that these are the primary domains for which the toolkit has beendesigned, and these are the primary domains for which the toolkit has been documented as aprimary domain. Note that many toolkits are used for more domains that just their primary.However, the secondary domains have extremely unequal and incomplete representation.Therefore, we do not attempt to classify toolkits further than their primary domain. Also notethat the domain categories listed here are the terminology of the toolkit documentation. Assuch, we do not attempt to disambiguate domain terminology. Rather, the goal is to give theuser a broad feel for the types of domains for which these toolkits may be applicable, so thatit will bring to the fore potential toolkits that the user otherwise may not have considered.The user should then explore further the differences between similar terminology in thedomain categories of interest.
Platforms Per Subcategory
5.29We will begin with general purpose agent based platforms (table 11). These toolkits are notgeared toward special domains but rather can be used for general classes of agent basedsimulation. These include toolkits such as Swarm, Mason, Magsy, AgentBuilder Lite/Pro,Anylogic, Madkit, DeX, DOMAR, and Ascape. One toolkit of note is Madkit. It actually is amulti-agent platform, but it includes an agent based simulation layer. Another toolkit of noteis DeX. DeX has an additional special emphasis on parallel applications.
Table 11: General Purpose Agent Based Toolkit
Purpose ToollkitGeneral purpose agent based AnyLogic
AscapeDOMARJASMAGSYMasonSeSAmSimPackSwarm
Multi-agent systems with agent based simulation layer MadkitGeneral-purpose parallel applications DeX
5.30
Next, we have toolkits that specialize in distributed simulation (table 12). Here we see severaltoolkits that have even more particular specializations within this domain. For example,Cougaar and Tryllian Agent Development Kit specialize in large scale distributed applications,whereas oRIS specializes in virtual reality. Cougaar, in addition, has subspecializations inscalable, reliable, survivable and small scale embedded applications.
Table 12: Toolkits Specializing in Distributed Simulation
Type of Distributed Simulation ToolkitGeneral purpose distributed simulations AnyLogic
5.31Another main focus is education. Few toolkits are oriented toward education as their primaryspecialization. The forerunners as pedagogical tools are AgentSheets, StarLogoT, NetLogo,oRIS, and StarLogo (and decedents OpenStarLogo and StarLogoTNG). Since there is a stronginterest in education (Serenko 2002), and because many of the platforms can be and arebeing used for pedagogical purposes in addition to their primary specialization, we haveincluded in our educational taxonomy toolkits with secondary educational foci (see table 13).There are general purpose educational platforms, and there are toolkits that specialize inparticular aspects of education. The general purpose toolkits include StarLogo, NetLogo,StarLogoT and MIMOSE. Within educational subspecializaties, there are toolkits that specializein teaching programming techniques (Matlab, Sugarscape), object oriented principles (jECHO),math and computation (Matlab), how to model decentralized systems (StarLogo, StarLogoT,StarLogoTNG), computer simulation (FAMOJA, oRIS, Matlab, SeSAm), and implementingsoftware agents (Brahms, SimAgent). Teaching computer simulation is further specialized forK-12 students (AgentSheets, StarLogo), and undergraduate (senior) and graduate levelstudents (SimPack).
Table 13: Documented Platforms With a Primary or SecondaryPedagogical Focus
Artificial Intelligence BreveFor students to model the behavior of decentralized systems StarLogo
StarLogoTStarLogoTNG
Implementing software agents BrahmsSimAgent
Learning (including explanation based learning) SOARTeaching computer simulation FAMOJA
MatlaboRISSeSAm
At the undergraduate (senior) and graduate levels SimPackK-12 social sciences, social studies, math, and science AgentSheets
StarLogoUsing object oriented principles jECHOteaching programming techniques to students new tosimulation
MatlabNetLogoStarLogoTNGSugarscape
scientific and engineering math and computation; dataanalysis, exploration, and visualization
Matlab
3 Few toolkits are oriented toward education as their primaryspecialization. The forerunners as pedagogical tools are AgentSheets,StarLogoT, NetLogo, oRIS, and StarLogo (and decedents OpenStarLogo
and StarLogoTNG). Since there is a strong interest in education (Serenko2002), and because many of the platforms can be and are being used forpedagogical purposes in addition to their primary specialization, we haveincluded in our educational taxonomy toolkits with secondary educationalfoci.
5.32The next major specialization is multi-agent systems (table 14). While many of these toolkitsdo have support and are being used for agent based modeling, their main purpose is forbuilding multi-agent systems. These toolkits include Brahms, Cormas, Cougaar, Jade, Madkit,Magsy, Moduleco, oRIS, and SDML.
Table 14: Toolkits With Primary Specialization in Multi-Agent Systems
Type of Multi-agent System ToolkitMulti-agent systems (general purpose) AgentBuilder
oRISMAGSY
Large scale distributed ADKCougaar
Complex environments SimAgentDistributed JadeDecision-making in complex environments (with limitedrationality)
SDML
Organizational processes Brahms
5.33The next major contingent of toolkits are those that specialize in artificial intelligence. Theseinclude toolkits that are geared for artificial intelligence in general, for machine learning, forcreating human-like intelligent agents, and for artificial intelligence for the social sciences inparticular (See table 15).
Table 15: Toolkits With a Primary Specialization in Artificial Intelligence
Type of Artificial Intelligence Focus ToolkitArtificial Intelligence (general purpose) Breve
iGenSOAR
Machine learning and reasoning ABLEZeus
Social sciences Omonia3D simulations multi-agent systems
Breve
Human-like intelligent agents SimAgent
5.34In table 16, we see the toolkits that are geared specifically for the social sciences. Again,there are general purpose toolkits as well as particular subspecializations within.
Table 16: Toolkits With A Primary Specialization Toward the SocialSciences
Type of Social Science Specialization ToolkitGeneral purpose Social Sciences AgentSheets
Enterprises jESEvolutionary computing ECJHuman performance modeling iGen
SOARTraining systems iGenPerformance support systems iGenNatural Resources Management CormasPolitical phenomena PS-IRule engine and scripting environment JESS
5.37Another important category that individuals and organizations look at when determining atoolkit to use is the degree of support that is available to the user. In this section we examinethe types of user support that are available. These include project wikis, documentation (suchas user manuals), consulting, bug lists, formal training, example models, tutorials, third partyextensions, selected references, application programming interfaces (APIs), and frequentlyasked questions (FAQ) sections. The types of support in the user support domain are:
APIBug ListConsultingDocumentationExample ModelsFAQFormal TrainingSelected ReferencesTutorialsThird Part ExtensionsWiki
Platforms Per Subcategory
5.38Next, we have toolkits that have some form of user documentation. By user documentation,we are looking for manuals that explain how to use the toolkit. Almost every platform comeswith a user manual. Note that in this survey, we do not attempt to compare thecomprehensiveness of the user manuals; we merely are mentioning that the toolkit at leastcomes with some degree of documentation. We did, however, note several toolkits inparticular that have limited documentation (as indicated below).
5.40Again, in this survey, we do not attempt to evaluate the quality of the tutorials, only that thesetoolkits have tutorials established to support the user.
5.41Third, we identify toolkits which include mailing lists, listservs, or online forums to supportthe user:
5.46These differ from tutorials because these are more comprehensive templates that individualscan use to help them use author models. They may not necessarily come with directions onhow to use the toolkit in general. Tutorials, on the other hand, are designed to walk the userstep by step through how to use the toolkit. They may or may not include model templates.
5.47Some toolkits also include selected references/publications that users can read for moreinformation on the toolkit. These are depicted below.
5.48Several of the toolkits have consulting services available in conjunction with their toolkit.
AnyLogicAgentBuilderiGenMatlab
Note that these are all proprietary toolkits, so the user probably will have to pay extra forthese services.
5.49Some toolkits also have specialized training classes available for users.
AgentBuilderAgentSheetsAnyLogicCormasiGENMatlab
Again, these are mostly proprietary toolkits.
5.50Some toolkits have links on their website to third party extensions that individuals havedeveloped to fulfill a specialized need.
JESSMasonMatlabNetLogoRepastSOAR
For example, Mason has third party extensions that aid in social network statistics, rigid body
physics, and integration with the Jung social network system (Mason website).
5.51Finally, we have toolkits that have project wikis as part of user support (shown below).
BrahmsFAMOJAJESSSeSAmSOARSwarm
Characteristics per platform
5.52In this section, we compiled all of the preceding information into an easy-to-use matrix.Whereas the previous section aids the user in viewing toolkits across one or twocharacteristics, this section is helpful for the user who wants to examine all of thecharacteristics across one platform. For better viewing purposes, we split the matrix into twosubmatrices (See Appendices 2 and 3).
Conclusion: On-going and Future Work
6.1We have developed a web-based tool that incorporates all of our findings so far. This is asearchable repository of ABM platforms into which users input a range of characteristics, andthe tool returns a list of candidate platforms that contain those characteristics. This tool isavailable at http://agent.cse.nd.edu/abmsearchengine.php.
6.2We also have created a corresponding page in Wikipedia based on this research. In addition tosummarizing our current results, we include several categories of interest concerning 3D andGIS capabilities. The article is entitled "ABM Software Comparison," and it is linked from themain "Agent Based Model" wiki. We invite the ABM community to participate in expanding thisresearch further.
6.3In the future, we would like to continue our research into various ABM toolkits. In particular,we would like to examine more complex characteristics across the ABM spectrum. In our nextwork, we will design a survey to explore characteristics such as ease of use, degree ofprogramming required, maximum number of agents supported, statistical support, andfeature completeness.
6.4In this paper, we have begun a comprehensive survey of ABM platforms. We gathered as manyplatforms as possible that were being used for ABM purposes, and we began to classify them.In particular, we examined 5 characteristics in depth: programming language required, type oflicense governing the toolkit, type of operating system required, primary domain for whichthe toolkit has been designed, and degree of support available to the user. Our goal was togive project designers the capability to easily compare toolkits based on these characteristicsand to help him/her better choose a toolkit that suits his/her needs. As such, we haveincluded a range of general as well as specialized toolkits. Some of the toolkits have neverbeen included in surveys before, and we hope that including these will help individualschoose toolkits that are more suited for their projects rather than having to "redesign thewheel." In order to facilitate comparison, we created several taxonomies which have beenpresented here in tabular form. With these representations, the user can quickly examine onecharacteristic across a range of toolkits as well as a range of characteristics across one toolkit.
Acknowledgements
We would like to thank Curtis Blais, Ranjeev Mittu, and Amy Henninger for their assistance inthis research.
Notes
1There is some ambiguity concerning the terms "platform" and "toolkit." From the ComputerScience domain, the term "toolkit" denotes the application level software package, and thetern "platform" denotes the underlying hardware on which the software runs. In the SocialScience domain, on the other hand, the term "platform" and "toolkit" have been usedinterchangeably (Gilbert 2002; Tobias 2004). In this paper, we also use the terms "platform"and "toolkit" interchangeably.
2Please note this limitation in this section and throughout the remainder of the paper.
Java; Cellular DescriptionLanguage (CDL) (forinput to simulation)
JavaEnterprise Simulator (jES)
A single enterprise or a system of enterprises
Academic free license
Java
JESS Rule engine and scripting environment
Proprietary; free for academic use
Java/Jess/JessML(declarative xml rulelanguage)
Laboratory forSimulation Development (LSD)
A language for simulation models; social sciences
GPL C++; LSD
Multi AgentDevelopmentKit (Madkit)
A generic, highly customizableand scalable platform; generalpurpose multi-agent platformwith agent based simulation layer
LGPL for basiclibraries; GPL fordevelopmentand non-commercialapplications
Java; MadKit may bedeveloped in alllanguages that arecompiled into Java; forthe moment, MadKitcomes with 4 scriptinglanguages which areexecuted in the JavaVirtual Machine: Scheme(Kawa), Jess (rule basedlanguage), BeanShell(Java interpreted) andPython (jython). Usingthe JNI (Java NativeInterface) technique, itshould be possible todevelop agents writtenin C or C++. It is alsopossible to embed Javaagents in C/C++ applications using thesame technique, usingJNI as a glue between thetwo worlds.
Rules BasedMulti-Agent System (MAGSY)
General purpose multi-agentsystems
Free (closedsource)
Magsy (productionlanguage)
Multi-agentmodelinglanguage(MAML)
Social science; domain specificprogramming language fordeveloping agent based models
The compiler isfreelydownloadablefor evaluation purposes (opensource) Later thesystem will beput under GNUlicense
MAML language; C;visual programminginterface
Mason General purpose; social complexity, physicalmodeling, abstract modeling, AI/machine learning
Academic Free License (opensource)
Java
Multi-AgentSimulationsfor the SOCialSciences (MAS-SOC)
Social simulation Contact authorsfor availability
AgentSpeak(XL), an extension ofAgentspeak(L) and (Environment Description Language forMulti-Agent Simulation) ELMS, a language for modelling environments where cognitive agentsare situated. Future workto implement in Java
MatrixLaboratory (Matlab)
Teaching simulation programming techniques tostudents new to simulation;scientific and engineering mathand computation; data analysis,exploration, and visualization
Proprietary MATLAB® is a high-levellanguage that includesmatrix-based datastructures, its owninternal data types, anextensive catalog offunctions, anenvironment in which todevelop your ownfunctions and scripts,
the ability to import andexport to many types ofdata files, object-oriented programmingcapabilities, andinterfaces to externaltechnologies such asCOM, Java, programswritten in C and Fortran,and serial port devices.
Micro- undMultilevelModellingSoftware(MIMOSE)
Social sciences; education Free (closedsource)
A model descriptionlanguage (derived fromfunctional languageparadigms)
Moduleco Multi-agent platform GPL JavaStarLogo Social and natural sciences;
Educators; for students to modelthe behavior of decentralizedsystems; user friendly for K-12students
MacStarLogo Social and natural sciences;Educators; for students to modelthe behavior of decentralizedsystems; user friendly for K-12students
Free (closedsource)
MacStarLogo
OpenStarLogo Social and natural sciences;Educators; for students to modelthe behavior of decentralizedsystems; user friendly for K-12students
Free for use anddistribution fornon-commercialpurposes (opensource)
StarLogo (an extensionof Logo)
StarLogoT Social sciences; Education; decentralized networks
Free (closedsource)
StarLogoT
StarLogo TNG(The NextGeneration)
Social and natural sciences;teaching basic computerprogramming skills
StarLogo TNGLicense v1.0 -(closed source) -the code may befreed upeventually. The original StarLogois apparentlygoing to be released under an open source licensesoon
StarLogo TNG language- a graphicalprogramming languageand a 3d world
NetLogo Social and natural sciences; Helpbeginning users get startedauthoring models
Free, not opensource; A quicksummary of thelicense is thatuse isunrestricted,includingcommercial use,but there aresomerestrictions onredistributionand/ormodification(unless youcontact UriWilensky toarrange differentterms)
SimPlusPlus Testing Base24 applications GPL Fully programmable withany language that cansupport activeXcomponents (e.g. C,C++, VB, VBA, Java, andothers), but noprogramming required
SimAgent (akasim_agent)
Research and teaching related to the development ofinteracting agents in environmentsof various degrees and kinds ofcomplexity; exploratory researchon human-like intelligent agents;systems involving large numbersof highly distributed fairlyhomogeneous relatively 'small'agents; primarily designed tosupport design andimplementation of very complexagents, each composed of verydifferent interacting components(like a human mind) where thewhole thing is embedded in anenvironment that could be amixture of physical objects andother agents of many sorts
Free (opensource);MIT/XFREE86 license (forpoploglibraries); maylater be replacedby GPL
Pop-11, like CommonLisp, is a powerfulextendable multi-purpose programminglanguage supportingmultiple paradigms.Within the Poplogenvironment Pop-11also supports programswritten in Prolog,Common Lisp orStandard ML
SimBioSys Agent-based evolutionarysimulations in both biology andthe social sciences
SOAR General purpose AI; human performance modeling;learning (including explanation-based learning)
BSD Soar 1 to 5 in Lisp; Soar6 in C; Java, C++, TCL
Sugarscape Social sciences; education GPL JavaSwarm General purpose agent based GPL Java; Objective CVSEit Social sciences; education Free (closed
source)Java
ZEUS Rules engine and scriptingenvironment; Distributed multi-agent simulations
Open source(read license)
Visual editors and codegenerators
1 An important note for the reader is that these are the primary domains for which thetoolkit has been designed. Note that many toolkits are used for more domains that just theirprimary domain. However, the secondary domains have extremely unequal and incompleterepresentation. Therefore, we do not attempt to classify toolkits further than their primarydomain.
2 Developer-defined interagent communications commands; built-in Java classes (suppliedby the AgentBuilder toolkit) and domain-specific Java classes provided by the developer. Allof these classes used by AgentBuilder agents are referred to as Project Accessory Classes(PACs); PACs can be written entirely in Java, or can be written in C/C++ and invoked via theJava Native Interface (JNI)
Appendix 3: Characteristics Per Platform - Platform Supports, User Support,and Website
PlatformPlatformSupports3 User Support Website
AgentBuilding andLearningEnvironment(ABLE)
OS/2; Windows95; Windows 98;Windows NT; andUNIX (any Java 2JVM)
Windows NT;Windows 2000;Windows XP;Linux; SunSolaris; anyplatform with aJava VirtualMachine
Consulting;training;example; FAQ;users manuals;defectreporting;mailing list
http://www.agentbuilder.com/Documentation/Lite/
Tryllian AgentDevelopmentKit (ADK)
Windows; Unix;Big Iron IBMmainframes4;anywhere thatthe Java StandardEdition version1.4 runs; SunJava RuntimeEnvironmentversion 1.3.1 or1.4; JDK 5.05;any platform onwhich Sun hasmade available aJVM; Windows2000; WindowsXP; Solaris;GNU/Linux;Additionally, theADK has beentested onOS/400 andOS/370. Apple'sOS X is notsupported, butpart of thedevelopment ofthe ADK is doneon OS X.
AnyLogic AnyLogic 6models arestandalone Javaapplications (orapplets) and runon any Java-enabled platformor in any Java-enabled browserwith thefollowing versionof JRE (JavaRuntimeEnvironment):JRE1.5.0 or later;Java plug-in(needed to runmodels in a Browser) isoptionallyinstalled with theJRE; WindowsVista, x86-32;Windows XP,x86-32; AppleMacintosh OS X10.4.1 or later,Universal; SuSEOpen Linux 10.2or later, x86-32;Ubuntu Linux7.04 or later,x86-32
Windows User's manual http://www.enib.fr/~harrouet/oris.html
oRIS IA32 Linux; PPCLinux; SGI Irix;and Windows
Documentation;examples inFrench; API
http://www.enib.fr/~harrouet/
PoliticalScience-Identity (PS-I)
Cross platformwith binariesavailable forwin32; Windows;Linux; PS-I is notcurrentlyavailable forMacintosh usersexcept viaemulation of aWindows, NT, orLinuxenvironment.
Documentation;selectedpublications
http://ps-i.sourceforge.net/
Quicksilver(now calledomonia)
JDK installation Examples; littledocumentation
http://www.xlog.ch/omonia
RecursivePorous AgentSimulationToolkit(Repast)
Java version 1.4,although a 1.3version forMachintosh OS Xis available. Torun thedemonstrationsimulations,you'll need a JavaRuntimeEnvironment(RepastS,RepastJ);platformindependent(RepastPy);Windows(Repast.net)
Jade's sim++ Available forMeiko and BBNmultiÂcomputersystems and canbe used on anetwork withSun3, Sun 4, andHP 9000workstations
Information notavailable
no longer available
SimPlusPlus Sim++ can beused with C codeor C++ code, butyou MUST have aC++ compiler.DOS; Windows(as a DOSapplication) orOS2 (as a DOSapp). TheSimPack software
IBM PC runningDOS/Windows orVersion of Unix(such as Linux orBSD); UnixWorkstations(SUN, SGI)
Selectedreferences;user's manualin toolkitpackage
http://www.cise.ufl.edu/~fishwick/moose.html
SimPack Any platform thatsupports C++;Technically, theprocessingenvironment issupposedlychecked for Java1.4 but Java 1.5seems to workfine. Simpackjhas been testedwith 1.5 andexhibits noissues. The SDKis preferred overthe JRE, as thiscould be usefulfor certain typesof Java code thatyou may bewriting. The SDKincludes a JRE
Macintosh OS XWiki; tutorials;examples;documentation;FAQ; selectedpublications;mailing lists
http://www.swarm.org/
VSEit To runsimulations: aJava enabledinternet browserlike NetscapeNavigator orMicrosoftExplorer. VSEit isknown to rununder NetscapeNavigator 4.06 orhigher, onWindows 95/98and Windows NT;to developsimulations: anyJava platformsupporting Java1.1.7.
Examples;users guide;defect list
http://www.vseit.de
ZEUS Windows 95;Windows 98;Windows NT;Windows 2000;Windows XP;Linux; BSD;UNIX-like OSes;Solaris
Documentation;author contact
http://labs.bt.com/projects/agents/zeus/
3 An important note for the reader is that we tried to look at each toolkits as completely and comprehensively as possible. However, ourstudy is not complete. In places where it is not complete, it is because the authors have not specified the complete granularity of theplatforms with respect to different operating systems.
4 Tryllian can offer paid support for running the ADK on IBM mainframes or AS/400 machines. Apple's OS X is not supported, but part ofthe development of the ADK is done on OS X. 5 If you need to run the ADK on JDK 5.0, please contact Tryllian. The ADK will not work outof the box with version 5.0 of the JDK. The ADK has also been tested with Bea's JRockit JVM and with IBM's JVM; both appear to supportrunning the ADK.
References
AGENT BUILDING AND LEARNING ENVIRONMENT (ABLE) Website.http://www.alphaworks.ibm.com/tech/able.
BALAN, G, Cioffi-Revilla, C, Luke, S, Panait, L and Paus, S (2003) Mason: A Java Multi-AgentSimulation Library. Proceedings of the Agent 2003 Conference, October 2003. pp59-64.
BELLIFEMINE, F, Caire, G, Poggi, A and Rimassa, G (2003) JADE - A White Paper. TILAB EXP insearch of innovation 3 (3) http://jade.tilab.com/papers-exp.htm.
BELLIFEMINE, F, Poggi, A and Rimassa, G (1999) JADE - A FIPA-Compliant Agent FrameworkProceedings of the Practical Applications of Intelligent Agents, 1999. pp97-108.
BIGUS, J, Schlosnagle, D, Pilgrim, J, Mills III, W and Diao, Y (2002) ABLE: A Toolkit for BuildingMultiagent Autonomic Systems. IBM Systems Journal, September 2002. pp350-371.
BONABEAU E (2002) Agent-based Modeling: Methods and Techniques for Simulating HumanSystems. Proceedings of the National Academy of Sciences of the United States of America,May 2002. pp7280-7287.
BORDINI R, Carlos da Rocha Costa, A, Hubner, J, Moreira, A, Okuyama, F and Vieira, R (2005)MAS-SOC: a Social Simulation Platform Based on Agent-Oriented Programming. Journal ofArtificial Societies and Social Simulation 8 (3) 7 http://jasss.soc.surrey.ac.uk/8/3/7.html.
BORSHCHEV A, Karpov Y, and Kharitonov, V (2002) Distributed Simulation of Hybrid Systemswith AnyLogic and HLA. Future Generation Computer Systems, May 2002. pp 829-839.
BORSHCHEV A and Filippov A (2004) From System Dynamics and Discrete Event to Practical
Agent Based Modeling: Reasons, Techniques, and Tools. 22nd International Conference of theSystem Dynamics Society, July 2004. pp959-966.
BRAIN AND HEAD MODELLING SYSTEM (BRAHMS) Website.http://sourceforge.net/forum/forum.php?forum_id=685983.
BRASSEL K (2001) Flexible Modelling with VSEit, the Versatile Simulation Environment for theInternet. Journal of Artificial Societies and Social Simulation 4 (3) 10http://www.soc.surrey.ac.uk/JASSS/4/3/10.html.
BREVE Website. http://www.spiderland.org/node/2602.
CARVALHO J (2000) Using AgentSheets to Teach Simulation to Undergraduate Students.Journal of Artificial Societies and Social Simulation 3 (3) 2http://www.soc.surrey.ac.uk/JASSS/3/3/forum/2.html.
CASTLE C and Crooks A (2006), Principles and Concepts of Agent-Based Modelling forDeveloping Geospatial Simulations. Working paper 110, Centre for Advanced Spatial Analysis,University College London, September 2006.
COLLIER N and North M (2004) Repast for Python Scripting. Proceedings of the Agent 2004Conference, October 2004. pp231-237.
COMMON-POOL RESOURCES AND MULTI-AGENT SYSTEMS (CORMAS) Website.http://cormas.cirad.fr/indexeng.htm.
CONTE, R, Gilbert, N and Simao Sichman, J (1998) MAS and Social Simulation: A SuitableCommitment. Lecture Notes in Computer Science 1534. pp. 1-9.
COUGAAR Website. http://www.cougaar.org/.
DEX Website. http://dextk.org/dex/index.html.
DISTRIBUTED OPERATOR MODEL ARCHITECTURE (D-OMAR) Website. http://omar.bbn.com/.
FREIWALD U and Weimar J (2000) JCA-Sim - A Java System For Simulating Cellular Automata.Proceedings of the Fourth International Conference on Cellular Automata for Research andIndustry: Theoretical and Practical Issues on Cellular Automata, 2000. pp47-54.
GILBERT N and Bankes S (2002) Platforms and Methods for Agent-based Modeling.Proceedings of the National Academy of Sciences. May 2002. pp197-198.
GNU Homepage. http://www.gnu.org/licenses/licenses.html.
GULVAS, L, Kosik, T and Corliss, J (1999) The Multi-Agent Modelling Language and the ModelDesign Interface. Journal of Artificial Societies and Social Simulation 2 (3) 8http://www.soc.surrey.ac.uk/JASSS/2/3/8.html.
HELSINGER, A, Thome, M and Wright, T (2004) Cougaar: A Scalable, Distributed Multi-AgentArchitecture. IEEE INTERNATIONAL CONFERENCE ON SYSTEMS MAN AND CYBERNETICS 2,October 2004. pp1910-1917.
HERMANS B (1997) Intelligent Software Agents on the Internet: An Inventory of CurrentlyOffered Functionality in the Information Society and a Prediction of (Near) FutureDevelopments. First Monday 2 (3) 123 http://www.firstmonday.dk/issues/issue2_3/ch_123.
IGEN Website. http://www.cognitiveagent.com/.
JADE Website. http://jade.tilab.com.
JADE'S SIM++. no longer available online.
JAS Website. http://jaslibrary.sourceforge.net/.
JAVA AUCTION SIMULATOR API (JASA) Website. http://sourceforge.net/projects/jasa/.
Chewing Gum and Duct Tape. Proceedings of the Agent 2005 Conference, October 2005.pp43-54.
LABORATORY FOR SIMULATION DEVELOPMENT (LSD) Website.http://www.business.aau.dk/lsd/lsd.html.
LESZCZYNA R (2004) Evaluation of Agent Platforms. Proceedings of the Fifth International JointConference on Autonomous Agents and Multiagent Systems, 2004. pp1063-1070.
LOMOW G and Baezner D (1991) A Tutorial Introduction to Object-Oriented Simulation andSim++. Proceeedings of the 1991 Winter Simulation Conference, December 1991. pp157-163.
LUKE, S, Cioffi-Revilla, C, Panait, L and Sullivan, K (2004) MASON: A New Multi-AgentSimulation Toolkit. Swarmfest 2004, Eighth Annual Swarm Users/Researchers Conference,May 2004.
LUSTICK I (2002) PS-I: A User-Friendly Agent-Based Modeling Platform for Testing Theoriesof Political Identity and Political Stability. Journal of Artificial Societies and Social Simulation 5(3) 7 http://jasss.soc.surrey.ac.uk/5/3/7.html.
MACAL C (2004) Agent-Based Modeling and Social Simulation with Mathematica and MatlabProceedings of the Agent 2004 Conference, October 2004. pp185-204.
MACAL C and Howe T (2005) Linking Repast and Computational Mathematics Systems:Mathematica and Matlab. Proceedings of the Agent 2005 Conference, October 2005. pp5-24.
MACSTARLOGO. Available from the StarLogo webpage: http://education.mit.edu/starlogo/.
MULTI-AGENT SYSTEM (MAGSY) Website. http://www-ags.dfki.uni-sb.de/~kuf/magsy.html.
MCINDOE B (2005) jECHO: A New Implementation Of Holland's Complex Adaptive SystemsModel With The Aim Of Seeking Answers To Some Fundamental Open Questions. Master ofScience Dissertation, February 2005. http://www.brianmcindoe.com.
NGUYEN, G, Dang ,T, Hluchy, L, Laclavik, M, Balogh, Z and Budinska, I (2002) Agent PlatformEvaluation and Comparison. II-SAS, Pellucid EU 5FP IST-2001-34519 RTD, Technical report,June 2002.
NORTH, M, Howe, T, Collier, N and Vos, J (2005) The Repast Simphony DevelopmentEnvironment. Proceedings of the Agent 2005 Conference, October 2005. pp159-166.
NORTH, M, Howe, T, Collier, N and Vos, J (2005) The Repast Simphony Runtime System.Proceedings of the Agent 2005 Conference, October 2005. pp151-158.
NORTH, M, Sydelko, P, Vos, J, Howe, T and Collier, N (2006) Legacy Model Integration withRepast Simphony. Proceedings of the Agent 2006 Conference, October 2006. pp95-106.
OBJECT BASED ENVIRONMENT FOR URBAN SIMULATION (OBEUS) Website.http://eslab.tau.ac.il/Research/OBEUS/default.aspx.
Social Simulation 4 (1) 5 http://jasss.soc.surrey.ac.uk/4/1/5.html.
PHAN D and Beugnard A (2001) Moduleco, a Multi-Agent Modular Framework for theSimulation of Network Effects and Population Dynamics in Social Sciences, Markets &Organisations. 8th Rencontre Internationale ACSEG (Approches Connexionnistes en SciencesEconomiques et de Gestion), October 2001.
POLITICAL SCIENCE-IDENTITY (PS-I) Website. http://ps-i.sourceforge.net/.
QUICKSILVER (NOW CALLED OMONIA) Website. http://www.xlog.ch/omonia/.
RAILSBACK, S, Lytinen, S and Jackson, S (2006) Agent-Based Simulation Platforms: ReviewAnd Development Recommendations. Simulation, September 2006. pp609-623.
REPENNING, A, Ioannidou, A and Zola, J (2000) AgentSheets: End-User ProgrammableSimulations Journal of Artificial Societies and Social Simulation 3 (3) forum 1http://www.soc.surrey.ac.uk/JASSS/3/3/forum/1.html.
SAMUELSON D and Macal C (2006) Agent-Based Simulation Comes of Age. OR/MS Today,August 2006. pp34-38.
SERENKO A and Detlor B (2002) Agent Toolkits: A General Overview of The Market and anAssessment of Instructor Satisfaction with Utilizing Toolkits in the Classroom. Working Paper#455.
SHELL FOR SIMULATED AGENT SYSTEMS (SESAM) Website. http://www.simsesam.de/.
SIERHUI, M, Clancey, W and van Hoof, R (2007) BRAHMS A Multi-agent Modelling Environmentfor Simulating Work Processes and Practices. International Journal of Simulation and ProcessModelling, 2007. pp134-152.
SONNESSA M (2003) JAS: Java Agent-based Simulation Library. An Open Framework forAlgorithm-Intensive Simulation. Industry And Labor Dynamics: The Agent-BasedComputational Economics Approach, October 2003. pp43-56.
TATARA, E, North, M, Howe, T, Collier, N and Vos, J (2006) An Introduction to RepastSimphony Modeling Using a Simple Predator-Prey Example. Proceedings of the Agent 2006Conference on Social Agents, October 2006. pp1-11.
TERNA P (2001) Creating Artificial Worlds: A Note on Sugarscape and Two Comments. Journalof Artificial Societies and Social Simulation 4 (2) 9http://www.soc.surrey.ac.uk/JASSS/4/2/9.html.
THORNGATE W (2000) Teaching Social Simulation with Matlab Journal of Artificial Societiesand Social Simulation 3 (1) forum 1 http://jasss.soc.surrey.ac.uk/3/1/forum/1.html.
TISSEAU J (2001) Virtual Reality - In Virtuo Autonomy Computer Science Thesis of the
TISUE S and Wilensky U (2004) NetLogo: Design and Implementation of a Multi-AgentModeling Environment. Proceedings of the Agent 2004 Conference, October 2004. pp161-184.
TOBIAS R and Hofmann C (2004) Evaluation of free Java-libraries for social-scientific agentbased simulation. Journal of Artificial Societies and Social Simulation 7 (1) 6http://jasss.soc.surrey.ac.uk/7/1/6.html.
TRYLLIAN AGENT DEVELOPMENT KIT Website. http://www.tryllian.com.
VSEIT Website. http://www.vseit.de.
VOS J and North M (2004) Repast.net. Proceedings of the Agent 2004 Conference, October2004. pp239-254.
XU H and Shatz S (2003) ADK: An Agent Development Kit Based on a Formal Design Model forMulti-Agent Systems. Automated Software Engineering, October 2003. pp337-365.
ZAUNER, G, Leitner, D and Breitenecker, F (2007) Modeling Structural - Dynamics Systems inMODELICA/Dymola, MODELICA/Mosilab and AnyLogic. Proceedings of the 1st InternationalWorkshop on Equation-Based Object-Oriented Languages and Tools, July 2007. pp 99-110.
ZEUS Website. http://labs.bt.com/projects/agents/zeus/ .