Aspektorientierte Entwicklung Flashcards

1
Q

Hintergrund für AOSD

A
  • für Wartung eines Softwaresystems ist Aufteilung in Komponenten anhand Anforderungen ideal –> Separation of Concerns
  • es gibt immer Anforderungen, die sich auf mehrere Komponenten beziehen und Komponenten, die mehrere Anforderungen erfüllen müssen (m:n-Beziehung)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Grenzen des Prinzips “Separation of Concerns”

A
  • Belange überlagern sich (crossing concerns)

- Beispiele: Authentifizierung, Logging, Sicherung im Hintergrund

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Konzept der Aspekte

A
  • Aspekt kapselt Funktionalität, die andere Funktionalität kreuzt (an vielen Stellen im System vorkommt)
  • Spezifikation im Quellcode, wie Aspekte in Code eingewoben werden
  • Aspekte können unabhängig voneinander geändert und wiederverwendet werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Bestandteile Aspekt

A

Advice: der Quellcode gemäß den (andere Anforderungen kreuzenden) Anforderungen
Pointcut: die Definition, an welchen Joint Points der Aspekt eingefügt werden soll (Exceptions, Konstruktoren)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Möglichkeiten des Einwebens von Aspekten

A
  • Quellcodevorverarbeitung (Aspect Weaver über Quellcode, dann Standardcompiler)
  • während des Linkens (Aspect Weaver in Compiler eingebaut)
  • zur Laufzeit (Joint Points im Hintergrund überwacht, bei Ereignis: Ausführung des Advice)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

V&V aspektorientierter Software

A
  • Black-Box-Test normal
  • White-Box-Tests: Advice einzeln testen, alle Joint Points umfassen, Aspekte systemunabhängig testen, Ausschließen von gegenseitiger Störung bei Aspekten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definition Joint Point

A

Ereignis in einem ausgeführten Programm, bei dem der mit einem Aspekt verknüpfte Advice ausgeführt werden kann

How well did you know this?
1
Not at all
2
3
4
5
Perfectly