TWI-Home
  Abteilung Elekrotechnik
Praktische Diplomarbeiten
  Software Engineering
 
red_light Monitor-Programm für 80C186 Zielsysteme

white red Student: Spaar Peter
red Dozent: Früh Peter Prof., Dr. sc. techn. Dipl. El.-Ing. ETH
red Kurzbeschreibung:

Am Technikum Winterthur wird für die Assembler-Ausbildung im TIn-Labor (Technische Informatik) ein 80C186 Zielsystem von INTEL und im MC-Labor (Mikrocomputer-Systeme) ein SMP-Zielsystem E20 von Siemens mit demselben Prozessor 80C186 eingesetzt. In den Zielsystemen befindet sich eine RS232-Schnittstelle und auf zwei EPROMSs ein Monitorprogramm. Damit lässt sich der 186er-Prozessor nun vollständig von einem anderen Rechner kontrollieren. Zur Ansteuerung dieser Zielsysteme wird ein in Turbo-Pascal entwickelter Debugger verwendet, welcher als Bedieneroberfläche die OOP-Bibliothek Turbo-Vision verwendet.

Im Rahmen einer Projektarbeit und dieser Diplomarbeit wurde ein neues Debugger-Programm Ed86 für diese Zielsysteme entwickelt. Das Programm ermöglicht, ein DOS-Programm ins Zielsystem zu laden und zu debuggen, und zwar Programme, die mit Borland-Sprachen Turbo-Assembler oder Pascal geschrieben wurden. Im Gegensatz zur bestehende Version, kann die neue Version zusätzlich mit Programmen arbeiten, die in C / C++ geschrieben sind.

Die neue Version des Programms wurde als Windows NT und als Windows 3.1 Applikation mit Delphi entwickelt.

Bereits während der Projektarbeit wurden viele der grundlegenden Funktionen von Ed86 realisiert. Das Programm war soweit fortgeschritten, das alle Aktionen ausgeführt werden konnten, die kein Auswerten der symbolischen Debug-Informationen voraussetzen.

Im Rahmen dieser Diplomarbeit wurden die Funktionen zur Auswertung der Debug-Informationen in Ed86 eingebaut. Anschliessend erfolgten eingehende Tests, bei denen einige Testapplikationen entwickelt und mit Ed86 zum Zielsystem geladen wurden.

Als letzte Arbeit wurde eine Hilfedatei für Ed86 erstellt. Damit ist das Programm soweit fortgeschritten, dass es im Unterricht eingesetzt werden kann.

Fachgebietübersicht / Studentenverzeichnis

red_light Fernsupport

white red Student: Hediger Patrick
Knecht Michael
red Dozent: Früh Peter Prof., Dr. sc. techn. Dipl. El.-Ing. ETH
red Kurzbeschreibung:

ABB Industrie AG vertreibt ein Leitsystem das Advant Open Control System heisst. Mit diesem Leitsystem kann man verschiedenste Prozesse kontrollieren. Um auch nach dem Verkauf und der Inbetriebnahme des Systems einen guten Support zu gewährleisten, besteht eine eigene Support-Line. Wenn ein Kunde nun ein Problem hat und bei der Support-Line um Unterstützung nachsucht, ist es für das Support-Team wichtig zu erfahren, was die Störung verursacht hat. Deshalb verbindet man sich von Baden aus direkt mit dem Leitsystem der Anlage und kann somit den Fehler analysieren, ohne lokal am Ort der Anlage anwesend zu sein. Damit man aber mit einem PC auf eine UNIX-Workstation zugreifen kann, braucht man eine PC-X-Server Software. Zuerst mussten wir aber die Software und das Modem installieren, was unter dem Betriebssystem HP-UX 9.05 einige Probleme und den damit verbundenen Zeitverlust verursachte. Aus diesem Grund haben wir ein Script geschrieben, das die Installation eines Modems unter HP-UX 9.05 wesentlich vereinfacht. Auch für alle anderen Installationen (Software, Router, Tape) haben wir Installationsanleitungen geschrieben. Bei den Performance Tests verwendeten wir verschiedene Modem-Übertragungsgeschwindigkeiten. Bei einer Geschwindigkeit von 38400 bps brauchten wir 52 Sekunden, um ein Prozess-Bild mit 52 dynamischen Messwerten und einer komplizierten Grafik auf dem Bildschirm anzuzeigen. Als wir die Workstation mit einer ISDN-Leitung über einen Router verbunden hatten, brauchten wir für dasselbe Prozess-Bild bei einer Übertragungsgeschwindigkeit von 64 kbps 12 Sekunden und bei 128 kbps 6 Sekunden. Mit der Version Exceed 6.0 hat man die Möglichkeit, eine X-Applikation über das Internet zu starten. Dazu muss aber der Web-Server mit dem neuen Release von X11 ausgerüstet sein (X11R6.3). Zusätzlich bietet der neue Release von X11 auch bessere Sicherheitsfunktionen an und hat spezielle Funktionen, um die Performance über eine serielle Verbindung zu erhöhen.

