|
1
|
- ICPSR Complex Systems Lab
- August 16-18, 2005
- Kenneth Zick
- kzick@umich.edu
|
|
2
|
|
|
3
|
- Background
- What is Object-Oriented Programming? How does it relate to
agent-based modeling?
- Overview of Java
- What is RePast and what can it do for YOU?
- Demonstration of a RePast model
|
|
4
|
- Computer programming paradigms such as procedural/structural hit a
‘complicatedness’ barrier. For instance, C programs be=
come
unmanageable around 25-100,000 lines of code.1
- These programs give a whole new meaning to the Halting problem
|
|
5
|
- The object-oriented programming (OOP) paradigm emerged in the
mid-1980’s and allowed for programs of higher complexity. OOP became very popular wit=
h C++.
- OOP puts the focus on objects; the objects communicate with well-def=
ined
messages
|
|
6
|
|
|
7
|
- Objects
- The programmer designs a ‘class’ which can be instantia=
ted
into multiple objects
- Encapsulation
- Objects are like a ‘capsule’ protected from the outside
world. You can change=
the
internals without the rest of the program needing to know.
- Inheritance
- You can structure classes in a hierarchy from general to more speci=
fic
(organization -> educational -> university -> University of
Michigan)
- Polymorphism
- a single action can be
re-used in “many forms”
|
|
8
|
- Do the OOP concepts sound familiar?=
Somewhat analogous to the complex systems / ABM movements
- The engineering world is seeking to design ‘artificial’
systems of increasing complexity.&n=
bsp;
The traditional linear approaches have hit roadblocks of
complicatedness, brittleness.
The OOP approach takes inspiration from nature: individuals
(objects), decentralization, inheritance, robustness, re-use of stan=
dard
building blocks.
- Analogously, the scientific world is seeking to understand natural
complex systems. The
traditional linear/analytical/ statistical approaches have hit
roadblocks. Agent-based
modeling is a move towards the computational world: rule-based models
encoded in programs requiring computation.
- The two worlds are converging (hopefully not colliding!). OOP is an example of an
engineering technique that might help your science.
|
|
9
|
- Java is a modern, object-oriented programming language
- Lots of benefits
- Easier to learn than C++
- Portable (write once, run anywhere)
- Secure
- In additional to web-focused programs (applets & servlets), Java
allows for full standalone applications
|
|
10
|
|
|
11
|
|
|
12
|
|
|
13
|
- Standalone Java applications (such as a RePast model) can be deploye=
d to
the Web via Java Web Start.
Users can launch your model with a single click. No manual installation need=
ed.
- After downloading once, users can continue to launch your model loca=
lly;
Web Start will automatically detect and launch the most recent versi=
on
of your model. So you =
can
automatically deploy enhancements, bug fixes.
|
|
14
|
- An agent-based modeling toolkit
- Gives you built-in features to make modeling easier
- “a library of classes for creating, running, displaying and
collecting data from agent-based simulations”
- Supports “extremely flexible models of living social
agents”
- Free, open-source
- Level of sophistication is similar to Swarm, Ascape
- Three implementations:
- RePast Java
- RePast .NET – for programming in C#
- RePast Py – for simple models written with Python scripts
|
|
15
|
|
|
16
|
|
|
17
|
|
|
18
|
- Re-implementing Axelrod’s ‘Evolutionary Approach to
Norms’ published in JASSS
- Competitive management/business strategy
- Consumer Choice
- Decision Making in Closed Political Regimes (with 3D visualization!)=
- Artificial Stock Market
- For more info refer to the list of papers on the RePast site: http:/=
/repast.sourceforge.net/papers/index.html
|
|
19
|
- RePast homepage: http://repast.sourceforge.net/
- RePast interest group email list and archive: http://lists.sourcefor=
ge.net/lists/listinfo/repast-interest
- RePastJ Application Programmer’s Interface (API): http://repas=
t.sourceforge.net/api/index.html
- Sun’s Java Tutorial: http://java.sun.com/docs/books/tutorial/<=
/li>
- RePast Training Course at the Agent 2005 Conference on Generative So=
cial
Processes, Models, and Mechanisms: http://agent2005.anl.gov/
- Argonne National Laboratory & The University of Chicago, October
10-12, 2005
|
|
20
|
|