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 2007  >  OSE  >  Übung

Betriebssystemtechnik (OSE) - SS 2007

Aufgabe 2: Domänenanalyse

In dieser Aufgabe soll für als Gemeinschaftsprojekt für unsere Domäne "AO-Stubs - Eine Betriebssystemfamilie für RCX"  eine Domänenanalyse durchgeführt werden.

Ausgabetermin Vorgabe (spätester) Abgabetermin + Präsentation
26.04.2007 Die Vorgabe wird über svn "ausgecheckt". Siehe dazu die Hinweise unten 03.05.2007, 8:00 erste Version
10.05.2007, 8:00 endgültige Version
09.05.2007, 8:00 Vortragsfolien
(Siehe auch Hinweise zur Abgabe weiter unten)

Lernziele

  • Praktische Anwendung der in der Vorlesung gelernten Techniken zur Domänenanalyse.
  • Kenntnisse über die Funktionen und Möglichkeiten des RCX (Zielplattform).
  • Präsentation und Diskussion der Ergebnisse für die jeweilige Teildomäne.

Bearbeitung

Auch die Bearbeitung dieser Aufgabe erfolgt wieder gruppenweise. Das ist dieses Mal auch besonders wichtig, da viel diskutiert werden sollte.

Zu einer Domänenanalyse gehören drei Schritte (siehe Vorlesungsfolien):

  1. Festlegung, welche Domäne überhaupt modelliert werden soll.
  2. Sammeln relevanter Informationen über die Domäne.
  3. Erstellung eines Domänenmodells.
Das Domänenmodell dokumentiert sozusagen die Ergebnisse der ersten beiden Schritte und besteht aus folgenden Teilen:
  1. Domänendefinition: Eine textuelle Abgrenzung der zu modellierenden Domäne.
  2. Domänenlexikon: Definition aller relevanter Begriffe der Domäne.
  3. Konzeptmodelle: Eine informell textuelle oder auf geeigneten Modellierungstechniken beruhende Beschreibung der relevanten Konzepte der Domäne, ihrer Zusammenhänge und Abhängigkeiten.
  4. Merkmalmodell: Eine strukturierte Darstellung der wiederverwendbaren und konfigurierbaren Eigenschaften der Systeme der Domäne.
Das Domänenmodell soll in einem LyX-Dokument beschrieben werden, das mit svn (Subversion) versionsverwaltet wird. Dabei soll schon während der Bearbeitung der Aufgabe häufiger mal mit dem Repository synchronisiert werden ("update" und "commit"), damit die jeweiligen Gruppen auch Abhängigkeiten zwischen den Features ihrer Domäne und den anderen Domänen zuordnen können (weiteres dazu siehe unten). Domänenanalyse ist ein iterativer Prozess - es ist am Anfang normal, dass man häufig alles ändert.

Vorträge

Damit jeder ein tieferes Verständinis für das Gesamtmodell erhalten kann, ist außerdem pro Teildomäne ein Kurzvortrag (ca. 5-10 Min.) zu halten. Die Kurzvorträge sollen in der Übung am 10.5.2007 und in der Vorlesung am 14.5.2007 gehalten werden. Die Einteilung, welche Gruppe wann ihren Vortrag hält, erfolgt in der Übung am 3.5.2007.

Abgabe

Die Aufgabe läuft über zwei Wochen. Damit ihr eine Chance habt, frühzeitig Rückmeldung zu eurer Analyse zu bekommen, erfolgt die Abgabe iterativ in mehreren Schritten.

  1. Eine erste Version, die mindestens schon mal die Domänendefinition, das Domänenlexikon und das Merkmalmodell enthält, muss bis zum 3.5.2007, 8:00 (Donnerstagmorgen) abgegeben werden (durch "commit" in das Repository). Wir erwarten nicht, dass zu diesem Zeitpunkt bereits vollständige Merkmalbeschreibungen und Konzeptmodelle vorliegen, aber wir sollten bereits einen guten Eindruck bekommen können. Je nach Bedarf diskutieren wir die Vorgehensweise dann in der Übung und vereinbaren ggfs. Besprechungstermine mit einzelnen Gruppen.

  2. Die entgültige Version der Domänenanalyse wird dann bis zum 10.5.2007, 8:00 (eine Woche später) abgegeben.

  3. Die Vortragsfolien solltet ihr mir (Julio) mindestens 24 Stunden vor dem jeweiligen Vortragstermin als PDF-Dokument schicken.

Anwendungsfälle und Anforderungen

Damit ihr euch bei der Domänenanalyse nicht "im Feature-Dschungel verliert", haben wir ein paar Anwendungsfälle und weitere Anforderungen zusammengestellt. Beachtet bitte, dass es nicht Aufgabe ist, die Anwendungen selber zu implementieren, sondern aus den Anwendungsbeschreibungen die Anforderungen an das Betriebssystem zu ermitteln (z.B. benötigte Geräte, Multithreading, Speicherverwaltung usw.) Diese Anforderungen stellen den absoluten Mindestumfang der späteren AO-Stubs Betriebssystemproduktlinie dar. Ihr sollt aber auch noch weitere Features identifizieren und beschreiben. Behaltet dabei jedoch die angestrebte Zielplattform und insbesondere das Ziel der "Skalierbarkeit nach oben und unten" im Blick.

Anwendung LEGO-Cash

Wie in der Übung schon gezeigt, hat unser Kunde vor, ein Kassensystem aus RCX-Bausteinen zu entwickeln. AO-Stubs soll dafür die notwendige BS-Funktionalität bereitstellen.

