A MULTI-AGENT THEORY FOR SIMULATION Jacinto D´ avila 1 , Mayerlin Uzc´ ategui 1,2 and Kay Tucci 1,2 1 CeSiMo. Facultad de Ingenier´ ıa 2 SUMA. Facultad de Ciencias Universidad de Los Andes M´ erida, 5101. Venezuela email: {jacinto,maye,kay}@ula.ve ABSTRACT This paper discusses a multi-agent simulation theory which is serving as a formal specification to guide the develop- ment of a multi-agent simulation platform. We have ex- tended an existing simulation language: GLIDER, with abstractions to model systems where autonomous entities (agents) perceive and act upon their environments. Thus far, we have completed the development of the platform that implements the theory and we are now applying it to the study of multi-agent systems. In particular, an Imple- mentation on Biocomplexity is briefly discussed in the pa- per. KEYWORDS Multi-agent simulation 1 Introduction This paper discusses a multi-agent simulation theory which is serving as a formal specification to guide the develop- ment of a multi-agent simulation platform. We have extended an existing simulation language: GLIDER [1], with abstractions to model systems where autonomous entities (agents) perceive and act upon their environments. Those abstractions are based on the simula- tion theory and provide the semantics for a new family of multi-agent, simulation languages. A theory is a “supposition or system of ideas explain- ing something, esp. one based on general principles inde- pendent of the particular things to be explained” (Oxford Dictionary). Mathematicians have another definition: “A collection of propositions to illustrate the principles of a subject” (.ibid). In the more accepted simulation theory [2], one finds a general explanation of what a system is, its components and its transitions rules, stated all as a collec- tion of formalized, mathematical propositions. The goal of [2] and the others with that formalization (.ibid), besides supporting the explanations that are expected from a the- ory, was to provide the developers of systems simulators with a specification that says what a simulator must do and how it must behave to simulate a system. In this paper, we present a multi-agent, system- simulation theory with exactly those purposes and with similar style. This theory has served as the basic specifi- cation for the computing simulation platform GALATEA [3, 4, 5] and we also expect it to enrich the foundations for our studies on the problem of structural change, where agents are regarded as important sources of change in the structure of systems. The presentation of the theory is organized as follows: The section 2 briefly describes the basic simulation frame- work we are extending: GLIDER. The section 3 offers a review of Feber and M¨ uller’s multi-agent theory [6] (here- after F&M). In the same section, we re-introduce the hi- erarchy of models of agents proposed by Genesereth and Nilson[7] (hereafter G&N). We combine and extend both hierarchies by describing, following [8], an agent that is both reactive and rational (not accounted for by G&N[7]). In the section 4, we present an abstract machine as the specification of that agent type and briefly explain how this specification has been integrated into the multi-agent sim- ulation theory. We also develop, in section 5, the mathe- matical description of a multi-agent, rational system which serves as the specification for the simulation platform. Fi- nally, in the section 6, we sketch an example to illustrate the family of multi-agent, programming languages used in GALATEA[3] and whose semantics is provided by the the- ory. 2 GLIDER: The starting point In GLIDER a system is conceived as a structured collec- tion of objects that exchange messages. Such message ex- change and processing is closely related to the scheduling and occurrence of events as in DEVS [2]. Modelling a system (for simulation purposes) amounts to write a code describing a network of nodes. Those nodes state the behaviours of the objects in the system and how, when and with which they exchange messages. GLIDER of- fers to the modeller-programmer a set of node types (Gate, Line, Input, Decision, Exit and Resources give its name to the language, but there are others) which the modeller- programmer instantiates to represents the objects he or she wants to simulate. In GALATEA, we have enriched GLIDER semantics