Pflichtenheft

1. Aufgabenzusammmenfassung

Grundlage dieser Aufgabe ist eine physikalische Problemstellung, die Berechnung der Kapazitätswerte von Zylinderkondensatoren. Der Aufbau eines solchen Kondensators kann aus unten dargestelltem Bild entnommen werden.
Die Kapazität eines Zylinderkondensators ist im Allgemeinen abhängig von der Länge l des Kondensators, den Radien des inneren und des äußeren Zylindermantels (r1 und r2) sowie dem verwendeten Isolatormaterial, Dielektrikum genannt. Zur Repräsentation der Einflüsse, welche die Wahl des Dielekrikums auf die Kapazität hat, wurde eine materialabhängige Konstante, εr, die relative Dielektrizitätszahl eingeführt.

Schematische Darstellung eines Zylinderkondensators

Sind diese 4 Parameter (Länge, Dielektrizitätszahl, innerer & äußerer Radius) gegeben, so lässt sich die Kapazität des entsprechenden Kondensators mittels folgender Formel errechnen: C = \frac{2 \cdot \pi \cdot l \cdot \epsilon_0 \cdot \epsilon_r} {\ln{\(r_1/r_2\)}} Hierbei bezeichnet ε0 die elektrische Feldkonstante, die Dieelektrizitätszahl des Vakuums (8,8541878*10^-12 As/Vm).

Um die einfache Berechnung großer Mengen an Kapazitätswerten zu ermöglichen, soll im Laufe des ETI-Praktikum ein Programm konzipiert, implementiert und getestet werden, welches die Auswertung dieser Formel automatisiert. Die Länge des Kondensators sowie die beiden Radien werden von dem Programm aus einer Datei eingelesen, wohingegen die relative Dielektrizitätszahl fest im Programm verankert werden sollen: Für jedes Tripel an Größeninformationen sollen die Kapazitäten der entsprechenden Kondensatoren jeweils mit Paraffin und Ölpapier als Dielektrikum errechnet werden.

Als Grundgerüst für dieses Programm steht die Datei read.c zur Verfügung, welche einige Werte aus einer Datei ausliest, in Arrays speichert und dann eine noch nicht implementierte calc-Funktion mit Pointern auf diese Arrays als Parameter aufruft. Primäres Ziel ist eine Implementierung der calc-Funktion, welche die eigentliche Berechnung der Kapazitätswerte durchführt. Um diese calc-Funktion dem Benutzer bequem zugänglich zu machen, ist des Weiteren eine Anpassung des Rahmenprogramms notwendig, da dieses z.B. von einer ungeeigneten Funktionssignatur der calc-Funktion ausgeht. Das Rahmenprogramm darf hierbei in C geschrieben werden, die calc-Funktion muss jedoch zwingend in x86-Assembler geschrieben werden, ohne die Verwendung von Befehlssatzerweiterungen wie beispielsweise MMX oder SSE2.

2. Ist/Soll-Analyse

2. a) Status quo

Bislang existiert nur oben gennante read.c, welche einen Startpunkt zur Entwicklung des Rahmenprogramms zur Vefügung stellt, im jetzigen Zustand aber noch nutzlos ist.

2. b) Soll-Zustand

Als vorrangige Aufgabe ist die oben beschriebene Funktion calc mit der C-Signatur void calc(int* in1, float* in2, float* in3, float* out1, float* out2) zu implementieren. Die read.c-Datei soll entsprechend angepasst werden.

Desweiteren ist eine Benutzer- sowie eine Entwicklerdokumentation zu schreiben und eine beispielhafte Eingabedatei zu erstellen.

3. Zeitplan

Gruppenintern wurde folgender Zeitplan beschlossen:

  1. Abgabe des Pflichtenhefts bis zum 13.11.2011 (offizielle Deadline: 17.11.2011)
  2. Abgabe der Spezifikation bis zum 27.11.2011 (offizielle Deadline: 5.12.2011)
  3. Einrichtung einer adäquaten Toolchain bei allen Teammitgliedern bis spätestens 30.11.2011
  4. Erste lauffähige Implementierung bis zum 5.12.2011
  5. Testen und Optimieren der Implementierung bis zum 11.12.2011
  6. Abgabe der finalen Implementierung bis spätestens 24.12.2011 (persönliche Deadline; offizielle Deadline: 10.1.2012)
  7. Ferien vom 24.12.2011 bis 9.1.2011: arbeitsfrei
  8. Fertigstellung der Dokumentation bis 22.1.2011 (offizielle Deadline: 27.1.2011)

4. Aufgabenverteilung

Die Lösungsansätze, deren Implementierung, die Tests sowie die Dokumentation werden im Allgemeinen in Teamarbeit erstellt. Desweiteren gelten folgende Zuständigkeiten:

  • Verantwortlicher für den Vortrag: Christoph Baur
  • Projektleitung: Adrian Vogelsgesang
  • Verantwortliche für die Dokumentation: Monika Ullrich

5. Vertragsverpflichtung

Wir (Adrian Vogelsgesang, Christoph Baur und Monika Ullrich) verpflichten uns hiermit, folgende Leistungen fristgerecht zu erbringen:

  1. Abgabe eines Pflichtenhefts bis 13.11.2011
  2. Abgabe einer Spezifikation bis 5.12.2011
  3. Abgabe einer funktionsfähigen Implementierung inklusive Sourcecode, Tests sowie beispielhafter Eingabedatei bis 10.1.2011
  4. Abgabe einer Entwickler- und einer Endbenutzerdokumentation bis 27.1.2012
  5. Halten eines fachlichen Vortrags bezüglich der Lösung der Aufgabenstellung (Termin noch offen)
  6. Halten eines Vortrags bezüglich des organisatorischen Ablaufs der Projektarbeit (Termin noch offen)