I have been working regularly with Repast (repast.sourceforge.net) but I am continuing to have difficulties in using it in a “pure” Java mode. I was fortunate to be able to arrange a conference call among the lead developer, Michael North, and Heather Dewey-Hagborg and Dan Shiffman. It was recommended that I focus on the “ReLogo” tools built into RePast, which are essentially a version of the Logo programming language. Unfortunately, I have been unable to get even a very simple Java application to run, even after importing a large number of the RePast JARs and working through the API documentation. Heather spent significant time with me on trying to move forward, but I am still experiencing problems. I have reached out to Dr. North and hope to hear back from one of his colleagues.
In the meantime, following the advice of my thesis advisor, Kathy Wilson, I have also begun drafting out a paper independent of the development work. Perhaps the biggest hurdle to my thesis is not so much the technical problems (although they are significant), as how to model the law effectively. By definition, human laws (as opposed to laws of science) are abstract and subject to enormous interpretation. As a result, representing them in a computer simulation has always been extremely difficult.
The classic example that highlights this issue is the rule that “No vehicles are permitted in the park.” This should seem like an easy issue to model — test all “objects” that enter the part and, if they are vehicles, then “flag” this as a violation of the law. The problem is that what happens when someone decides to place a boat in the park as a statue? Now the rules must be expanded. What happens when a helicopter flies overhead? The problem becomes one of constant ad-hoc rule making.
I believe that in order to simulate the law, it would be more effective use a different approach. Namely, to model the behavior of human beings (or corporations) and view laws as (1) positive and negative influences on human behavior, and (2) barriers and entry-ways that are analogous to real, physical structures.
In other words, think of the law as a set of incentives and disincentives for behavior AND as a structure that actors must navigate. Those structures would be “semi-permeable” meaning that actors can choose whether to move around them or through them.
This also potentially leads to a predicate logic representation of the law and human behavior. Specifically, that law and human behavior could be represented as a series of predicates such as:
∀x: P(x) ∃Q(x): Q(x) ¬ L (for a population P(x) there exists a sub-population Q(x) that does not obey the law).
I’m not fully sure this a helpful approach, but it does lend itself to modeling.