Agent-based approaches provide an invaluable tool for building decentralized, distributed architectures and tying together sets of disparate software tools and architectures. However, while the agents themselves have been gaining complexity, and agent specification languages have been gaining expressive power, little thought has been given to the complexity of agent societies, and languages for describing such societies. In this chapter, I propose a declarative language designed specifically for describing in an expressive way a variety of social interactions. I attempt to avoid the fallacies of artificial restriction, and similarly confounding under-specification of the design domain, yet constructing a rigorous, machine- interpretable semantics. It is my hope that introduction of such semantic will lead to a constructive dialogue between communities of agent-based social modeling and agent-based software design, and lead to a greater integration of agent development toolkits and agent-based modeling toolkits.
Social Networks And Social Agents
In this work, I draw heavily on the notions of social networks, and social network analysis. Social network analysis (SNA) can be described as an application graph-theoretical information representation and combinatorial algorithms to study of a gestalt of human systems.