swarm-modeling
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Toolkit discussions at Agent 2002


From: Burkhart Roger M
Subject: Toolkit discussions at Agent 2002
Date: Thu, 17 Oct 2002 16:01:52 -0500

On Thu, 3 Oct 2002 address@hidden wrote:
> Could you or Roger post a summary of the discussion afterwards?  I
> would have liked to attend; but, I can't afford it.

I promised the group at the Agent2002 discussions last week that
I'd write my own version of a summary, so I'll copy it here to
swarm-modelling to continue the discussion that Glen and Gulya
already started.  The discussions covered a lot of ground including
many possibilities to coordinate across the various agent-based
toolkits, so this report will probably end up fairly long.  This
message will be only the report; I'll keep any discussion for other
messages.

As Gulya indicated, the intent of all these discussions was definitely
to cover more than just RePast.  University of Chicago and Argonne
helped to sponsor and host the Agent2002 event (Social Agents: Ecology,
Exchange & Evolution, www.agent2002.anl.gov), but went out of their way
to lift the discussion to a wider and longer-range discussion of
toolkits and general needs of the agent-based modeling community.

A bit of news.  It was announced that both the toolkit-oriented
sessions and the main conference (a whole series of events from Monday,
October 7 through Saturday, October 12) were being viewed as potential
early activities of a new society that is in process of being formed.
Here are some excerpts from an announcement sheet:

  There is a global initiative underway to build a professional society
  with a focus on computational social science.  The new organization
  is provisionally named the International Society for Computational
  Social and Organizational Science (ISCSOS). ... Kathleen Carley and
  Nigel Gilbert are arranging for the renamed Compuational Social and
  Organizational Science (Kluwer) and the online Journal of Artificial
  Societies and Social Simulation, respectively, to be associated with
  with ISCSOS.
  ...
  The first international conference will potentially be organized as
  early as 2003.
  ...
  It is expected that ISCSOS will have sections that support
  intellectual interchange in particular areas of modeling and
  research, including the sponsorship of specialized conferences
  or conference tracks.  Some tentative areas of section activity
  include:
    Methods, Techniques, and Toolkits       Mike North  address@hidden
    Application Simulation               Charles Macal  address@hidden
    Compuational Social Theory    David Sallach  address@hidden

  Agent2002 supports the development of ISCSOS and, in particular,
  these sections. ... If you are interested in participating in one
  of these ISCSOS sections, please email the relevant contact person.
  For general announcements regarding ISCSOS developments and activities,
  please periodically check JASSS.

Mike North of Argonne National Lab organized all the toolkit sessions
in line with their potential role in supporting the ISCSOS section he's
leading.  Paper sessions on Friday and Saturday were also loosely
organized under the other section divisions.

The new ISCSOS group definitely expressed interest in engaging with
the whole community of agent-based modelers concerned with tools,
ideas, and issues relevant to their own community, and this lent a
broader tone to all the discussions than just particular toolkits.

Monday was organized by Mike North as a Toolkit Developers Meeting.
Besides Mike, toolkit and other representatives present were:

  Charles Macal, Argonne National Laboratory
  David Sallach, University of Chicago Social Science Research, RePast
  Nick Collier, University of Chicago Social Science Research, RePast
  Tom Howe, University of Chicago Social Science Research, RePast
  Roger Burkhart, Swarm Development Group, Swarm
  Laszlo Gulyas, Harvard University/Lorand Eotvos Univ., various toolkits
  Seth Tisue, Northwestern University, NetLogo
  Uri Wilensky (afternoon), Northwestern University, NetLogo

NetLogo, for those not familiar, is a new version of the original MIT
StarLogo that is being developed at the Center for Connected Learning at
Northwestern University (http://ccl.northwestern.edu/netlogo/).  RePast
and Ascape (covered later in the week) should already be familiar to the
Swarm community.  In addition to the toolkit representatives, there was
an expanding group of a half-dozen or so people who were attending a
RePast tutorial the next two days but arrived early to listen in and
participate in the panel discussions.

The day was organized as a series of four panels, "Where Are We Today"
"Where Should We Be in One Year/Five Years" and "How do we get there."
Each was framed and introduced by one of the toolkit representatives
with 3-4 others expanding their own points.  The whole panel lineup is
on the program at the Agent2002 web site.  Since many of the participants
echoed each other points throughout the panels (which stretched out
over a whole day) I won't try to give blow-by-blow of each session,
but give my own sense of key points that anyone made without being
specific as to who said what in which session.  Since this is also only
a sample of what I noted myself, I invite the others who were there to
add their corrections or additions to anything I say.  Here goes; the
numbering is just my own random order:

1) There is a sense that we are getting much closer to where we need
   to be in a first generation of tools, as reflected by the stability
   being reached in all the toolkits.  This current stage of tools,
   however, may reflect only a "local optimum" that indicates a
   possibility to move to other places entirely in the toolkit space.

