[PDF] [BIB] [DOI]
Designing decentralized software applications for a wireless network environment offers harsh challenges to the software engineer. All of the usual difficulties associated with a distributed system are present, but are amplified by the inherent dynamics and uncertainty of the wireless network. This paper takes an agent-oriented software engineering perspective in considering how to design decentralized software systems for a mobile ad hoc network (MANET) of resource-constrained devices. Specifically, the authors codify within the context of a software design pattern the concept of an agent swarm. Swarms of mobile agents have been used in the development of applications to support coordination and collaboration in a live MANET test bed. Work is underway to transition some of this technology into use by public protectors as part of the Philadelphia area urban wireless network testbed. The objectives of this paper include motivating the need for a swarm-based approach to distributed software for wireless environments and discussing the critical issues involved with mobile agents swarming on a MANET. For example, one such design issue is the selection of migration patterns for use by the swarming agents. Several different types of itinerary patterns are evaluated within the context of a mobile agent swarm.