An approach, often adopted in the multiagent-systems community, is to start from scratch, designing agents and platforms with provable properties using specialized logics and/or sophisticated simulation models. However, this approach is particularly difficult when dealing with open systems containing adaptive agents. This is because the designer can't be sure how other agents will behave in future states of the system. Worse, much of the desirable behavior of the system as a whole, such as high levels of altruism or cooperation, often result from emergent properties that are little understood and not easily reducible to individual behaviors. However, researchers are making progress with this approach.
['David Hales', 'Simon Patarin']
Computational sociology for systems "in the wild": the case of BitTorrent