Fachgebietübersicht / Studentenverzeichnis

red_light Autonomes Fahrzeug PACIFICAR

white red Student: Biedermann Thomas
Schuler Denis
red Dozent: Brom Bruno-Charles Prof., Dipl. El.-Ing. NDS ETH
Früh Peter Prof., Dr. sc. techn. Dipl. El.-Ing. ETH
red Kurzbeschreibung:

Pacificar ist ein Experimentierfahrzeug, das sich mit Hilfe diverser Sensoren und Aktoren selbständig und kollisionsfrei in der Umgebung bewegen kann. Für die Steuerung ist der Mikrokontroller 68HC11 eingesetzt, welcher nebst fahrzeugspezifischer Peripherie auf dem Auto untergebracht ist. Der Kontroller kann mit der Programmiersprache Interactive C programmiert werden, welche ein gleichzeitiges (quasiparalleles) Ablaufen mehrerer Prozesse erlaubt.

Ziel dieser Arbeit war es, ein Programm zu entwickeln, welches das Pacificar befähigt, selbständig in eine Parklücke einzuparken. Das Fahrzeug soll dabei einer Wand entlang fahren, eine Parklücke detektieren, diese auf genügend Platz prüfen und einparken können. Kollisionen soll das Fahrzeug vermeiden und nötigenfalls auflösen können.

Für die Modellierung bieten sich zwei Ansätze an. Einerseits kann eine Zustandsmaschine (Finite State Machine) für den Parkvorgang realisiert werden, oder man verwendet den am MIT entwickelten Subsumption Approach.

Bis auf wenige Einschränkungen konnten die geforderten Ziele erreicht werden. Das Fahrzeug ist nun im Stand, einer Wand entlang zu fahren, eine Parklücke zu detektieren und in diese einzuparken. Nach einer gewissen Wartezeit verlässt das Pacificar die Parklücke wieder und fährt entlang der Wand weiter.

Einschränkungen mussten gemacht werden, weil zum Zeitpunkt dieser Arbeit zuwenig Sensoren zur Verfügung standen. Für die Umgebungserkundung dienen lediglich zwei schwenkbare Ultraschallsensoren. Die Umsetzung der Subsumption Logic war in der "reinen" Form deshalb nicht möglich, da dieser Ansatz mehrere, wenn möglich unabhängige, Sensoren voraussetzt. Der Parkvorgang wurde deshalb als Zustandsmaschine realisiert.

Mit zukünftigen Erweiterungen ergeben sich noch viele Verfeinerungsmöglichkeiten, was das generelle Verhalten des Fahrzeugs betrifft.

Fachgebietübersicht / Studentenverzeichnis

red_light Elektronische Börse - Verteiltes Anwendungssystem in Java

white red Student: Frascadore Angelo
Röösli Andreas
red Dozent: Mumprecht Eduard Prof., Dr. sc. techn., Dipl. Ing. ETH, Informatiker
red Kurzbeschreibung:

Die Hauptaufgabe dieser Diplomarbeit war die Realisierung einer "Elektronischen Börse" als plattformunabhängiges, verteiltes Anwendungssystem. Dabei sollte festgestellt werden, inwiefern Java als Programmierumgebung für verteilte Architekturkonzepte bereits einsetzbar ist. Zusätzlich galt es, das zugrundeliegende Kommunikations-Pradigma zu erkennen und eine konkrete Lösung dafür zu finden.

Der Entscheid für RMI (Remote Methode Invocation) anstatt CORBA (Common Object Request Broker Architecture) fiel aufgrund der Plattformunabhängigkeit von RMI und dessen relativen Einfachheit.

Wir implementierten die zentralen Funktionen einer elektronischen Börse (Trading System, Member Interface, Matcher und Datenbanken) so, dass die logische Konfiguration dieser Elemente unabhängig ist vom physikalischen Netzwerk und den Computern.

Der Komplexität der Aufgabe begegneten wir mit konsequentem Einsatz von objektorientierten Methoden beim Entwurf und entsprechender CAE-Werkzeuge für die Realisierung. Darüberhinaus waren die vielen bereits erhältlichen Java Klassenbibliotheken von enormem Nutzen.

Das Resultat dieser Arbeit ist ein funktionstüchtiges System, das beispielsweise für Ausbildungszwecke im Effektenhandel eingesetzt werden kann. Abgesehen davon ist es ein Paradebeispiel für eine nichttriviale, verteilte Anwendung, plattformunabhängig realisiert in reinem Java.

Fachgebietübersicht / Studentenverzeichnis

red_light Server-Anwendung in Java mit Datenbank-Anbindung

white red Student: Affolter Felix
Furrer Urban
red Dozent: Müller Thomas Prof., Dipl. El.-Ing. HTL
red Kurzbeschreibung:

Am Technikum Winterthur wurden in den letzten Jahren diverse datenbankbasierte WWW-Anwendungen realisiert. Die Aufgabe unserer Diplomarbeit war, die Eignung von Java im Zusammenhang mit der JDBC-Schnittstelle für solche Anwendungen zu untersuchen. Als Anwendung sollte eine Applikation zur Erfassung der Abstracts der Praktischen Diplomarbeit und die Generierung einer Broschüre sowie die Erstellung der statischen HTML-Seiten realisiert werden.

Für das Erstellen der Broschüre bestand eine Lösung, in welcher die Dozenten die Einträge per E-Mail an einen Verantwortlichen sendeten und dieser die Eingabe in eine RDB-Datenbank vornahm. Die Daten wurden von der Datenbank durch ein Programm ausgelesen, sortiert und in das Latex-Format (Dokumentenbeschreibungssprache / Broschürenformat) konvertiert. Neu sollte eine Oracle-Datenbank anstelle von RDB verwendet und ein Einschreibeverfahren über das WWW geschaffen werden.

Wir untersuchten das Problem anhand zweier Varianten, einem Applet auf dem Client und einem Server-Side-Applet auf dem Netscape FastTrack-Server. Für die Applikation entschieden wir uns aufgrund der kürzeren Ladezeiten und der Sicherheiten für das Server-Side-Applet.

In unserer Diplomarbeit haben wir je eine Oberfläche für den Studenten und den Dozenten im WWW geschaffen, welche die Eingabe und Editierung der Abstracts ermöglicht. Die Erstellung der Broschüre und die Generierung der statischen HTML-Seiten fürs WWW wurde in einer eigenständigen Java-Applikation realisiert.

Entwickelt wurde unsere Arbeit auf DEC-Unix Workstations. Getestet wurde auf einem PC mit dem Browser Netscape Navigator 4.0. Alle Programme wurden in Java geschrieben. Für die Verbindung zur Oracle-Datenbank kam der JDBC-Thin-Treiber von Oracle zum Einsatz.

Das Einschreiben und die Generierung der Broschüre hat sich bereits im praktischen Einsatz mit der diesjährigen Diplomarbeit bewährt.