2) One big issue is the gap between the modeler and the model
   builder or programmer.  Methods are needed to better capture and
   translate the intent or concepts of a model into its implementation
   detail, or to eliminate this translation entirely.  While more
   declarative ways to capture the model structures might be
   prepackaged, this still seems to be at a cost of flexibility in
   constructing custom models that Swarm and RePast aim at.  A major
   goal of NetLogo is to eliminate any difference between the modeler
   and programmer at a possible restriction of flexibility but a great
   increase in accessibility.  There's a big difference between
   projects with one modeler/programmer vs. larger projects with
   multiple people in specialized roles.

3) Agent-based modeling has definitely turned a corner in acceptance
   as a modeling and research technique.  Though it may still be
   viewed as "on the edge of the periphery" there are whole communities
   that have built up, often across disciplines as aided by the common
   toolkits.  The toolkits have served an initial purpose in aiding
   people doing what they need to do.

4) There is still lots of confusion by newcomers to the community
   when they encounter agent-based modeling through the various
   toolkits they are pointed to.  There are opportunities for training
   and community discussions that focus on principles, methods and
   techniques that aren't linked just to particular toolkits, as
   indicated by the number of people who cross-subscribe to the
   various toolkit lists.

5) There still hasn't been a lot of progress in individual disciplines
   building their own domain-oriented frameworks or libraries, with
   some exceptions such as social network models in RePast.  Though
   there has been a lack of such organized efforts, new software
   techniques such as aspects or patterns may be useful to bridge
   the abstraction gaps of frameworks that still have to drive
   executable code out of the high degrees of customizability that
   may be generated from cross-cutting domain specifications.

6) To continue its advance on many fronts, agent-based simulation
   should expand to integrate with various traditional simulation
   techniques (both discrete-event and continuous simulations, for
   example) and to related roles of agent-based computing such as
   agent-based optimization.  Agent-based modeling still seems
   largely disconnected from Multi-Agent Systems researchers though
   this may differ somewhat in Europe.  Real-time and "people-in-
   the loop" simulations (such as NetLogo is developing) are further
   possibilities to take agent-based modeling and simulation beyond
   current boundaries.

7) Methods for effective use of agent-based simulation in various
   roles of both research and application need more systematic
   treatment, including techniques of validation and verification,
   which are sometimes not even addressed or mentioned in published
   models.

>From this summary of "where we are" I'll switch to the various
timeframes of "where we need to go" including specific action
proposals.  These were discussed not just during the panels but
throughout the rest of the week, especially after Thursday when
all the toolkit developers reconvened to present overviews of
their respective toolkits to the general conference audience.

Tuesday and Wednesday were a RePast tutorial that I did not stay
around for; it attracted a capacity turnout of 25-30.  Significantly
more people arrived for the "Methods, Toolkits, and Techniques Day"
of the main conference on Thursday, followed by even more for the
paper sessions on Friday-Saturday.

Individual toolkit overviews were presented Thursday for the larger
general audience.  These sessions contained more detailed status
and directions of individual toolkits than discussed in the Monday
panels, so I'll summarize some of these before going on to the
broader discussion of future toolkit directions.  The four toolkit
presentations and demos were on Swarm, RePast, Ascape, and NetLogo.

I gave a presentation on "Swarm: An Eight-Year Design Perspective"
that combined a general history and overview with a demo, a review
and assessment of original design goals, and some of the options
for future directions.  Many of the basic design principles of
Swarm, including dynamic schedules of actions on an object-oriented
representation, have proven successful and served as a model for
other toolkits as well.  The role of a common toolkit in forming
a nucleus for communities of agent-based modelers has also been
well-proven.

