Distributing RePast agent‐based simulations with HLA

R. Minson, G. K. Theodoropoulos
2008 Concurrency and Computation  
Large, experimental Multi-Agent System (MAS) simulations are highly demanding tasks, both computationally and developmentally. Agent-toolkits provide reliable templates for the design of even the largest MAS simulations, without offering a solution to computational limitations. Conversely, Distributed Simulation architectures offer performance benefits but the introduction of parallel logic can complicate the design process significantly. The motivations of distribution are not limited to this
more » ... uestion of processing power. True interoperation of sequential agent-simulation platforms would allow agents designed using different toolkits to transparently interact in common abstract domains. This paper discusses the design and implementation of a system capable of harnessing the computational power of a distributed simulation infrastructure with the design efficiency of an agent-toolkit. The system permits integration, through an HLA federation, of multiple instances of the Java-based lightweight-agent simulation toolkit RePast. Our main contribution is in abstractly defining the engineering process necessary in creating such middleware, and in reporting on our experience in the specific case of the RePast toolkit. Large scale, distributed simulation can offer a solution to both problems of toolkit interoperation and model scalability. Distributed simulation has received an explosion of interest in the last decade, as a strategic technology for both speeding up simulations as well as linking simulation components of various types at multiple locations to create a common virtual environment. The culmination of this activity (which originated in military applications where battle scenarios were formed by connecting geographically distributed simulators via protocols such as the Distributed Interactive Simulation protocol (DIS)), has been the development of the High Level Architecture (HLA) [14] . HLA, which is now an IEEE standard, facilitates interoperability among simulations and promotes reuse of simulation models. Using HLA, a large-scale distributed simulation can be constructed by linking together a number of (geographically) distributed simulation components (or federates) into an aggregate simulation (or federation). This paper investigates the problem of integrating an agent toolkit into HLA in order to achieve both interoperability and scalability. The paper introduces HLA REPAST, a middleware layer between the HLA and the sequential MAS simulation toolkit RePast [7], assessed by [25] as the most effective development platform currently available for large-scale simulations of social phenomena. The rest of the paper is organized as follows: the next section provides a short overview of HLA and section 3 discusses the RePast toolkit, describing its nature as a sequential simulation platform; section 4 discusses the fundamental issues that need to be addressed to achieve a mapping between sequential and distributed simulation platforms; section 5 describes the HLA REPAST system itself; section 6 illustrates the application of the system in an implementation of a classic MAS benchmark model; section 7 discusses the performance profile of the finished system; finally, section 8 presents some conclusions on the design of such systems in general and discusses proposed future work. THE HIGH LEVEL ARCHITECTURE The High Level Architecture (HLA) interoperability protocol [19, 1] provides the simulation executive designer with a mechanism for solving both the problem of scalability and of interoperation. The HLA is a protocol based around the notion of the 'federation'. An individual federate in a given federation is an instance of some simulation executive, which is currently modelling a portion of the larger simulation. The federates may be written in different languages and may run on different machines. The federates in a federation communicate through a central 'Runtime Infrastructure' or RTI, and synchronise their local schedules with the global schedule through one of the RTI's time management services . Each federate shares in the global model through a common semantic understanding of the data delivered to it by the RTI. The structure of this data is defined in a 'Federation Object Model' (FOM), while the actual interpretation of this data is the responsibility of the federate itself. This semantic independence of data in the HLA, provides the basis for model interoperation. Within a given FOM the classes of objects, which are to be used in a specific federation, are defined by a name (unique within the hierarchy) and a set of un-typed attributes. At run-time the federate interfaces with the RTI through the use of an RTIambassador instance. This object provides access to the remote invocation services provided by the HLA specification. In a similar way, the federate itself must provide an implementation of the FederateAmbassador interface, which accepts callbacks from the RTI to notify of events pertinent to this federate. Communication between the RTI and the federates in a simulation takes place in the language of the HLA, using the specific semantics defined by that federation's FOM. State changes in general are communicated from federate to RTI via invocations of the UPDATE ATTRIBUTE VALUES service. In response to this invocation, the RTI will invoke the REFLECT ATTRIBUTE VALUES callback on the FederateAmbassadors of other federates. This call contains a set of
doi:10.1002/cpe.1280 fatcat:wvdks6444ba3tpvmfd4jzedwrm