
Das Projekt TOPPrax soll neueste Techniken der aspektorientierten Softwareentwicklung in die Praxis betrieblicher Softwareentwicklung einführen und ihr Einsatzpotenzial bewerten.
Aspektorientierte Softwareentwicklung hat in den letzten Jahren große öffentliche Beachtung gefunden, da sie verspricht, eine klare modulare Struktur von Software auch dort zu ermöglichen, wo bisherige Techniken scheitern. Erste prototypische Sprachen wie AspectJ und Hyper/J zeigen neuartige Lösungsansätze und haben in der jüngsten Vergangenheit als Basis gedient, erste partielle Erfahrungen in diesem Bereich zu sammeln.
Unter dem Begriff "Aspektorientierte Programmierung" (AOP) wurde 1997
von Kizcales et al. ein neues programmiersprachliche Konzept eingeführt,
durch das die Probleme sogenannter crosscutting concerns
gelöst werden sollen.
Zwei Aspekte (Anforderungen, Entwurfsentscheidungen oder dergl.)
werden dann als crosscutting bezeichnet,
wenn es mit herkömmlichen Mitteln nicht gelingt, beide Aspekte gleichermaßen
bei der Strukturierung zu berücksichtigen.
Das häufigst genannte Beispiel sind die Aspekte "Funktionalität des Systems"
und die zusätzliche Anforderung bestimmte Ereignisse in einer Datei zu
protokollieren ("logging").
Aus der Verknüpfung beider Aspekte ergibt sich, daß logging nicht
als eigenständiges Modul implementiert werden kann, sondern über das
ganze System verstreut wird (scattering).
Andersherum betrachtet werden viele Routinen des Systems eine Mischung
aus Anwendungslogik und logging enthalten (tangling).
Durch scattering und tangling wird die Modulstruktur eines
Systems aufgeweicht mit verheerenden Folgen für den Entwicklungsprozeß und
für die Softwarequalität.
Wartung und Weiterentwicklung von Systemen setzen eine klare Modulstruktur
voraus, weil sonst jede Änderung potentiell das gesamte System betrifft und
dadurch Änderungen nicht unabhängig voneinander durchgeführt oder auch
zurückgenommen werden können. Unterschiedliche Varianten für verschiedene
Kunden sind nicht beherrschbar, wenn sich die Unterschiede über zu große
Teile des Quelltextes verteilen.
Die Softwarequalität setzt eine klare Verständlichkeit und eine unmittelbare
Nachvollziehbarkeit vorraus. Nur wenn Aspekte auch im Quelltext noch
eindeutig lokalisiert werden können, ist nachvollziehbar, welche Programmteile
welche Anforderungen umsetzen, was als Voraussetzung für verschiedene
Maßnahmen der Qualitätssicherung dient.
Das Projekt TOPPrax gründet sich auf diese Erfahrungen und auf die Analyse der folgenden Schwachpunkte des noch jungen Ansatzes:
Durch die Auswahl von konsolidierten Programmiermodellen sollen Fehlentscheidungen der frühen Sprachentwürfe korrigiert werden. Ausgewählt für das Projekt wurden die Sprachen ObjectTeams und Caesar. Gleichzeitig vereinen die gewählten Programmmiermodelle die Vorteile etlicher existierender Ansätze.
In dieser Ausgangssituation soll TOPPrax auf drei Ebenen zur Reifung des aspektorientierten Ansatzes beitragen:
Um den Praxiseinsatz bei den beteiligten Firmen vorzubereiten, werden umfangreiche Schulungsunterlagen erstellt, die universell einsetzbar sind:
| weiter: 2 Grundlagen und Vorarbeiten |