On more specific technical goals of Swarm, many of its more elaborate
structures, to support complex mixing of schedules and activities under
explicit concurrency semantics, including distribution across multi-level
swarms, haven't been extensively utilized by most models, and partly as
a result still aren't as usable or fully implemented as originally
intended.  They were also intended to support execution on parallel
and distributed hardware, which remains a future option.  Further open
challenges include supporting agents that build their own definitions
of structure and behavior at runtime to create a capacity for true
open-ended evolution, and for the general model of concurrent agent
interaction to stand as a self-defining model of computation in its
own right, rather than having to rest on some other programming layer.
Today, these elements of original design vision may be more appropriate
for new research than for direct incorporation into a production
toolkit that has its own user base.

For a more realistic set of options for future directions, I also
used some of the slides on "Next Generation Swarm" that Marcus
presented at the ALife VII conference in August 2000 (available at
http://www.swarm.org/alife7/img0.htm).  These present the option
to run Swarm as a browser plug-in for web or desktop delivery
under the Mozilla framework, including representation of the
model as an XML document tree with multi-language scripting
capability against a COM interface.  These capabilities have already
been developed and demonstrated in various forms including in
collaboration with the IMT project of Ferdinando Villa, and so
might be included in upcoming releases of pending Swarm code.

Seth Tisue, along with a couple of the graduate students who are
also part of Uri Wilensky's Center for Connected Learning group at
Northwestern, gave an overview and demo of NetLogo (home page
at http://ccl.northwestern.edu/netlogo/).  NetLogo runs in a pure
Java environment like the most recent MIT StarLogo version, and
implements the same Logo language, but is a separately developed
modeling environment with its own funding directed at use by
students.  There is a library of 80+ extensively documented
model examples that include many classic agent-based simulations
as well as others that help the goal of system-oriented thinking.
Like the original StarLogo, it provides fully interactive model
development, but they also want to go beyond strict 2-D spaces
and are adding features like a "BehaviorSpace" for parameter
sweeping of more controlled experiments.  HubNet is a new project
for classroom participation as part of agent-based models using
handheld wireless devices such as TI-83+ calculators.  NetLogo has
a large and growing user community due to its use in schools.
It is available free for educational and research use but not yet
with source of the underlying implementation.

Miles Parker of BiosGroup presented Ascape and gave its updated
status.  BiosGroup has now licensed the rights to Ascape and invested
in significant additional development, which will result in public
release of a significantly upgraded Version 3.0 by the end of 2002.
In addition to generalizing the abstract patterns of its organizing
"scape" concept, capability is being added in specific areas such
as GIS.  They envision a whole suite of Ascape "Line of Business"
modules around a common core.  The common core will remain available
and free of license fees for academic use, but other licensing has
not been resolved.  A new feature permits adjusting the observed
running speed of a simulation.  Miles views Ascape as representing an
80/20 or 95/5 solution for the agent modeling features that people
really or typically use, with some tradeoff in flexibility.

Nick Collier and Tom Howe presented a summary of RePast including
current developments.  There's a new 2.0 version almost ready to
be released.  Its scheduling upgrades include floating point time
values and support of asynchronous threads, such as Mike North would
like to use to target parallel execution.  Its scheduling model now
includes events that happen over a duration, also to aid distribution.
There have been many requests for GIS capability, both raster and
vector, and work is in progress as part of a goal to generalize the
topology of models.  Major new effort has gone into a new SimBuilder
interactive model builder (successor to Evolver) that includes that
ability to write object behavior in a scripting language called
NQPython (for Not Quite Python) that Nick translates to the
underlying Java environment.

With all this background out of the way, I'll continue to the
discussion of potential cross-toolkit directions and initiatives.
These occurred mostly at the Monday panels but continued throughout
the week, including a lunch on the final Saturday with Gulya, Nick,
Tom, Miles, and me.

>From the beginning of the Monday discussions, all the discussions
were very constructive in seeking ways to unify efforts and build
on the strengths of the various toolkits and their various user
communities.  Some of the specific possibilities of continuing
action and coordination included the following:

1) Among those already building on the "Swarm-like" model of
   schedules, actions and objects (especially RePast and Swarm,
   but could include any others), explore the possibility of
   documenting and standardizing the common concepts expressed
   in each of them.  This was a direct continuation of discussions
   already underway after suggestions in the last couple months
   by Glen Ropella, who suggested that this common structure
   might go to the point of standard Java APIs that could be used
   by developers of either Java Swarm or RePast.  Among the group
   there was interest in possibly taking it to the point of common
   APIs, but broader interest in capturing the concepts in a more
   language-independent or abstract form that could serve additional
   needs besides just programming uniformity, such as targeting
   different execution back-ends from a common GUI simulation builder,
   and making more explicit the assumptions behind models in a more
   explicit or declarative form than just program code.  There is
   some interest in reducing models to underlying mathematical
   formalisms and using formal specification languages such as
   Object Z, but also possibly expressing model concepts in UML or
   as vocabularies in XML (which could serve as a form in which
   to generate model "documents" for execution by an engine).

   Exploring these various paths is one of the most direct
   recommendations to come from the discussions, and so far at
   least the RePast and Swarm groups have offered to try to organize
   some sort of followup activity probably including face-to-face
   meetings, but with all further details still to be defined.

2) Try to provide a less fragmented path of entry for new agent-based
   modelers into the various toolkit communities, including places
   where more general principles and important techniques and issues
   that span the toolkits can be discussed.  Some of the classes and
   workshops that Argonne, University of Chicago, and SFI have held
   over the last year have tried to explain and position the various
   toolkits, but more can be done to help fill the need for more
   complete and accessible training.  Existing events such as SwarmFest
   have long tried to address the broader agent modeling community
   and not just Swarm, but the Swarm Development Group would have to
   modify its charter to shift fully to a broader cross-toolkit role
   than its primary mission of supporting Swarm.  As part of the
   new ISCSOS section, Argonne may set up some new mailing lists that
   focus on broader modeling issues than just those tied to toolkits.
   The toolkit events and discussions, however, offer an unusually
   broad umbrella across disciplines.  This unique interaction is a
   real value that shouldn't be lost, but the quality and relevance
   of individual application models is best evaluated within the
   disciplines themselves.

   While there was broad agreement on the general needs, these haven't
   yet been translated into a more fully coordinated plan for reaching
   out across all the different agent modeling communities.  From the
   discussions it's not clear how much is desired or realistic.
   It's harder all the time to really say who all these communities
   currently are and the relative usage of different methods and tools
   and current needs.  I suggested that the upcoming SwarmFest 2003
   (April 13-15) might be well-timed to follow up on cross-toolkit
   strategies and discussions that it has helped to focus before.
   Some concrete things that could mark progress are common course
   materials, published books, web sites, discussion lists,
   repositories of best practices, patterns and architectural
   templates, and minutes or proceedings of various events.

