Computing Reviews

AspectMaps:extending Moose to visualize AOP software
Fabry J., Kellens A., Denier S., Ducasse S. Science of Computer Programming796-22,2014.Type:Article
Date Reviewed: 04/22/14

Aspect-oriented programming (AOP) is an emerging software development paradigm primarily oriented toward addressing cross-cutting concerns in software development. Cross-cutting concerns are those elements of a software system that cannot be cleanly separated from other code, for example, logging and exception handling. These separate concerns can be scattered across multiple modules or tangled with disparate concerns in individual modules. AOP seeks to localize these cross-cutting concerns into separate modules, called aspects.

The challenge presented by AOP is to a developer’s comprehension of code structure and function. Since otherwise scattered or tangled concerns are implemented in separate aspects that are implicitly invoked, it is not as easy to visualize program execution. While some visualization tools exist for working with AOP software systems, these do not present a comprehensive view of the system being inspected or provide advanced decomposition views.

The paper presents the result of an effort to implement a visualization tool for AOP, called AspectMaps. This was built using the Moose software and data visualization tool, and extends some of the core components of Moose to support AOP. Moose tools operate on meta-models, not on source code directly. An extension of the FAMIX meta-model was created to support aspects, called ASPIX (ASPects In famiX). Scripts were then developed using Mondrian and Glamour, two domain-specific scripting languages provided in Moose for information visualization. The end result is a standalone visualization tool for interacting with systems built using AOP.

The paper’s intended audience is two-fold: aspect-oriented developers needing visualization support, and developers using Moose that are building their own analysis tools. It will also be of use to developers exploring the AOP paradigm, or systems implemented using AOP.

Reviewer:  Nathan Carlson Review #: CR142203 (1407-0551)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy