Aspektorientierte Systemprogrammierung - SS 2003
Inhalt
In diesem Seminar geht es um den Einsatz der aspektorientierten
Programmierung (AOP - siehe www.aosd.net) für die Entwicklung von
Betriebssystemsoftware. AOP ist ein Ansatz,
durch den Eigenschaften einer Software, die sich auf das vollständige
Implement niederschlagen (z.B. die Synchronisations-, Zugriffschutz-
oder Fehlerbehandlungsstrategie) modular implementieren lassen. Es
werden die Grundlagen dieses jungen Konzepts sowie verschiedene Umsetzungen
in Form konkreter Programmiersprachen betrachtet. Zudem werden die
ersten Fallbeispiele beleuchtet, bei denen AOP in Betriebssystemen
eingesetzt wird.
Voraussetzungen:
Programmiererfahrung in C++ oder Java, da auch die praktische
Auseinandersetzung mit dem Thema im Rahmen der Vortragsvorbereitung
gewünscht ist.
Themen:
- Einführung
- Java-basierte Sprachen
- AspectJ - AOP in der Praxis
- Hyper/J - Subject-Oriented Programming
- PROSE - Aspektweben zur Laufzeit
- C++-basierte Sprachen
- FOG - AOP/SOP mit C++ per Präprozessor
- C++/CF - Composition Filters
- OpenC++ - Metaobjektprotokolle
- AOP mit Template Metaprogrammierung
- Fallstudien im Betriebssystemkontext
- AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
- a-Kernel - Fallstudien und AspectC
- Aspektorientierte Scheduler-Entwicklung
- Bossa: eine Domain Specific Language
- PURE - Aspekte in der Betriebssystemfamilie
und AspectC++