I am trying to integrate RePast Simphony with Processing to build some legal simulations that would be useful pedagogical tools for law students and non-lawyers. These would be sandbox-like simulations of interaction between actors (people, corporations or other autonomous entities) and legal processes (legislation, law enforcement, regulatory entities, or other legal frameworks).
A very simple example – a “Jaywalking” sim – this would be a extremely simple simulation of illegal pedestrian traffic crossing and the impact that regulatory law (the rule against jaywalking), torts (the penalties for injuring someone) and law enforcement would have on group behavior. The three classes of actors would be: (a) pedestrians, (b) vehicles, and (c) police. The rules would be modifiable by the user and could include the ability to change (a) the penalties for getting caught jaywalking, (b) the penalties for hitting a pedestrian, (c) the number of police allocated to watching for jaywalking. As a hypothesis, there would be an optimality point, above which, increased penalties or law enforcement would not be effective. The purpose of the model would be a simple demonstration of the “there ‘ought to be a law” fallacy (e.g., by creating a law, we can always affect individual behavior).
A very complex example – an Intellectual Property simulation — actors would include (a) content creators (artists), (b) content consumers, (c) content owners, (d) content aggregators / distributors, (e) enforcement entities (public and private). Rules would be, again, modifiable by users and could include (a) ease of “protecting” ideas, (b) ease of “pirating” ideas, (c) cost of generating ideas, (d) penalty for being caught stealing ideas.
Progress – I have been attempting to build a simple RePast model in Eclipse without the using full RePast Simphony / Eclipse build. In other words, a simple RePast model that runs completely in Java. From there, I hope to move to Processing. Unfortunately, I have been having some difficulty with this. Although I have copied ALL of the RePast JARS into a new, clean Eclipse build, I have not been able to move execute within Eclipse, primarily because I can’t seem to understand where the MAIN class is built — I have tried using the context_constructor classes as the foundation for MAIN without success.
Next Steps – I could use some help moving to straight Java. From there, I will need to understand the RePast classes better, but I believe that the best step would be to combined the Continuous Space and the Grid classes together to be initialized as a part of the size(x,y) class that Processing uses. Since Processing is essentially a screen based tool, (a) pulling appropriate x and y out of the GRID class and (b) mapping it to the screen would be critical.