From a software engineering perspective, agent systems are a specialization of object-oriented (OO) systems, in which individual objects have their own threads of control and their own goals or sense of purpose. Engineering such systems is most naturally approached as an extension of object-oriented systems engineering. In particular, the Unified Modeling Language (UML) can be naturally extended to support the distinctive requirements of multi-agent systems. One such requirement results from the increasing emphasis on the correspondence between multi-agent systems and social systems. Sociological analogies are proving fruitful models for agent-oriented constructions, while sociologists increasingly use agents as a modeling tool for studying social systems. We combine several existing organizational models for agents, including AALAADIN, dependency theory, interaction protocols, and holonics, in a general theoretical framework, and show how UML can be applied and extended to capture co...
H. Van Dyke Parunak, James Odell