a modular implementation framework for code mobility
With the growing popularity of open distributed applications, mobile agents have naturally emerged as the fundamental technique for tackling the complexity of the emerging applications. However, the pervasive nature of code mobility issues implies that their implementation cannot be modularized based only on object-oriented (OO) abstractions and mechanisms. In fact, programmers of complex mobile agent systems frequently evidence the presence of mobility tangling and scattering in the modules of their systems. Despite these modularity breakdowns caused by code mobility, the developers have mostly relied on OO application programming interfaces (APIs) from mobility platforms and on the Java programming language. As a consequence, there is a pressing need for empowering developers with a modular implementation framework that supports a transparent, flexible incorporation of code mobility-specific capabilities into their applications. This paper presents an aspect-oriented software framework, called AspectM, that ensures: (1) improved modularization of the code mobility issues, (2) a seamless introduction of code mobility into stationary agents, and (3) overall enhanced variability of the mobile agent systems, such as flexible integration of these systems with distinct mobility platforms. The usefulness and usability of the AspectM framework has been assessed in the context of two medium-sized case studies from different application domains, and through its composition with two mobility platforms.
mobile agent mobility platform aspect-oriented programming