Fachgebietübersicht / Studentenverzeichnis

red_light Stadtplan mit positionsabhängigen Informationen

white red Student: Andenmatten Tim
Weiss Michael
red Dozent: Müller Thomas Prof., Dipl. El.-Ing. HTL
red Kurzbeschreibung:

Die Aufgabe dieser Diplomarbeit bestand darin, den bereits bestehenden Stadtplan der Stadt Winterthur für das Internet zu erweitern. Zu diesem Zweck sollten zwei Ansätze untersucht und allenfalls realisiert werden. Der eine Ansatz ist die Erweiterung der bereits bestehenden serverbasierten CGI-Applikation. Sie erlaubt dem Benutzer zusätzlich, durch Klicken mit der Maus in die Karte, nach Strassen und Objekten zu suchen. Die andere Möglichkeit sieht vor, für jeden Kartenausschnitt ein Java-Applet zu senden, welches die Strassen- und Objektnamen anzeigt, sobald man den Mauscursor über die Karte hinwegzieht.

Die Untersuchung ergab, dass beide Varianten eine interessante Anwendung für den Benutzer darstellen. Die Java-Version ist aufgrund der Funktionalität die interessantere Lösung, aber etwas langsam. Aus diesem Grund haben wir die serverbasierte CGI-Applikation erweitert und zusätzlich nur eine kleine Realisierung mit einem Java-Applet durchgeführt. Beide Programme sind trotzdem funktionstüchtig.

Nach der Einarbeitungszeit erstellten wir einen Zeitplan, das Pflichtenheft und untersuchten die beiden gegebenen Lösungsansätze. Danach teilten wir die Arbeiten in die beiden Bereiche auf. Einer von uns arbeitete an der serverbasierten CGI-Applikation weiter, der andere an der Java-Version. Zwei Wochen vor dem Abgabetermin widmeten wir uns den Tests und der Dokumentation des ganzen Programms.

Bei der Arbeit verwendeten wir ausschliesslich die DEC-UNIX Workstations im SE-Labor. Die Programme sind alle in C, C++ und Java geschrieben und konnten mit dem FUSE-Editor implementiert und editiert werden. Die Programmdokumentation wurde auf einem PC mit Word 97 erstellt.

Die Aufgaben, welche die Diplomarbeit beinhaltete, konnten alle ausgeführt werden. Es stehen nun am Schluss der Arbeit zwei Versionen des Stadtplans zur Verfügung. Eine erweiterte CGI-Applikation und eine CGI-Applikation mit einem Java-Applet.

Fachgebietübersicht / Studentenverzeichnis

red_light Erprobung der CIP-Methode anhand einer Sensorensteuerung

white red Student: Rotzer Philipp
red Dozent: Müller Thomas Prof., Dipl. El.-Ing. HTL
red Kurzbeschreibung:

Im Fach Software-Engineering (SE) wird in Zukunft die Methode Communicating Interacting Processes (CIP) unterrichtet. Ziel dieser Arbeit war es, mit der Realisation eines kompletten umfangreicheren Systems, Erfahrungen mit CIP zu sammeln. Die Arbeit entstand zusammen mit der Firma J. Müller AG, welche CIP seit längerem einsetzt.

CIP ist eine formale Methode für die Entwicklung von verteilten reaktiven Systemen wie Prozesssteuerungen, Embedded- und Echtzeitsysteme. CIP unterscheidet sich von anderen Methoden durch einen realitätsbezogenen Ansatz. Das Entwicklungskonzept führt den Entwickler von der Modellierung der Umgebung bis hin zur vollständigen Definition der Funktionalität. Systeme können mit dem CIP Tool, ein Softwarewerkzeug mit graphischen Editoren und C-Codegeneratoren, spezifiziert werden. Aus den grafischen Modellen erzeugt das Tool reaktive Softwarekomponenten für das Zielsystem.

