Measuring the Complexity of Mobile Agents Designed with Aspect/J
InSITE 2003 • Volume 3 • 2003
This paper describes research in measuring the code complexity of mobile agent applications designed with aspect-oriented programming (AOP) as captured in the AspectJ™ language. The modularized code encapsulating agent interactions is characterized by class hierarchies which are shared structures. Mobile agent design suffers from frequent changes in interaction protocols which leads to chaotic development. Additional subclassing, modification to protocols, restructuring of the class hierarchies, changes to visibility of attributes and methods overloading result in increased complexity of the code and disorder. Our experonce with fine tuning of protocols shows that the probability that a subclass will not consistently extend the protocol content of its superclass is increasing with the depth of hierarchy. The tools like Hyper/Jand Aspect/J support the separation of concerns thus allowing different approach to evolving the protocol content rather than extending the class hierarchies. In this paper we present the approach to analyzing protocol design and assessing the complexity by measuring the entropy of the mobile agent application code designed with Aspect/J. The comparison of complexity measures with the same mobile agent application designed and maintained as typical Java application indicates reduction in complexity in favor of design with Aspect/J.
mobile agent, contract net protocol, complexity, entropy based metrics, separation of concerns
773 total downloads