-
Notifications
You must be signed in to change notification settings - Fork 0
Kommunikationsarchitektur
Die Kommunikationsarchitektur soll sicherstellen, dass alle entstandenen Module untereinander kommunizieren können. Die zugrundeliegende Server-Struktur stellt der Mobilis Server dar. Sie baut somit auf dem von der TU-Dresden entwickelten Konzept für eine auf dem eXtensible Messaging and Presence Protocol (XMPP) basierte Kommunikation zwischen mehreren Kommunikationspartnern auf.
Wenn ein Spiel simuliert und ausgewertet werden soll, sind mehrere Teilkomponenten an diesem Prozess beteiligt. Der generelle Ablauf ergibt sich wie folgt:
Da keine Möglichkeit besteht auf die Daten eines laufendes Spiel zurückzugreifen, wurden Aufzeichnungen vom RedFir-System aus dem Grundig-Stadion von Nürnberg genutzt. Um den Spielablauf einer solchen Aufzeichnung zu simulieren, müssen zuerst die Daten in einem Primärverarbeitungsschritt entgegengenommen werden und in Spielzeit an die Kernkomponente übertragen werden. Nach der statistischen Verarbeitung können schließlich die errechneten Größen veröffentlicht werden, sodass eine Visualisierung möglich wird.
Als Grundlage für die Simulation eines Spieles wurden Aufnahmen aus dem RedFir-System im Nürnberger Grundig-Stadion genutzt. Die Aufnahmen umfassen Sensor-Rohdaten und zusätzlich Videobilder bzw. weitere Events (u.a. Spielunterbrechungen).
Die Sensor-Rohdaten besitzen stets den selben Aufbau und könnten wie folgt auftreten:
Bestandteil | Wert | Datentyp (intern) |
---|---|---|
Sender | 98 | int |
Zeitstempel | 1075350000000 | long |
Position(X) | 27331 | int |
Position(Y) | -29367 | int |
Position(Z) | 913 | int |
Geschwindigkeit | 1015110 | int |
Beschleunigung | 7296719 | int |
Geschwindigkeit(X) | 11 | int |
Geschwindigkeit(Y) | -9715 | int |
Geschwindigkeit(Z) | 2366 | int |
Beschleunigung(X) | 595 | int |
Beschleunigung(Y) | -9966 | int |
Beschleunigung(Z) | 561 | int |
Insgesamt sind an der Simulation 42 Sensoren beteiligt. Dabei sind 14 Feldspieler und ein Schiedsrichter mit jeweils zwei Sensoren an den Füßen ausgerüstet. Zusätzlich kommen jeweils vier Sensoren bei den Torleuten (pro Hand/Fuß ein Sensor) und vier Spielbälle mit jeweils einem Sensor zum Einsatz.
Die Daten wurden mit 200Hz (Spieler) bzw. 2000Hz (Ball) aufgezeichnet, sodass ca. 15.000 Events pro Sekunde übertragen werden müssen.
Um ein Spiel zu simulieren, ist im Rahmen dieses Moduls ein Traffic Generator entstanden, der die Sensordaten ausließt und in Spielzeit an den Mobilis Server sendet. Der Traffic Generator soll die Penetration des Systems mit realen Sensoren simulieren.
Neben der Entgegennahme der Daten muss vor allem eine stabile, echtzeitfähige Kommunikationsarchitektur aufgesetzt werden. Da der Mobilis Server als Kernkomponente genutzt wird, ist zunächst ein Mobilis Service zu entwickeln. Dieser Service soll die übermittelten Daten entgegennehmen und schließlich für eine weitere Verarbeitung den anderen Komponenten (Statistik und Prognose) zur Verfügung stellen.
Zuletzt müssen die errechneten Daten der Visualisierung bereitgestellt werden.
Durch die XMPP basierte Kommunikation ist bereits die wesentliche Struktur vorgegeben:
Die Kernkomponente stellt der Mobilis Server dar. Er beinhaltet neben dem SportEventAnalyserService auch eine direkte Schnittstelle zu den Komponenten Statistik und Prognose. Die Kommunikation erfolgt über die Smack-Library mit einem XMPP-Server. Als weitere Komponenten in dem System ist der SportEventAnalyserClient mit dem Traffic Generator und die Visualisierung als Javascript-Client angebunden.