Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultät Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Betriebssystemtechnik
 
  Vorlesungsüberblick
  Voraussetzungen
  Vorlesungsfolien
  Übungen
  Tools
  Teamarbeit mit svn
  Schein, Prüfung
  Evaluation
Department Informatik  >  Informatik 4  >  Lehre  >  SS 2006  >  OSE  >  Übung

Betriebssystemtechnik (OSE) - SS 2006

Diese Seite wird gerade bearbeitet!

Aufgabe 5: Implementierung 1

Mit dieser Aufgabe beginnt die Implementierungsphase für AO-Stubs, die uns bis zum Ende des Semesters beschäftigen wird. In dieser Aufgabe geht es dabei zunächst um die Erstellung der benötigten pure::variants Modelle und die Definition der Schnittstellen.

Ausgabetermin Vorgabe (spätester) Abgabetermin
28.06.2006 Das initale AO-Stubs System 05.07.2006
28.06.2006 Präsentation der Ergebnisse 06.07.2006

Lernziele

  • Umgang mit pure::variants
  • Einarbeitung in das initiale AO-Stubs (der OO-Stubs Port für H8)
  • Sammeln von ersten Erfahrungen mit der RCX Hardware und den eingesetzten Tools

Bearbeitung

Die Bearbeitung erfolgt wieder in der Gruppe. Für euer jeweiliges Subsytem von AO-Stubs soll erstellt werden:

  1. Das pure::variants Featuremodell (Problemraum), in dem die Features selektierbar sind, die ihr implementieren wollt. Dabei sollen auch die entsprechenden Abhängigkeiten und -Konflikte modelliert werden.
  2. Das pure::variants Komponentenmodell (Lösungsraum), in dem die Zuordnung der einzelnen Features zu ihren Implementierungskomponenten erfolgt und weitergehende Transformationen (wie z.B. das übernehmen von Attributen in ein ps:flagfile oder generieren von Klassenaliasen mit ps::classalias) durchgeführt werden.
  3. Der Rumpf der jeweiligen Implementierungskomponenten (als leere Klassen bzw. Funktionen) sowie die Beschreibung der wichtigsten Schnittstellen (im Quellcode mit doxygen).
Am Besten beginnt ihr damit, das initiale AO-Stubs System auszuschecken und auszuprobieren. Als nächstes können dann Featuremodell und Komponentenmodell sukkzesive verfeinert werden. Für letzteres müssen die bestehenden Implementierungskomponenten entsprechend aufgeteilt und entkoppelt werden bzw. neue Komponenten hinzugefügt werden.

Das Endziel ist eine feingranualar konfigurierbare BS-Familie. Für die Gruppen, deren Arbeit auf den bestehenden Subsystemen in AO-Stubs aufsetzt, bedeutet dieses, dass sie sich auch eine Menge Gedanken darüber machen müssen, welche Teile des ehemaligen OO-Stubs sie wie übernehmen wollen und welche nicht. Auch bezüglich der Schnittstellen ist das wichtig. Will sagen: OO-Stubs ist ein guter Ausgangspunkt, aber bitte die bestehenden Strukturen nicht einfach "blind" übernehmen.

Für die Bearbeitung der Aufgaben könnt ihr auch die L4 manlobbie nutzen, in der drei Linux-PCs mit angeschlossenen RCX-Towern stehen (zum Flashen bzw. Kommunizieren mit der Hardware) sowie diverse SunRays.

Abgabe

Die Abgabe erfolgt (logischerweise) durch häufiges Einchecken ins Repository. Das ist insbesondere deshalb wichtig, da ihr ja Euch auch zwischen den Gruppen austauschen müsst. Ihr müsst für die Abgabe nicht bei uns persönlich erscheinen.Dafür müsst ihr aber eure Lösung in der Übung am 6.7.2006 kurz vorstellen. Folien sind nicht nötig. Es reichen die pure::variants Modelle und darauf basierend eine Beschreibung der erreichten Variabilität und mit welchen Techniken ihr diese im Code umsetzt.

Weitere Hinweise

  • Namenskonventionen für Features: Für Features werden englische Bezeichner verwendet. Damit es keine Konflikte gibt, soll außerdem der "unique name" jeweils das Subsystems als Präfix erhalten. Also z.B. guard_locking oder mem_global_heap.
  • pure::variants Dokumentation: Die pure::variants Doku ist in das Hilfesystem von Eclipse integriert und dazu da, benutzt zu werden :-)
  • Doxgen Dokumentation: Die Dokumentation zu doxygen findet sich unter http://www.doxygen.org/. Dort findet sich auch eine Kurzübersicht über die wichtigsten "documentation blocks".
  Impressum   Datenschutz Stand: 2006-06-28 16:21   OS