3) On the technical platform for models, web delivery is an important
   need regardless of language.  For quick prototyping and research
   as well, scripting rather than low-level programming is getting
   more and more interest.  Encouraging access and delivery of models,
   from modelers to model builders to users, will help grow the larger
   community.  Whatever engine is behind the scenes may increasingly
   be hidden behind an integration and delivery framework.  The need
   for hybrids of agent-based models with GIS and other non-agent
   models may put a priority on interoperation across boundaries that
   divide current implementations.

   This isn't really yet a recommended action at all, so much as a
   suggestion to continue exploring the possibilities and sharing the
   results in making different kinds of models work together, and
   expanded outreach to other kinds of frameworks than just those
   represented in this agent modeling group, including methods for
   direct interoperation across toolkits.

4) Don't assume that any of the toolkits represents an endpoint of
   where they need to be, or that a narrower and more consolidated
   range of toolkits is a good thing.  These may all be local optima
   due to be replaced by other things entirely, especially the longer
   the horizon of possible futures that is considered.  The impact
   on how we even conceptualize the problems we try to model is too
   early to think we can draw boundaries around anything.  We need
   to keep exploring where all the toolkits run out of added value
   or create actual barriers that make it better or easier to just
   program a model directly.

   The most concrete suggestion was to revisit the question of whether
   we're at a local optimum another year from now.

5) Look at ways to fund all the range of things that could be done.

Anyone else who was present, please feel free to add elaborations,
corrections, or additions.

--Roger



                  ==================================
   Swarm-Modelling is for discussion of Simulation and Modelling techniques
   esp. using Swarm.  For list administration needs (esp. [un]subscribing),
   please send a message to <address@hidden> with "help" in the
   body of the message.
                  ==================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]