Home // ICSEA 2015, The Tenth International Conference on Software Engineering Advances // View article


Recovering Lost Software Design with the Help of Aspect-based Abstractions

Authors:
Kiev Gama
Didier Donsez

Keywords: Software layers; Software reengineering; Aspect-oriented programming.

Abstract:
In this paper, we propose an unconventional usage of aspect-oriented programming, presenting and discussing a novel approach for recovering layered software design. It consists of a reengineering pattern based on aspect abstractions that work as a strategy for recovering software design. By using our approach it is possible to employ general purpose aspects that represent software layers. This is useful for capturing such design in systems where a layered architecture exists but was not documented or where it has been inconsistently translated from design to code. The pattern is a generalization of our initial validation performed in a case study on the Open Service Gateway Initiative (OSGi) service platform. We could verify that its software layers are well defined in the specification and design, however when analyzing the actual Application Programming Interface (API), such layers are completely scattered over interfaces that inconsistently accumulate roles from different layers. By extracting the layered design into separate aspects, we were able to better understand the code, as well as explicitly identifying the affected layers when applying dependability crosscutting concerns to a concrete aspect solution on top of three different implementations of the OSGi platform.

Pages: 477 to 483

Copyright: Copyright (c) IARIA, 2015

Publication date: November 15, 2015

Published in: conference

ISSN: 2308-4235

ISBN: 978-1-61208-438-1

Location: Barcelona, Spain

Dates: from November 15, 2015 to November 20, 2015