Montag, 20. Juni 2011

Bachelor-Arbeit die Erste

 Nach langem Suchen und Überlegen bin ich auf folgendes Thema gestoßen:

-->
Thema:
Entwicklung und Implementierung eines Systems zur Nutzung von dynamisch gelinkten Bibliotheken als austauschbare Module als Alternative zur Nutzung von Skripten am Beispiel der KI-Module des Nao-Simulators „Spielwiese“ unter Verwendung von C++0x und CMake.

Beschreibung:
Heutzutage werden in vielen Bereichen der Informatik Skriptsprachen zur schnellen Erstellung von Programmen eingesetzt. Als Faustregel gilt hierbei, nur noch das in niederen Sprachen wie C++ zu schreiben, bei dem es auf dessen Ausführungsgeschwindigkeit ankommt. Der Nao-Simulator „Spielwiese“ soll auf den Nao-Robotern der Firma Aldebaran laufen und mittels künstlicher Intelligenz (KI) autonom Fußball spielen. Die KI wird bei PC und Konsolen-Spielen üblicherweise in einer Skriptsprache verfasst. Für die Hardware des Naos, die auch noch weitere Programme, wie zum Beispiel zur Bildanalyse, auf sich laufen hat, wäre dies eine zu hohe Geschwindigkeitseinbuße. Aus diesem Grund soll das KI-System in C++ verfasst werden. Unter anderem Dank der neuen Funktionalitäten von C++0x, der Möglichkeit dynamisch Code aus externen Bibliotheken zu laden und unter Einbeziehung des CMake Build-System, ist es möglich, den Eigenschaften einer Skriptsprache, wie dynamischer Typisierung, nicht vorhandener Kompilierungs- und Link-Zeit und kompaktem Code, nahezukommen. Dies soll diese Arbeit verdeutlichen.

Aufbau:
  • Darstellung des Nao-Roboters und des Nao-Simulators „Spielwiese“
  • Erläuterung von neuen und besonderen C++0x Funktionalitäten
  • Erklärung des CMake Build-Systems
  • Heranziehung einer geeigneten Skriptsprache (z.B. Lua)
  • Vergleich von „Skriptsprache“, „altem“ C++ und C++0x mit „DLL“ und CMake im Hinblick auf Codegröße, Laufzeit, Kompilierungszeit, Speichernutzung an ausgewählten Beispielen
  • Implementation des Systems in den Nao-Simulator


Ist das als Bachelor-Arbeit zulässig? 
Macht es überhaupt einen Sinn? 
Wird es auch nicht zu viel?