Die Firma J. Müller AG in Effretikon entwickelte ein vollautomatisches Gleisvermessungssystem namens PALAS. Es ermittelt die absolute Gleislage für Messfahrten oder für die Steuerung einer Unterhaltsmaschine. In geraumer Zeit wird der PALAS-Messwagen zwecks zusätzlicher Überwachung mit einem Sensor-Bus erweitert. In dieser Diplomarbeit wurde die Software für diesen Sensor-Bus erstellt. Das Design und die Implementation wurde mit CIP durchgeführt. Zusätzlich wurde eine Testsoftware erstellt, so dass die Funktionalität der entwickelten Komponente auf einfache Weise mit einem Benutzerdialog an einem Terminal getestet werden konnte. Während der Entwicklungszeit stellte die Firma J. Müller AG die komplette Entwicklungsumgebung sowie auch ein Modell für den Messwagen zur Verfügung.

CIP zeigte sich als eine zuverlässige und robuste Softwaremethode. CIP-Systeme lassen inkrementell entwickeln und ermöglichen eine flexible Wartung. Das CIP Tool erwies sich als sehr leistungsfähig und benutzerfreundlich.

Fachgebietübersicht / Studentenverzeichnis

red_light Ausfüllen der Steuererklärung mittels Internet

white red Student: Landolt Marcel
Mathis Benjamin
red Dozent: Müller Thomas Prof., Dipl. El.-Ing. HTL
red Kurzbeschreibung:

Jedes zweite Jahr müssen sämtliche Steuerpflichtige ihre Steuererklärung ausfüllen und an das Steueramt einreichen. Die Datenflut, die dabei bewältigt werden muss, hat die Steuerämter der Kantone Zürich und St. Gallen veranlasst, nach Möglichkeiten einer EDV unterstützten Veranlagung von natürlichen Personen zu suchen. Zu einem späteren Zeitpunkt ist eine elektronische Erfassung direkt durch die Bürger vorgesehen, um die Bearbeitung der Steuerklärung auch für sie einfacher zu gestalten.

Ziel dieser Arbeit war es, einen Prototyp zu entwickeln, der aufzeigt, wie die Bürger ihre Steuererklärung ausfüllen und an das Steueramt weiterleiten können. Der Steuerpflichtige soll mit dem Programm, welches während dieser Diplomarbeit erstellt wurde, schlussendlich seine Steuererklärung mittels Internet dem Steueramt übermitteln können.Dabei sollen neben einer einfachen und übersichtlichen Bedienung Themen wie Authentisierung, Datensicherheit und Online-Hilfe behandelt werden.

Für die Entwicklung und Modellierung des Prototyps eignen sich die Ideen der State-Event Technik. Auf einen externen Anreiz reagiert die Zustandsmaschine (Finite State Machine) unter Berücksichtigung interner Zustände und antwortet mit einem von uns vordefiniertem Verhalten.

Bis auf wenige Einschränkungen konnten die geforderten Ziele erreicht werden. Das in Java und JavaScript geschriebene Programm ist imstande, den Benutzer von der Beantragung eines Passwortes bis zur Abgabe der Steuererklärung zu führen. Die Datensicherheit konnte durch den Verschlüsselungsmechanismus SSL (Secure Socket Layer) erreicht werden. Die Authentisierung des Benutzers erfolgt über einen Brief, der das Passwort enthält und via Post vom Steueramt zum Steuerpflichtigen versandt wird.

Einschränkungen mussten gemacht werden, weil zum Zeitpunkt dieser Arbeit die neueste Browsergeneration von Microsoft (Explorer 4.0) nicht am Technikum verfügbar war und deshalb nicht mit ihr getestet werden konnte.

Fachgebietübersicht / Studentenverzeichnis

red_light Barcodeleser für Post-Strichcode

white red Student: Piras Sandro
Zellweger Roman
red Dozent: Zeman Jan Prof., Dr. sc. techn. Dipl. El.-Ing. ETH
red Kurzbeschreibung:

Bei der automatisierten Briefsortierung der PTT werden die Briefumschläge im C4-Format mit einem Barcode bedruckt. Dieser Barcode enthält Verteiler-informationen. In unserer Diplomarbeit ging es darum, diesen Barcode zu analysieren. Die Arbeit, welche die Weiterführung einer Projektarbeit war, konnte in zwei Hauptteile aufgeteilt werden. Zum Einen war dies die Digitalisierung des Barcodes, zum Anderen die Auswertung dieser Daten.

Zuerst mussten wir uns in den Code des bestehenden Barcodelesers einarbeiten. Dazu war es nötig, uns einen Überblick über Visual C++ 4.2 des Microsoft Developer Studios zu verschaffen, was eine Menge Zeit in Anspruch nahm.

Wir entschieden uns, die Barcodeerkennung in die Phasen Farbfilterung, Neigungsbestimmung und Barcodeauswertung einzuteilen. Eine Texteingabe, sowie die Möglichkeit Daten abzuspeichern und einzulesen, wurden eingebaut. Dies gewährleistet die sinnvolle Verwaltung der berechneten Daten.

Zur Bildaufnahme verwendeten wir einen Handscanner, einen Flachbettscanner und eine Digitalkamera, welche mit der Schnittstelle TWAIN angesteuert wurden. Für die Digitalkamera musste eine Einrichtungsbox mit einigermassen homogener Beleuchtung und konstantem Abstand zum Barcode gebaut werden. Ausserdem realisierten wir die Ansteuerung dieser Digitalkamera über die AVI-Schnittstelle. Gegenüber TWAIN hat AVI den Vorteil, dass der Programmieraufwand reduziert wird. Dann war es nötig, den Farbfilter für die diversen Geräte anzupassen. Dies liegt in der Natur der Sache, da jedes Gerät andere Eigenschaften besitzt.

Das Barcodeleser-Programm, welches mit dem Flachbettscanner arbeitet, gewährleistet eine sichere Auswertung des Barcodes. Die Erkennung mittels Digitalkamera ist diffizil in der Handhabung, bei passenden Lichtverhältnissen funktioniert sie jedoch sehr zuverlässig. Um die Anwendung mit Handscanner einwandfrei zu benutzen, werden noch Informationen vom Hersteller benötigt.

Fachgebietübersicht / Studentenverzeichnis

red_light Multiprozessor-DSP-System für akustische Messung

white red Student: Schmid Andreas
red Dozent: Zeman Jan Prof., Dr. sc. techn. Dipl. El.-Ing. ETH
red Kurzbeschreibung:

Die Firma Sulzer Innotec AG benutzt für ihre Lärmmessungen Reihenrichtmikrophone. Diese bestehen aus mehreren Mikrophonen auf einer geraden Halterung. Mit Hilfe dieser Arrays können Schallquellen im Raum und deren Quellenleistung ermittelt werden. Bis anhin wurden bei Messungen die Mikrophondaten aufgezeichnet und im Labor ausgewertet.

Am Technikum Winterthur wurde während einer Projektarbeit im Frühling 97 ein Programm für den digitalen Signalprozessor (DSP) TMS320C44 entwickelt, welches die Auswertung in Real-Time auf einem Prozessor durchführt. Mit dem Programm konnten Aussagen über die maximale Rechenleistung des DSP-System mit einem sowie mit mehreren Prozessoren gemacht werden.

Während der Diplomarbeit wurde das bestehenden Programm weiterentwickelt:

  • Die erste Teilaufgabe der Diplomarbeit bestand darin, das Programm und die Auswertung auf Fehler zu untersuchen.
  • Im zweiten Teil der Diplomarbeit musste das Programm für die Portierung auf ein Mehrprozessorsystem vorbereitet werden. Gleichzeitig sollten die Möglichkeiten, die Eingangsdaten beliebig digital zu filtern und das Eingangssignal mit Oversampling einzulesen, eingebaut werden. Speziell musste darauf geachtet werden, dass das System modular aufgebaut ist und die einzelnen Programmteile dadurch wiederverwendbar sind.


Fachgebietübersicht / Studentenverzeichnis