MDA in der Entwicklung einer graphischen Oberfläche zur Steuerung eines Autoradios

Student:Mihai Dumitrescu
Title:MDA in der Entwicklung einer graphischen Oberfläche zur Steuerung eines Autoradios
Type:study thesis
Advisors:Fischer, I.; Philippsen, M.
State:submitted on February 25, 2004
Prerequisits:
Topic:

Hintergrund:
Consumer Endgeräte wie PDAs oder Smartphones haben mittlerweile eine sehr starke Verbreitung und bekommen immer mehr Funktionalitäten wie etwa Organizerfunktionen und ähnliches. Somit sind diese Geräte ein zentraler Informationsspeicher für den Anwender.
Nachdem diese Organizer zunehmend auch mit Telefonmodulen ausgestattet werden (Smartphone) oder klassische Handys immer leistungsfähiger werden (Bsp. Symbian), werden vollkommen neue Anwendungsgebiete relevant. Ein solches Anwendungsgebiet ist die Integration eines solchen Gerätes in ein Fahrzeug.
Neben der reinen Freisprechfunktion im Fahrzeug, bei der das Gerät bereits verkabelt und mit einer Halterung versehen werden muss, sind Anwendungen wie Navigation oder Internet im Auto sehr schnell realisierbare Möglichkeiten. Der hier verfolgte Ansatz geht weit darüber hinaus. Das Consumergerät soll hier quasi als "zentrales Bedienelement" im Fahrzeug installiert werden, mit dem einerseits die PDA-spezifischen Aufgaben dort verfügbar sind, andererseits der relativ große Bildschirm zur Anzeige von Fahrzeugdaten genutzt wird. Als Gegenstelle dieser Kopplung ist in dieser Arbeit exemplarisch ein Autoradio vorgesehen, das über ein sehr flexibles Protokoll Informationen mit dem PDA austauschen kann. Somit kann der PDA einerseits Daten über die aktuelle Position, den aktuelle eingestellten Sender oder aber die Lautstärke abfragen und geeignet visualisieren. Andererseits kann der PDA über Steuerbefehle den Zustand beeinflussen und zum Beispiel leise schalten oder aber einen bestimmten Sender wählen.
Für eine solche Steuerungssoftware im PDA sind somit mehrere Schichten wie ein flexibles GUI-Handling als auch eine flexible Verbindung der Kommunikation mit dem GUI wünschenswert. Zur Realisierung könnte man beispielsweise objektorientierte Technologien benutzen. Nachdem das objektorientierte Paradigma ein universelles Modell darstellt, das keinerlei Informationen über die Einsatzdomäne vorgibt, sind die Konzepte auf einem relativ niedrigen Abstraktionsniveau, das nur durch Mechanismen angehoben werden kann, bei dem die Domäne in der Realisierungsform berücksichtigt wird.
Solche Mechanismen sind einerseits Rahmenwerke (Frameworks), die häufig verwendete Programmteile als Ausgangsbasis für neue Programme zur Verfügung stellen. Andererseits existiert das Bestreben, häufig verwendete Denkmodelle in einer geeigneten, implementierungsunabhängigen Sprache zu spezifizieren und daraus Programmcode zu generieren.
Die Model Driven Architecture (kurz: MDA) ist eine Initiative der OMG, die den zweiten beschriebenen Ansatz verfolgt.

Aufgabenstellung:
Das Ziel der Arbeit ist die Fernsteuerung eines bestimmten Autoradios auf Basis des Kommunikationsprotokolls und einer graphischen Oberfläche, die im Look and Feel von außen beeinflusst werden kann (skinnable). In der Arbeit soll das Prinzip der MDA beim Erstellen der graphischen Steuerung sowie der Steuerungslogik verwendet werden.
Das Hauptziel dieser Studienarbeit ist, ein abstraktes Modell für Benutzeroberfläche und Steuerung des Autoradios zu erstellen und daraus möglichst viel von dem Programmcode der finalen Anwendung zu generieren. Hierfür muss zunächst einmal analysiert werden, welche Anforderungen an die Spezifikationssprache gestellt werden, die hochgradig problemspezifisch ist. Kennt man sämtliche Anforderungen, kann die Spezifikation für die Sprachaspekte erfolgen. Mittels dieser Sprache kann anschließend ein Modell für die Applikation spezifiziert werden. Ziel ist hierbei, dass mittels eines Codegenerators ein möglichst hoher Anteil des späteren Quellcodes aus dem Modell der Applikation generiert wird.
Die erstellte Spezifikationssprache soll unabhängig vom Typ des Autoradios und vom Betriebssystem des PDA gehalten werden.
Das Steuerprogramm, welches entstehen soll, wird auf einem Pocket PC unter dem Betriebssystem Windows CE laufen. Der Pocket PC kommuniziert über ein vorgegebenes Protokoll und eine serielle Schnittstelle mit dem Autoradio.
Zur Codegenerierung wird ein bereits existierender Codegenerator eingesetzt. Dieser ist round-trip-engineering-fähig. Das heißt, dass geschützte Quellcodebereiche über die Generierungsvorgänge hinweg erhalten bleiben.
Der Bearbeiter soll folgende Punkte bearbeiten:

  • Analyse der Anforderungen an die Spezifikationssprache
  • Erstellen einer Sprachdefinition für die Spezifikationssprache
  • Erstellen eines Modells in dieser Sprache für Benutzeroberfläche und Steuerung
  • Parametrierung des Codegenerators. Dieser muss die Spezifikationssprache verstehen und daraus plattformspezifischen Code erzeugen können.
  • Fertigstellen eines funktionierenden Programmprototyps für die Steuerung eines Radios
watermark seal