Using aspects to support the software process: XP over Eclipse

  • Authors:
  • Oren Mishali;Shmuel Katz

  • Affiliations:
  • Israel Institute of Technology;Israel Institute of Technology

  • Venue:
  • Proceedings of the 5th international conference on Aspect-oriented software development
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Usually, aspects enhance a software product by being composed - or woven - into it. Here, on the other hand, we use aspects to support the software development process itself. The underlying system, i.e., the system to which the aspects are woven, is not the software product but the environment where it is developed. We define aspects to support both software process management and software process modeling. As we show, the aspects can monitor, enforce, or even partially implement compliance with desired development practices. They also provide a basis for a precise description of a software development process. As a case-study, we consider Extreme Programming (XP) and the Eclipse platform. XP is a software development methodology described by underlying values, principles and practices. We present examples of AspectJ aspects that support XP guidelines such as "compose tests before coding" or "provide rapid feedback". Their abstract definitions are shown to be platform independent and correspond to the XP ontology. Their concrete implementation and weaving is connected to Eclipse, an open-source development environment. The design and a prototype implementation of aspects for XP over Eclipse is described.