Fundamentally  I'm not sure that agent-based modeling amounts to anything other than object-oriented programming for disaggregated simulations --- which is a very useful thing  of course (I've expanded on this point in my review chapter on methods and techniques of complex systems theory