Skip to content
Licensed Unlicensed Requires Authentication Published by De Gruyter Oldenbourg September 25, 2009

Die Rolle von Features und Aspekten in der Softwareentwicklung (The Role of Features and Aspects in Software Development)

  • Sven Apel

Zusammenfassung

Feature-orientierte Programmierung (FOP) und Aspekt-orientierte Programmierung (AOP) sind komplementäre Technologien. Obwohl beide auf die Modularität von so genannten querschneidenden Belangen abzielen, so tun sie dies auf unterschiedliche Art und Weise. Im Rahmen der Arbeit wurde beobachtet, dass FOP und AOP kombiniert werden können, um ihre individuellen Schwächen zu überwinden. Die Arbeit schlägt mit Aspekt-basierten Featuremodulen und Aspektverfeinerung zwei Techniken zur Symbiose von FOP und AOP vor. Beide Techniken werden in einer Fallstudie evaluiert und entsprechende Programmierrichtlinien zum Einsatz von FOP und AOP werden abgeleitet. Schlussendlich wird mittels der Analyse von acht AspectJ-Programmen unterschiedlicher Größe die Frage beantwortet, wie Implementierungsmechanismen der FOP und der AOP heutzutage Verwendung finden.

Summary

Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP) are complementary technologies. Though they aim at crosscutting modularity, they do so in different ways. We observed that FOP and AOP can be combined to overcome their individual limitations. Consequently, we propose with Aspectual Feature Modules (AFMs) and Aspect Refinement (AR) two techniques to unify FOP and AOP. We use AFMs and AR in a non-trivial case study to create a product line of overlay networks. We also present a set of guidelines to assist programmers in using FOP and AOP techniques for implementing product lines in a stepwise and generative manner. Finally, we answer the question of how FOP and AOP-related implementation techniques are used today by analyzing a representative set of eight AspectJ programs of different sizes.

Published Online: 2009-9-25
Published in Print: 2008-2-1

© Oldenbourg Wissenschaftsverlag

Downloaded on 26.4.2024 from https://www.degruyter.com/document/doi/10.1524/itit.2008.0474/html
Scroll to top button