1 Vortrag im Überblick AOP in aller Kürze, eigener Ansatz und Vergleich mit anderen AOP Ansätzen und CBSD CBSD als Ansatz zur Modularisierung von „Crosscutting Concerns“ und Probleme dieses Ansatzes Aspekte & Komponenten im Kontext r Entwicklung programmiersprachlicher Technologie und SE-Methodologien
22
Embed
1 Vortrag im Überblick AOP in aller Kürze, eigener Ansatz und Vergleich mit anderen AOP Ansätzen und CBSD CBSD als Ansatz zur Modularisierung von „Crosscutting.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Vortrag im Überblick
AOP in aller Kürze, eigener Ansatzund Vergleich mit anderen AOP Ansätzen
und CBSD
CBSD als Ansatz zur Modularisierung von „Crosscutting Concerns“ und Probleme
dieses Ansatzes
Aspekte & Komponenten im Kontext der Entwicklung programmiersprachlicher
cs kann von Typ SuccessiveAugmentation oder SimulatedAnnealing sein
void display(ColoredGraph cg) { // display a colored graph on the screen}
void display(ColoredGraph cg) { // display a colored graph on the screen}
cg kann von Typ CourseScheduling oder StudentContact sein
16
DAOP Ansatz Ausführen bestehend. Code im Kontext eines Aspektes...
if onlineSchedOn() {
SchedulingGraph sg = getStrategy();
apply (sg) in
{
startUniversitySW(); ... }
}
else
{
startUniversitySW();
}
...
if onlineSchedOn() {
SchedulingGraph sg = getStrategy();
apply (sg) in
{
startUniversitySW(); ... }
}
else
{
startUniversitySW();
}
ein Aufruf von Teacher.assignCourse innerhalb der transitiven Hülle der Ausführung in diesem Block verursacht die Ausführung der callback-Operation in SchedulingGraph
17
BindingBasis Applikation
DAOP Ansatz Dimensionen der Wiederverwendbarkeit
Aspekt‘s CI
Imp
lIm
pl
Aspekt‘s CI
Imp
lIm
pl
Binding1
Binding2Base Applikation 1Basis Applikation 1
generischewiederverwendbare Aspekte
Bindungen Anwendungen
18
Qualität Viele AO Sprachen CBSD
Kommunikation über Schnittstellen
Abhängigkeiten von Implementierungsdetails
statische Typisierung ddsj
Strings / Reflection, Typumwandlungen
Subtyp-Polymorphie, dynamisches Binden ddsj
Code-Transformationen, statisches globales Binden
Konventionen,kontextuelles statisches Binden
getr. Kompilierung, „Open World“-Annahme
globale Kompilierung, „Closed World“Annahme
Orthogonalität, Uniformität der PS
ad-hoc Spracherweiterungen
ad-hoc, Außersprachlich
wichtige (vergessene) Qualitäten DAOP in Vergleich