Abteilung Informatik, Kommunikation und Elektrotechnik
 

 

Software

red_light Open Source Webshop 2 / 2

red Student: Fontanil José
Glanzmann Reto
red Dozent: Feisthammel Patrick
 
red Kurzbeschreibung:

Die Entwicklung eines frei verfügbaren, beliebig konfigurier- und erweiterbaren Open Source Webshops war das Ziel, welches wir uns zu Beginn unserer Diplomarbeit setzten.

Entstanden ist ein Shopsystem, welches Artikel mit beliebig vielen Optionen und Varianten unterstützt. Der Shopkunde kann sich bei Bedarf seine Adressdaten benutzername- und passwortgeschützt speichern lassen, damit bei einem späteren Einkauf die Adresse nicht nochmals eingegeben werden muss. Per Suchfunktion kann komfortabel im Shop nach bestimmten Artikeln gesucht werden. Verschiedene frei konfigurierbare Zahlungsarten sind implementiert, so dass mittels Payment-Schnittstelle mit geringstem Aufwand die Anbindung an ein Online-Payment Institut möglich ist.

Der Shopadministrator tätigt alle Einstellungen direkt per Webinterface. Ein umfangreiches Layout-Management ermöglicht es, das Shopaussehen bis ins letzte Detail zu konfigurieren (Hintergrundbilder, Framegrösse, Shoplogo, eigene Buttons). Artikel können erstellt, verändert und gelöscht werden. Ausserdem ist es möglich, einen Artikel mehreren Kategorien zuzuordnen. Per Kategorienmanagement können Kategorien und Unterkategorien erstellt, umbenannt, verschoben und gelöscht werden. Optional kann für das Entgegennehmen der Kreditkartendaten eine SSL-Unterstützung aktiviert werden. Versandkosten werden nach Gewicht, Preis oder Pauschal verrechnet. Mindermengenzuschlag und Nachnahmegebühren können dynamisch dem Rechnungstotal dazu addiert werden.

Der Shop wurde in PHP und JavaScript entwickelt. Alle Daten werden in einer MySQL-Datenbank gespeichert. Die Installation erfolgt bequem mittels eines Perl-Scripts.

Wie schon im Titel erwähnt, wurde der Shop als Open Source Projekt auf SourceForge entwickelt. Das heisst, dass der Quellcode frei verfügbar ist und der Shop uneingeschränkt verwendet und weiterentwickelt werden kann. Aktuelle Informationen und ein Beispielshop finden sich auf der Seite http://www.phpeppershop.com.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Web Content Management System

red Student: Duersteler Michael
Spycher Roman
red Dozent: Ferri Reto
 
red Kurzbeschreibung:

Mit zunehmender Komplexität und Grösse einer herkömmlichen Website nimmt der Aufwand zur Aktualisierung des Inhalts überproportional zu. Das Internet gilt als schnelles Medium und ein Besucher einer Website erwartet, dass diese immer auf dem aktuellsten Stand ist.

Dies ist jedoch nicht immer ganz einfach, was an der verwendeten Technologie HTML liegt. Diese Sprache hat den gravierenden Nachteil, dass sie Layout und Inhalt vermischt. Dies führt dazu, dass alle Informationen explizit fürs Internet aufbereitet werden müssen. Skriptsprachen können diesen Nachteil etwas verringern, indem sie dynamische Inhalte an einer bestimmten Stelle im HTML-Code einsetzen. Dies stellt jedoch keine Lösung des eigentlichen Problems dar. Abhilfe schafft hier einzig eine neue Technologie, eXtensible Markup Language XML. In einer XML-Datei werden lediglich Daten strukturiert abgespeichert, welche erst zum Darstellungszeitpunkt mittels Stylesheets in die gewünschte Form transformiert werden.

Daruch wird eine Website jedoch nicht minder komplex. Ausserdem sind immer noch XML-Kenntnisse nötig, um den Inhalt der Website verändern zu können. Content Management Systeme ermöglichen auch Laien die Verwaltung der einzelnen Bereiche und Seiten. Ausserdem kann der Unterhalt der Website auf mehrere Personen aufgeteilt werden, die bestimmte Bereiche ihren Rechten entsprechend bearbeiten können.

Im Rahmen dieser Diplomarbeit wurde ein Content Management System erarbeitet, das über ein Webinterface benutzt werden kann. Dadurch kann ein Internetauftritt unabhängig von Ort, Zeit und Raum administriert werden. Einzige Voraussetzung ist ein Computer mit Browser und Internetanschluss.

Das entwickelte Content Management System setzt dabei auf offene Standards wie Java und XML sowie Open-Source-Projekte und ist komplett objektorientiert aufgebaut. Damit ist gewährleistet, dass keine proprietären Technologien verwendet werden. Positiver Nebenaspekt ist ausserdem, dass keine Lizenz

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Intelligente Verfahren für Indexer

red Student: Mathis Andrea
Ryser Christoph
red Dozent: Ferri Reto
 
red Kurzbeschreibung:

In einer Projektarbeit wurde ein Framework entwickelt, um aus Textdateien bestimmte Schlüsselwerte zu extrahieren. Die Algorithmen funktionierten nur unter sehr spezifischen Voraussetzungen. So musste beispielsweise die ungefähre Position des zu extrahierenden Schlüsselwertes vom Benutzer definiert werden. Unser Ziel war es, intelligentere Algorithmen und eine Ablaufsteuerung, welche die Extraktionsverfahren steuert, zu entwickeln. Es schien uns wichtig, dass die Algorithmen qualitative Resultate erbringen ohne dass alle Details eines Dokumentes zuerst vom Benutzer definiert werden müssen. Würde man so etwas vom Benutzer verlangen, müsste er den Inhalt der Dokumente kennen. Wäre dies der Fall, so bräuchte es keine intelligenten Verfahren.

Die tägliche Korrespondenz von Unternehmen führt zu einer Ansammlung sehr vieler Textdokumente. Will man diese Textdokumente in einem Document Management System archivieren, müssen die Dokumente vorerst gruppiert werden. Dafür eignet sich das Einteilen der Dokumente in sogenannte Dokumentklassen sehr gut. Aus dieser Situation heraus identifizierten wir den Anwendungsfall "Klassifizieren". Dieser Anwendungsfall versucht, Textdokumente definierten Dokumentklassen zuzuordnen. Eine andere Situation ist die, dass ein Benutzer am Inhalt des Dokumentes interessiert ist. Die allermeisten Briefe bestehen aus mehreren Textblöcken. Wir definierten den zweiten Anwendungsfall "Blocktyp erkennen", welcher ein Dokument in Textblöcke aufteilt und anschliessend versucht, die Blöcke einem definierten Blocktypen zuzuweisen.

Zudem entwickelten wir eine Ablaufsteuerung, mit der die Verarbeitungsschritte aufgerufen werden. Beim Design der Ablaufsteuerung war die Wiederverwendbarkeit dieser Komponente ein wichtiges Kriterium. Für uns schien es wichtig, dass bei einer Erweiterung unserer Software mit zusätzlichen Verarbeitungsschritten die Ablaufsteuerung beibehalten werden kann.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Persistence Container

red Student: Ehinger Marc
Gnehm Thomas
red Dozent: Ferri Reto
 
red Kurzbeschreibung:

"Das dauerhafte Speichern von Daten ist in fast jeder Anwendung eine Notwendigkeit. Weitaus am häufigsten werden dafür relationale Datenbanken eingesetzt."

Für die Programmierung von Applikationen werden zunehmend objektorientierte Programmiersprachen verwendet. Erschwert wird dieser Speichervorgang durch die unterschiedlichen Datenmodelle von relationaler Datenbanken und objektorientierter Programmiersprachen. Die Aufgabe unseres "Persistence Container" ist es, den Zustand bestimmter Objekte einer Anwendung in einer relationalen Datenbank, über die Lebenszeit eines Prozesses hinaus dauerhaft zu speichern. Solche Objekte werden als persistente Objekte bezeichnet. Wenn Zustandseigenschaften von Objekten verändert werden, wird dies von unserem Container erkannt und er macht diese Attribute auch wieder persistent. Das Ziel des dauerhaften Speichern vom Objektzustand ist es, dass nach einem Neustart des Systems wieder auf das Objekt zugegriffen werden kann, als hätte das Programm nie terminiert.

Die eigentliche Speicherung wird an einen Persistence Service delegiert, der bereits als Grundlage für diese Diplomarbeit von unserem Betreuer, Herrn Reto Ferri, zur Verfügung gestellt wurde. Mit einem einfachen Transaktionsmechanismus ermöglichen wir Veränderungen an Objekten vorzunehmen. Diese Veränderungen werden entweder gesamthaft abgespeichert oder wieder rückgängig gemacht. Objekte können untereinander beliebige Beziehungen haben. Unser "Persistence Container" unterstütz also nicht nur 1:1 Beziehungen bei Objekten, sondern auch 1:n Beziehungen. Es müssen Schlüssel erstellt werden, welche dazu dienen Objekte in einer 1:n Beziehung zu finden. Die vorliegende Version unterstütz den "Single Thread"-Modus und kann somit nicht von mehreren Prozessen parallel benutzt werden.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Operations Simulator mit Java3D

red Student: Baer Simon
Pellaton Michael
red Dozent: Früh Peter Prof. Dr.
 
red Kurzbeschreibung:

Die minimal invasive Chirurgie hat in den vergangenen Jahren stark an Verbreitung zugenommen. Damit stieg auch der Bedarf an Trainingsgeräten zur Ausbildung der Ärzte. In diesem Gebiet bietet die computergestützte Simulation ein enormes Potential.

Ein internationales Forschungsprojekt, an dem sich die Zürcher Hochschule Winterthur beteiligt, hat das Ziel, eine Umgebung für die Simulation chirurgischer Eingriffe zu entwickeln. Diese Diplomarbeit hatte im Hinblick auf dieses Forschungsprojekt das Ziel, allgemeines Wissen in der dreidimensionalen Simulations-Technologie und speziell bezüglich eventueller Problemstellungen und Einschränkungen aufzubauen.

Unsere Aufgabe bestand darin, ein einfaches Simulationsprogramm für minimal invasive chirurgische Operationen zu entwickeln. Dabei war es besonders wichtig, dass sich die simulierten Organe auf einleuchtende Weise verhalten und dass die Darstellung auf dem Bildschirm flüssig erscheint. Das Operationsinstrument und die Videokamera können vom Benutzer innerhalb der Operationsszene bewegt werden. Mit dem Instrument lassen sich die Organe verformen und verschieben. Stossen mehrere Organe aneinander, verformen sie sich gegenseitig.

Nachdem wir uns in die benötigten Themengebiete eingearbeitet hatten, implementierten wir den Operationssimulator schrittweise. Zuerst konzentrierten wir uns auf die visuelle Darstellung der einzelnen Objekte. Dann wurden der Simulation die physikalischen Eigenschaften nach und nach hinzugefügt. Die bei Ende der Arbeit vorliegende Version des Operationssimulators erfüllt alle anfänglich gestellten Anforderungen.

Als physikalisches Modell für die Simulation verwendeten wir ein Masse-Feder Modell. Damit die Simulation am Bildschirm flüssig erscheint, muss es mindestens 20 Mal pro Sekunde komplett durchgerechnet werden. Die gewünschte Geschwindigkeit konnte nur durch starke Vereinfachungen des physikalischen Modells erreicht werden. Trotzdem ist das Ergebnis erstaunlich

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Datenvisualisierung von Echtzeit-Prozessen

red Student: Rohner Markus
Wirthlin Beat
red Dozent: Früh Peter Prof. Dr.
Baker Gion
red Partnerfirma: Institut für mechatronische Systeme, ZHW
 
red Kurzbeschreibung:

In der heutigen Zeit werden an immer mehr Orten so genannte "Embedded Systems" eingesetzt. Das Institut für Mechatronische Systeme IMS ist in diesem Bereich tätig. Dabei wird bei Regelsystemen, oft das javabasierte Echtzeit-Betriebssystem Jbed eingesetzt. Im Betrieb fallen bei solchen Systemen fortlaufend grosse Mengen von Prozessdaten an, welche zur Überwachung, Konfiguration und Optimierung des Systems benötigt werden.

In unserer Arbeit wurde ein Visualisierungs-Framework entwickelt, mit welchem diese Prozessdaten auf dem Zielsystem erfasst und auf einem Prozessleitrechner visualisiert werden können.

Das Visualisierungs-Framework ist dabei in drei Schwerpunkte gegliedert:

Die Datenerfassung hat die Aufgabe, auf dem Zielsystem die Regelprozess-Daten zu erfassen und diese in einer geeigneten Datenstruktur abzulegen. Die Prozesse, welche die Daten erfassen, sind ebenfalls als Realtime-Tasks implementiert. Dadurch kann garantiert werden, dass die Prozessdaten mit einer exakten, vordefinierten Periode erfasst werden. Im Weiteren sind die Datenerfassungs-Prozesse triggerbar. Das heisst, es kann ein Ereignis definiert werden, auf dessen Eintreten die Erfassung neu gestartet wird.

Das Kommunikations-Modul, für die Verbindung zwischen Ziel- und Leit-System, wurde mittels Remote Method Invocation RMI realisiert, weil dadurch auf einfache Weise sowohl der Austausch von Daten als auch der entfernte Aufruf von Methoden möglich ist.

Die letzte Komponente dient der Visualisierung der gesammelten Daten. Dazu stehen mehrere Ansichten zur Verfügung, mit welchen die Prozessdaten unterschiedlich dargestellt werden können. Die verschiedenen Parameter zur Erstellung eines Datenerfassungs-Prozesses sind in einer Konfigurationsdatei abgelegt. Dies beinhaltet unter anderem die Erfassungsperiode, die zu verwendende Buffergrösse und die Art, wie die Daten auf dem Leitsystem dargestellt werden sollen.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Multimodales Benützerinterface

red Student: Kern Daniel
red Dozent: Hutter Hans-Peter Dr.
 
red Kurzbeschreibung:

Heutige Zeichnungsprogramme können ausschliesslich mit Maus und Tastatur bedient werden. Für viele Vorgänge ist dies die effizienteste Eingabetechnik, z.B. beim Selektieren und Verschieben. Andere Vorgänge sind hingegen ziemlich umständlich per Maus auszuführen, z.B. das Setzen der Strichdicke oder das Ausrichten von Objekten. Hier wäre eine Befehlseingabe per Sprache viel effizienter, da der Anwender meistens sehr genau weiss, was er will, aber nicht, wie er dies erreichen kann.

Diese Diplomarbeit startete vom Konzept eines existierenden multimodalen Zeichnungsprogramms mit eher einfacher Funktionalität. Das Ziel war es, die Möglichkeiten der multimodalen Eingabe, durch eine beachtliche Vergrösserung der Funktionalität des Programms, zu demonstrieren. Zusätzlich musste eine neue Spracherkennungssoftware in das Programm integriert werden. Das Resultat dieser Arbeit ist ein neues Zeichungsprogramm, welches grafische und gesprochene Eingaben in einer flexiblen multimodalen Eingabemethode zusammenführt. Dabei kann der Benutzer beliebig zwischen diesen beiden Möglichkeiten wechseln. So ist es möglich einen Menüeintrag zu selektieren, indem man mit einem Sprechkommando beginnt und die Auswahl mit der Maus beendet. Dabei steuern die Sprechkommandos den Mauszeiger zum gewählten Menüeintrag und die erscheinenden Untermenüs geben dem Benutzer Hinweise auf die möglichen Kommandoerweiterungen. Wenn der Benutzer mit der Maus durch ein Menu navigiert, wird der Fokus des Erkennungsnetzwerkes laufend entsprechend verschoben.

Einer der grössten momentanen Nachteile diese Konzepts ist die, durch die benötigte Fokusverschiebung, verlangsamte Menünavigation per Maus.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light e-Voting mit Mobilfunktelefonen

red Student: Ruckstuhl Thomas
Schenker Silvio
Strassmann Reto
red Dozent: Hutter Hans-Peter Dr.
Steffen Andreas Dr.
red Partnerfirma: Swisscom AG, CT-ITA, CH-3050 Bern
 
red Kurzbeschreibung:

e-Voting mit Mobilfunktelefonen bedeutet: Jeder Wahlberechtigte hat die Möglichkeit, mit seinem Mobilfunktelefon zu jeder Zeit und an jedem Ort seine Stimme abzugeben. Der Datenschutz während des Wahl- und Abstimmungsvorganges wird dabei zu jeder Zeit gewährleistet. Sowohl Abstimmungen wie auch Wahlen können auf dem Mobilfunktelefon durchgeführt werden.

Die bestehende Implementation "eVoting" von Hans Pan und Werner Sennhauser stellt einen Abstimmungsdienst für Internet-Browser zur Verfügung. In diesem Projekt haben wir für die bestehende Implementation einen Client speziell für Mobilfunktelefone entwickelt. Dieser Client basiert auf der Java 2 MicroEdition (J2ME) Plattform von Sun Microsystems, die für Geräte mit geringen Ressourcen entwickelt wurde. Zusätzlich überprüften wir, ob der von uns implementierte Stimm- und Wahlprozess mit Mobilfunktelefonen mindestens die Sicherheitsanforderungen des herkömmlichen Verfahrens - ohne elektronische Hilfsmittel - erfüllt.

Für die Entwicklung des Clients auf dem Mobilfunktelefon verwendeten wir neueste Technologien, die teilweise noch in der Beta-Version stehen: So setzten wir kSSL (kilo Secure Sockets Layer) ein, um eine sichere SSL-Verbindung zwischen dem Mobilfunktelefon und dem Server aufzubauen. Dabei wird anhand eines X.509-Zertifikats die Identität des Servers überprüft und die Daten mit einem 128-Bit-RC4 Algorithmus verschlüsselt. Weiter wurde kSOAP (kilo Simple Object Access Protocol) verwendet, um die Daten in einem standardisierten Format dem VoteServer zu senden. Die SOAP-Umschläge werden dabei über HTTP zum Web-Server übertragen. Die SOAP-Infrastruktur ist über ein Software-Interface mit der bestehenden Implementation von Hans Pan und Werner Sennhauser verbunden.

Die Verbindung zwischen dem mobilen Client und dem Webserver basiert auf TCP/IP. Deshalb benötigt das Mobilfunktelefon lediglich eine Verbindung zu einem Internet-Provider.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Darstellung von XML-Daten auf einem PalmPilot

red Student: Hofmann Martin
Lamprecht Stefan
Schoch Marcel
red Dozent: Müller Thomas Prof.
red Partnerfirma: ABB Corporate Research Ltd, CH-5405 Baden-Dättwil
 
red Kurzbeschreibung:

Die Firma ABB haucht zur Zeit ihren Geräten für Mittelspannungsschutz (Fachbegriff: Mittelspannungschalter, 24'000V/1'600A) mit Internet-Technologie neues Leben ein. Eine Anlage soll nicht nur vor Ort, sondern über ein Netzwerk von allen Orten dieser Welt kontrollierbar sein.

Ein Forschungsteam hat in die Mittelspannungsschalter einen Webserver integriert (Projekt WEBREF). Dieser embedded Webserver bietet die meisten Daten als XML-Files an. Ebenfalls liefert er HTML-Seiten, welche die XML-Daten mit Hilfe von JavaScript und DOM darstellen.

Idee ist nun, diese Anlagen ebenfalls mit einem Palm (Handheld, PDA) bedienen zu können. Damit könnte in Zukunft eventuell auf eine kostspielige Bedieneinheit am Gerät verzichten werden, diese Aufgabe würde der Palm übernehmen. Der Techniker könnte via Bluetooth Kontakt zur Anlage aufnehmen, Messwerte kontrollieren, Alarme prüfen und auch Schalterstellungen ändern. Leider existieren für Palm OS (Betriebssystem für Palms) keine Browser, welche mit den dynamischen Webseiten, die der embedded Webserver liefert, umgehen kann.

In dieser Diplomarbeit wurde eine PalmOS-Applikation entwickelt, welche die Aufgaben des Browsers übernimmt und die Daten "palmgerecht" visualisiert. Der Palm kann über eine serielle Verbindung mit dem Webserver Kontakt aufnehmen und die Daten mit Hilfe des HTTP-Protokolls empfangen. Die übertragenen XML-Dateien werden dann von einem Parser in eine interne Darstellung übersetzt, bevor sie in einer ansprechenden Darstellung dem Anwender präsentiert werden. Nebst diesen Basisaufgaben wurde auch ein Parser und Renderer für SVG (Scalable Vector Graphic) entwickelt, da der Webserver einige Messwerte und ein Diagramm der Schalterstellung in diesem modernen Vektorgrafikformatliefert.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light SMS Server mit hoher Zuverlässigkeit

red Student: Studer Marco
Von Arx Walter
red Dozent: Müller Thomas Prof.
red Partnerfirma: Netcetera AG, CH-8040 Zürich, http://www.netcetera.ch
 
red Kurzbeschreibung:

Ein SMS-Server ist grundsätzlich in der Lage Short Messages zu empfangen und zu versenden, wobei Schnittstellen zu anderen Kommunikationskanälen wie beispielsweise Email seine Funktionalität erweitern. Ein Anwendungsgebiet eines solchen Servers ist im E-Commerce zu finden. Die beschränkte Nachrichtenlänge von 160 Zeichen reicht aus, um z.B. Umfragen per SMS durchzuführen.

Ziel dieser Diplomarbeit war die Realisierung einer Kommunikationsplattform in Form eines solchen SMS-Servers. Kernanforderungen waren eine hohe Betriebsstabilität und eine Überwachung der Kommunikationskanäle, so dass keine Nachrichten aufgrund einer Fehlfunktion verloren gehen. Die Anbindung des Servers an unterschiedliche Kommunikationskanäle sollte mittels einfach zu implementierender Plugins realisiert werden. Dadurch sollte die Skalierbarkeit des Servers gewährleistet werden.

Die implementierte Version des SMS-Servers erfüllt die Anforderungen der Aufgabenstellung. Die Filterung der Nachrichten erlaubt das Versenden von Nachrichten von einem beliebigen Quell- zu einem beliebigen Zielkanal, d.h. die Funktionalität geht über das reine Versenden von SMS hinaus. Weiter möglich ist die Angabe von Gruppenname auf Quell- und Zielseite. Dadurch ist es sowohl möglich, alle von Mitgliedern einer Gruppe gesendeten Nachrichten gesondert zu behandeln, als auch Nachrichten in Form eines Multicasts an eine ganze Gruppe zu versenden. Die Anbindung an eine Datenbank ermöglicht die dauerhafte Speicherung von Informationen bezüglich Nachrichten, Filterregeln und Gruppen. Eine Recovery-Funktion sorgt dafür, dass nach einem Absturz des Servers keine Nachrichten verloren gehen und dass im Betrieb periodisch versucht wird, nicht gesendete, aber gültige Nachrichten doch noch zu verschicken. Die Überwachung des Servers ist mittels eines Management-Interfaces und eines Logfiles gewährleistet. Es wurde sehr darauf geachtet, dass alle vorhandenen Bestandteile einwandfrei funktionieren.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Erhöhung des QoS im Supply Chain Management mittels BizTalk

red Student: Haemmerli Martin
Marquard Adrian
red Dozent: Rege Karl Dr.
red Partnerfirma:

Microsoft Schweiz
SIG Pack Systems AG, CH-8222 Beringen

 
red Kurzbeschreibung:

Diese Diplomarbeit wurde als Teilprojekt in einem Gesamtprojekt der SIG Pack Systems AG/ICC realisiert. Das Gesamtprojekt eCap2 hat zum Ziel, die Prozessabläufe in der Supply Chain zwischen dem Abfüller Coca Cola Beverages in Wien und der Verpackungsfirma SIG zu automatisieren und zu optimieren. Konkret wurden Forecast-, Ship-, Invoice- und Orderprozesse als Workflow auf dem BizTalk 2000 Server von Microsoft abgebildet. Auftrag des Teilprojekt war es, herauszufinden, wie der Quality of Service erhöht werden kann. Das Hauptaugenmerk wurde auf die folgenden drei Gebiete festgelegt: Prozesse, Systemdaten und die Verfügbarkeit.

Die Verfügbarkeitskontrolle testet die in der Supply Chain existierenden Systeme (SAP R/3, Webserver, Mailserver etc.) auf ihren Zustand. Alle erhaltenen Daten werden zur sofortigen oder für eine spätere Analyse abgelegt.

Ein weiteres wichtiges Gebiet ist die Prozesskontrolle. Im behandelten Beispiel wird die Prozessfolge und die jeweilige Prozessübergangsdauer mit flexibel definierbaren Werten verglichen und überwacht. Benötigt ein Prozessübergang länger als die maximal definierte Zeit oder fällt ein Folgeprozess sogar aus, wird die verantwortliche Person umgehend per Mail informiert. Da die Prozesse asynchron und nicht in einer eindeutigen Reihenfolge ablaufen, muss die Kontrolle dementsprechend dynamisch ausgelegt werden.

In der Systemdatenkontrolle wird im Speziellen der Lagerbestand der Verpackungen des Abfüllers geprüft. Dazu wird der Lagerbestand mit dem festgelegten kritischen Bestand verglichen. Entscheidend werden diese Werte aber auch von der Lieferzeit beeinflusst. Fällt der Lagerbestand unter den kritischen Wert innerhalb der Lieferzeit, wird die verantwortliche Person der SIG alarmiert.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light J2EE Architektur Prototyp

red Student: Gassmann Marc
Romann Christoph
red Dozent: Rege Karl Dr.
red Partnerfirma: COMIT GRUPPE, CH-8004 Zürich
 
red Kurzbeschreibung:

Der Schwerpunkt dieser Diplomarbeit ist die Anwendung der J2EE Architektur. Es werden die Stärken und Schwächen der aktuellen Version (1.1) untersucht und im Hinblick auf die sich noch in der Vernehmlassung befindenden Version 2.0 Lösungsansätze und generelle Verbesserungsvorschläge formuliert.

Ein weiterer Schwerpunkt liegt in der Anwendung von Struts (Apache Software Fondation). Diese implementieren ein Framework auf der Basis von Java Server Pages (JSP) und Java Servlet Technologie der Firma Sun Microsystems. Struts ermöglichen die klare Trennung von Benutzerschnittstelle und Anwendungslogik, gemäss dem Model-View-Controller (MVC) Entwurfsmuster.

Untersucht wird weiter, wie sich die Struts Logik in eine Anwendung integrieren lässt. Ein wichtiger Aspekt in diesem Zusammenhang ist das Zusammenspiel von Webpublisher, welcher für das Layout einer Webapplikation zuständig ist und dem Applikations(logik)entwickler. Die dabei entstehenden Probleme werden analysiert und entsprechende Lösungsvorschläge, bzw. generelle Vorgehensmodelle entwickelt.

Als Fallstudie wird eine Optionenbewertungen der Comit Gruppe in beschriebener Technologie als Prototyp implementiert. Dabei wird besonderes Gewicht auf die Wiederverwendung bestehender und neuer Teile gelegt.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Eignung von Java für die PalmOs Entwicklung

red Student: Gaudenz Roman
red Dozent: Rege Karl Dr.
red Partnerfirma: Netcetera AG, CH-8040 Zürich, http://www.netcetera.ch
 
red Kurzbeschreibung:

Java hat sich auf dem PC und im Enterprise-Bereich durchgesetzt. Als weitere Java 2 Architektur hat Sun für kleine und mobile Geräte die Microedition mit CLD-Configuration und MID-Profile veröffentlicht. Dies ist für die Anwendungs-Entwicklung auf dem Palm OS eine Alternative zum Palm SDK. Im Rahmen dieser Arbeit ist untersucht worden, ob Java für Software-Entwicklungen auf dem Palm OS geeignet ist und welche Features unterstützt werden. Es sind aus diesem Grund zwei Anwendungen erstellt worden. Eine offline Datenerfassung mit Datensynchronisation sowie eine IR-Fernbedienung eines simulierten Roboters. Es ist mit JBed von Esmertec auch eine alternative Technologie untersucht worden. Dabei wurde die Performance sowie andere Eigenschaften verglichen. Es zeigte sich, dass JBed mehr Speicher benötigt und nicht unbedingt schneller ist. J2ME wurde von Sun als Framework definiert, wobei es den Geräteherstellern überlassen wird, kompatible JVMs zu implementieren. Welche Features unterstützt werden, hängt also vom Anbieter ab. Suns KVM für Palm OS bietet, im Gegensatz zu JBed, keine Serial-Port-Unterstützung. Beide JVMs unterstützen Netzwerk-Funktionalitäten. Suns KVM bietet keine Floating-Point Unterstützung. Das GUI-Design ist ebenfalls stark eingeschränkt. Allerdings können einige nicht vorhandene Funktionen von Drittanbietern nachgerüstet werden. Somit komme ich zu folgendem Fazit: Java ist mit wenigen Einschränkungen prinzipiell für die Anwendungsentwicklung auf Palm OS geeignet.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Internet Information Broker basierend auf WebServices

red Student: Gantenbein Christian
Zuber Hans Peter
red Dozent: Rege Karl Dr.
 
red Kurzbeschreibung:

Ein Information Broker ist ein Informationsverdichter, der Daten von verschiedenen Informationsquellen sammelt, umformt und in einer dem Informationsbezieher geeigneten Form zur Verfügung stellt. Eine Möglichkeit, mit der Informationsanbieter ihre Informationen auf dem Internet bereitstellen können, bietet das Standard-Protokoll SOAP (Simple Object Access Protocol), was jedoch für viele Firmen einen enormen initialen Aufwand darstellt. Eine andere Möglichkeit, mit der Firmen ihre Informationen auf dem Internet zugänglich machen können, sind HTML-Dokumente, die auf deren Webseiten leicht zugreifbar sind.

Die Aufgabe dieser Diplomarbeit war es, eine Komponente zu entwickeln, die über das Internet zugreifbar ist und mit der es möglich ist, beliebige Informationen aus unterschiedlichen HTML-Seiten zu extrahieren und dem Informationsbezieher in einer nützlichen Form anzubieten.

Realisiert wurde ein Server, der SOAP-Requests entgegennimmt und die gesuchten Informationen aus dem Internet bezieht und mittels SOAP-Response zurückgibt. Die Komponente kann mit Hilfe einer XML-Beschreibung an unterschiedliche HTML-Seiten angepasst werden. Das System unterstützt Authentisierung sowie Session Handling (Cookies, URL-Encoding, Hidden-Fields).

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Distributed Java Component Server

red Student: Seelhofer Martin
Soldati Fabio
red Dozent: Steffen Andreas Dr.
red Partnerfirma: SunGard Trading and Risk Systems, SunGard AG, CH-8002 Zürich
 
red Kurzbeschreibung:

Aufgabe unserer Diplomarbeit war es, eine Client-/Server-Architektur zu entwerfen und umzusetzen, welche ein bestehendes Komponenten-Framework um einen Verteilmechanismus für die anfallenden Log-Daten erweitert. Das bestehende Framework wurde von der Firma "SunGard Trading and Risk Systems" in Zürich entworfen und dient dem Zweck, die Integration unterschiedlicher Systeme und deren Daten zu vereinfachen. Es bietet die Möglichkeit, Daten aus einer beliebigen Quelle zu lesen, diese nach eigenen Regeln zu transformieren und danach in ein beliebiges Ziel zu schreiben, wobei für solche Ablaufsmuster der Begriff "Dataflow" verwendet wird.

Wie sich in der Analysephase zeigte, besass das bestehende System ein schwerwiegendes Problem, welches früh in der Design-Phase gelöst werden musste: die meisten der generierten Log-Daten konnten nicht eindeutig einem Dataflow zugeordnet werden. Unser System löst das Problem mit einem ungewöhnlichen zugleich aber sehr simplen Ansatz: Es führt jeden Dataflow in einem separaten Betriebssystemprozess aus.

Während Java als Programmiersprache und Zielplattform als Rahmenbedingung vorgegeben war, wurde der System-Entwurf und die Wahl der zu verwendenden Netzwerk-Technologien uns selbst überlassen. Nach einem Vergleich der wichtigsten fünf in Frage kommenden Technologien, haben wir uns für den Einsatz von RMI als Kommunikations-Protokoll entschieden. Auf den ersten Blick schien sich zwar der Einsatz einer Multicast-fähigen Technologie geradezu aufzudrängen. Der Komplexitätsgrad einer solchen Lösung hätte allerdings nicht im Verhältnis zum Bandbreiten-Gewinn gestanden.

Eine der Hauptanforderungen an unsere Lösung bestand darin, die Kopplung an das bestehende Framework so gering wie möglich zu halten, damit dieses so unabhängig wie möglich weiterentwickelt werden kann. Es ist uns dabei gelungen, die am bestehenden System nötigen Anpassungen auf ganze 22 Zeichen Quellcode zu begrenzen!

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Cressida, ein mobiler Roboter mit VxWorks

red Student: Kalt Andreas
Schleiss Andreas
red Dozent: Thaler Markus Dr.
Naas Omar
 
red Kurzbeschreibung:

Das Hauptziel unserer Diplomarbeit war die Implementation eines objektorientierten Echtzeit-Frameworks basierend auf dem Betriebssystem vxWorks von WindRiver Systems zur Ansteuerung der mobilen Roboterplattform Cressida. Zusätzlich wurde eine Treiberschnittstelle für die Ansteuerung der Hardwarekomponenten realisiert, die über ein FPGA (Field Programmable Gate Array) mit dem Prozessorboard kommunizieren. Der objektorientierte Entwurf der Software wurde mit dem CASE-Tool "together" realisiert.

Das Framework besteht aus vier kommunizierenden Softwarekomponenten, die als vxWorks-Tasks implementiert sind. Die Motoren des Roboterchassis werden von Cox gesteuert, der seine Befehle vom Bahnplaner Navigator erhält. Der Navigator erhält einerseits Informationen von Sensoren, die die Umwelt "wahrnehmen", andererseits von Manager, der die Anwendung implementiert. Die Aktivitäten dieser drei Komponenten werden von Captain koordiniert, der auch für die Überwachung der Prozessorhardware verantwortlich ist.

Während der Arbeit sind verschiedenste Probleme mit vxWorks aufgetreten. Speziell war die objektorientierte Implementation des Frameworks auf mehreren kommunizierenden Tasks nicht einfach zu bewerkstelligen. Auch wurde vxWorks an unserer Schule zum ersten mal für eine grössere Arbeit eingesetzt.

Der derzeitige Stand des Frameworks ist stabil und stellt alle Funktionen zur Verfügung, die von einfachen Anwendungen benötigt werden. Leider war esuns aus zeitlichen Gründen nicht mehr möglich eine komplexe Anwendung zu implementieren, die die vollen Möglichkeiten von Cressida demonstriert.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Server-Zentrale mit GSM-basierten Datenerfassungsmodulen

red Student: Mazenauer Bruno
Romer Felix
red Dozent: Zeman Jan Prof. Dr.
Sigg Rainer Dr.
red Partnerfirma: FELA Management AG, CH-8253 Diessenhofen
 
red Kurzbeschreibung:

Die Firma FELA AG ist bekannt geworden mit ihrem Produkt Tripon im Zusammenhang mit der LSVA (Leistungsabhängige Schwerverkehrsabgabe). Dieses Gerät ist mit einem GSM Modul ausgerüstet, das zur Datenübertragung verwendet wird. Man ist nun daran, weitere Produkte zu entwickeln. Eines davon soll ein universell einsetzbares Remote-Metering Modul sein, welches ebenfalls via SMS Daten und Befehle mit einer Zentrale austauscht. Aufgabe dieser Diplomarbeit war es, diese Zentrale zu realisieren, welche mit einer grossen Anzahl von Mikroprozessorgesteuerten Modulen via SMS kommuniziert. Seine Hauptaufgaben sind:

  • Sicherer Empfang von SMS Meldungen mit Messdaten unddessen Speicherung in die Datenbank
  • Fernwartung und Parametrisierung aller Module
  • Webzugriff auf die Datenbank zwecks Visualisierung dererfassten Messdaten

Der Serverteil, welcher komplett in Java programmiert wurde, behandelt die Kommunikation mit den Modulen und der Datenbank. Dies beinhaltet das Empfangen, Versenden und Aufbereiten der Meldungsdaten. Der Versand und Empfang der Daten via SMS wird von einer auf unsere Wünsche angepasste Software der Firma Dolphin realisiert, welche via eine Fileschnittstelle mit dem Server kommuniziert. Der Server stellt zudem eine RMI-Schnittstelle zur Verfügung, über die der Client mit dem Server kommuniziert. So kann der Client gezielt Messages auf dem Server auslösen.

Der Client, welcher als Servlet realisiert wurde, dient der Verwaltung der Module und dessen Einstellungen. Der Vorteil dieser Lösung ist, dass der Client auf irgend einem Rechner mit Internetanschluss und einem installierten Microsoft Internet Explorer 5 aufgerufen werden kann. Zur Sicherheit gegen unbefugten Zugriff ist die ganze Seite passwortgeschützt. Werden neue Daten hinzugefügt oder bestehende abgeändert, wird dies via RMI dem Server mitgeteilt.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis

red_light Online Gender Games Chat

red Student: Uenal Safak
red Dozent: Zeman Jan Prof. Dr.
 
red Kurzbeschreibung:

Im Rahmen eines BBT-Projektes, an welchem auch die ZHW-Stelle für Gleichstellungsfragen beteiligt ist, wurde ein virtuelles Chatsystem mit der Thematik "Frau und Technik" mit attraktiver Schnittstelle und "intelligenten" Chat-Robotern realisiert (www.frau-und-technik.ch).

Im Vordergrund steht eine etwas verspielte Website mit Applets, während im Hintergrund ein Linux-System mit Java-Server, Apache-Webserver und eine MySql-Datenbank für einen reibungsfreien Ablauf sorgen.

Im realisierten Chat System sind drei Diskussionsroboter vorhanden, die jeweils einen bestimmten Personentyp darstellen und Ihre Antworten aus einer Datenbank holen. Die Chat-Teilnehmer wählen aus einer aufklappbaren Liste ein Diskussionsthema aus und können dann die Roboter durch anklicken nach ihrer Meinung abfragen.

Die Teilnehmer können auch ihre eigene Meinung eingeben, die dann in der Datenbank gespeichert und durch den Klick auf einen vierten Roboter abgerufen wird.

Nach der Analyse des zu entwickelnden Systems, startete ich die Design Phase und implementierte das neue Java System. Da ich dieses Java Framework in eine Homepage einbetten und internetreif machen musste, war ich stark damit beschäftigt, eine gute Homepage mit einer funktionierenden und attraktiven Oberfläche zu realisieren. Ich konnte mich dann aus zeitlichen Gründen leider nicht mehr mit der in der Aufgabenstellung verlangter künstlicher Intelligenz näher beschäftigen. Die grafische Oberfläche wurde mit einem Java Applet implementiert. Man hätte auch mit Flash5 eine Schnittstelle zum Benutzer realisieren können. Diese Möglichkeiten werden im Theorieteil diskutiert.

Diese Arbeit ist gut ausbaubar und bietet auch interessante Möglichkeiten im Bereich der Experimente mit künstlichen Intelligenz.

Fachgebietübersicht / Studentenverzeichnis / Firmenverzeichnis