Die Beschreibung von LEGO-Cash findet ihr im Subversion Repository, wie unten beschrieben. Wie im echten Leben ist die Beschreibung bestimmt nicht eindeutig - es ist zu erwarten, dass ihr Fragen habt. Diese Fragen dann bitte auf der Mailingliste diskutieren (damit alle es mitbekommen). Falls es komplizierter wird, könnt ihr natürlich auch direkt mit dem Kunden (Horst) sprechen.

Zielplattform

Die Zielplattform ist, wie bereits mehrfach erwähnt, der RCX-Baustein des Lego MINDSTORMS. Zu dieser Plattform findet ihr tonnenweise Informationen im Netz. Einen guten Einstieg bietet die Informationssammlung zu Mindstorms von Stephan Höhrmann an der Uni Kiel.

Teildomänen

Im Rahmen dieser und der folgenden Aufgaben soll die Betriebssystemfamilie AO-Stubs entstehen. Die Gesamtdomäne, die von den Systemen am Ende abgedeckt werden soll, wurde von uns in der letzten Übung in Teildomänen zerlegt. Die Zuordnung der Arbeitsgruppen zu Teildomänen ist der folgenden Tabelle zu entnehmen. Jede Gruppe soll einen Koordinierungsbeauftragten benennen, der für die Koordination mit den anderen Gruppen zuständig ist und für diese als primärer Ansprechpartner dient.

(Teil-)Domäne Gruppe
D1: mem Heap-Verwaltung Daniel Michalik
Christoph Heim
Kai Selgrad
D2: device Gerätetreiber und Treibermodell Henry Schäfer
Bruno Escherl
Thomas Janu
Thorsten Blass
D3: thread Fadenverwaltung und -synchronisation Markus Becher
Stefan
Jan Kretschmer
D4: guard Unterbrechungen und Kernsynchronisation Stefan Kempf
Robert Krul
Bernd Schöbel
D5: com Kommunikation Frederic Pollmann
Christian Neuhaus
David Eckhoff
Florian Hänel
D6: object I/O und Containerklassen (alias "stdlib") Florian Holler
Philipp Otte
Markus Brehm
D7: debug Debugging und Monitoring Jens Schedel
Simon Regnet
Philipp Baumgärtel
Die fett gedruckten Personen sind die Koordinierungsbeauftragten.

Repository-Organisation und Vorgabe

Repository-Organisation

Alle Dokumente zu Domänenanalyse (und später auch dem Entwurf) sollen im Projektverzeichnis unter doc/<my-domain>/ gespeichert werden. Dazu "checkt" ihr das Repository am besten zunächst mal aus:

lohmann@faui48>svn co --username lohmann https://www4.informatik.uni-erlangen.de:8088/i4ose/ose-2007/trunk ose
lohmann@faui48>cd ose/doc/

In diesem Verzeichnis findet ihr dann ein Unterverzeichnis <my-domain>/ in dem sich jeweils die Datei <my-domain>.lyx befindet. Das ist eure Vorgabe. Das jeweilige Unterverzeichnis <my-domain>/fig ist für etwaige Abbildungen gedacht. Weitere Informationen zum Umgang mit svn (Login, Hinzufügen von Dateien, "committen", etc.) findet ihr auf der Tools-Seite.

Vorgabe

Durch Eingabe von:

lohmann@faui48>cd <my-domain>
lohmann@faui48>lyx <my-domain>.lyx

könnt ihr die Vorgabe öffnen und editieren. Da das händische Malen von Merkmaldiagrammen recht aufwändig ist, integriert die Vorgabe bereits das LaTeX pst-featdiag-Paket von Georg Blaschke. Das Merkmaldiagramm wird in dem LyX-Dokument als LaTeX-Code eingegeben. Weitere Informationen dazu gab es in der Übung, einiges findet sich auch noch mal in Schriftform auf der Tools-Seite.

Die Beschreibung der LEGO-Cash Applikation findet sich unter doc/app/.

Zusätzlich stellen wir Euch als Hilfestellung eine (relativ) vollständige Domänenanalyse bereit, die als Beispiel dienen soll. Sie behandelt die aus der Vorlesung bekannte Wetterstation. Die Analyse findet ihr unter doc/examples/. Sie dient als Richtschnur für Stil und Umfang einer Domänenanalyse - und kann außerdem verwendet werden, um nachzuschauen, wie man diverse Effekte mit LyX hinbekommt.

Da es sich bei AO-Stubs um ein Gemeinschaftsprojekt handelt, soll das Ergebnis der Domänenanalyse ein einzelnes PDF-Dokument mit allen Teildomänen sein. Die Teildomänen-spezifischen LyX-Dokumente sowie (als Anhang) die Applikationsbeschreibung werden dazu von einem gemeinsamen Master-Dokument (doc/AOStubs.lyx) eingebunden. Wenn man das Master-Dokument öffnet, kann man das gemeinsame PDF generieren. Außerdem kann man vom Master-Dokument aus die einzelnen Kapitel öffnen, was den Vorteil hat, dass LyX beim Einfügen eines Querverweises nun die "Labels" aus allen Dokumentteilen anbietet. So ist es einfach möglich, auf Teile der anderen Gruppen (z.B. für Merkmalabhängigkeiten) oder die Szenarien zu verweisen. Wir empfehlen deshalb, nach den "ersten Spielereien" immer das Master-Dokument zu verwenden und häufig ein svn update ; svn commit durchzuführen, damit ihr im Blick behaltet, was die anderen Gruppen so treiben.

Dank eines Makefiles kann man AOStubs.pdf auch einfach durch einen Aufruf von make generieren.

  Impressum   Datenschutz Stand: 2007-05-14 11:03   DL