Der GSM-Schutzengel... 
Header
Der GSM-Schutzengel | Lebensretter für AutofahrerDer High-tec Bernhardiner | Lebensretter für Lawinenopfer
 ... Lebensretter für Autofahrer 
 
Zurueck zur Uebersicht Übersicht
 
Aktuelle Meldungen zum Projekt Aktuelles
 
Ausfuehrliche Projektbeschreibung Projekt
 
Presseartikel und Informationen fuer Journalisten Presse
 
Partner des GSM-Schutzengels Partner
 
Kontaktinformationen Kontakt



Der GSM-Schutzengel wird unterstützt durch:

Infineon
bpu Unternehmensberatung
Deutsche Kinder- und Jugendstiftung

Scantec

AOK

Netsolut

SOS R. AG

Camsoft

Faktum

Microsoft



     
  Projekt
     
 

2.5 Softwarelösung / Einsatz der Rettungskräfte

Screenshot
Screenshot unserer Software

Die unter allen bisherigen Punkten gesammelten Daten werden an einen Arbeitsplatzrechner eines Rettungsdienstmitarbeiters in einer Rettungswache weitergeleitet und dort grafisch aufbereitet, damit von dort aus sofort eine angemessene Reaktion erfolgen kann, also die Rettungskräfte zum Unfallort dirigiert werden können.

Darüber hinaus kann der Mitarbeiter der Rettungswache eine Sprachverbindung zu dem Unfallopfer aufbauen und ihn unter anderem beruhigen. Außerdem kann über die Freisprecheinrichtung auch Helfern am Unfallort direkte Anweisungen für Erste Hilfe gegeben werden. In den USA ist es beispielsweise üblich, dass bei Unfällen über Mobiltelefone potentiellen Helfern genau erklärt wird, wie sie am besten Erste Hilfe leisten können.

Die Software, die von dem Eingehen des Notrufes über die Anfrage bei dem MPC bis zur Visualisierung auf dem Bildschirm alles koordiniert, stellt dabei einen wichtigen Punkt unseres Projektes dar und wird nun näher beschrieben. Einen kleinen Auszug aus dem Quelltext finden Sie im Anhang der Wettbewerbsarbeit.

Anforderungen an die Software
Um einen Notfall zu bearbeiten, soll die Software folgende Schritte durchführen:
1. Den Anruf entgegennehmen und die Nummer des Anrufers bestimmen
2. Eine Kommunikation mit dem MPC beginnen und die Positionsbestimmung vornehmen
3. Weitere Daten über Schnittstellen zu Datenbanken erfragen
4. Die gesammelten Daten intuitiv verständlich grafisch darstellen
5. Möglichkeiten zur Bearbeitung des Notfalls geben.

Bei allen diesen Punkten ist auf die Zuverlässigkeit ganz besonderer Wert zu legen. Es darf nicht vorkommen, dass ein Notfall lediglich auf Grund eines technischen Problems nicht erfasst oder fehlerhaft bearbeitet wird.  

Nutzung bereits bestehender Software

Es gibt bereits Softwarelösungen auf dem Markt, die diese Art der Datenverarbeitung und -nutzung entsprechend unseren Ansprüchen teilweise realisieren können. Diese Programme haben jedoch den großen Nachteil, dass sie kommerziell sind, was zu hohen Kosten führt. Vor allem aber sind sie nicht als Open Source, also mit Quelltexten erhältlich, was einen Einbau von Zusatzfunktionen durch uns so gut wie unmöglich macht. Aus diesem Grund entschlossen wir uns, eine komplett neue Software zu schreiben, die unseren Anforderungen genügt.
Seit dem letzten Bundeswettbewerb haben wir neben der Unfallerkennung vor allem die Software verbessert. So können wir nun dank einer Kooperation mit Tele Atlas auf Kartenmaterial von ganz Europa zugreifen und die Karte dynamisch darstellen. Zuvor mussten wir uns mit statischem Kartenmaterial von Sachsen-Anhalt benügen.
Natürlich haben wir die Zeit nicht nur zur Darstellungsverbesserung genutzt sondern vor allem die Stabilität verbessert sowie die Threadsicherheit, also die Sicherheit mit der mehrere gleichzeitige Notrufe behandelt werden. Eine ausführliche Demonstration unserer Software werden wir Ihnen bei der Präsentation auf dem Bundeswettbewerb vorführen.  

Wahl der Programmiersprache
Nach einer Sichtung der "nutzbaren" Programme (siehe voriger Abschnitt), war für uns klar, dass ein recht umfangreiches Softwareprojekt bevorstand. Die eingesetzte Programmiersprache sollte also auf jeden Fall eine objektorientierte Hochsprache sein. Wegen der Plattformunabhänigigkeit, die es ermöglicht eventuell vorhandene Technik weiterhin einzusetzen, entschieden wir uns für Java. Eine Nutzung mehrerer Hochsprachen hätte sich negativ auf die Zuverlässigkeit ausgewirkt und ist zudem mit einem sehr hohen Aufwand verbunden.
Für das Teilproblem des Entgegennehmens des Anrufes kommt die Skriptsprache awk zum Einsatz, da diese eine schnelle, einfache und vor allem flexible Anpassung an verschiedene Telekommunikationsstandards und -anlagen zulässt. Die Entscheidung zu Gunsten Javas hat den Vorteil der Plattformunabhängigkeit. Damit läuft die Software für den GSM-Schutzengel auf jedem PC, unabhängig ob Linux, Windows oder ein anderes Betriebssystem verwendet wird.  

Grundgedanken zum Programmaufbau

Die Software sollte auf jeden Fall objektorientiert und modular sein, um eine einfache und flexible Erweiterung und Verbesserung zuzulassen. Weiterhin vereinfacht Modularität den Aufbau der einzelnen Programmteile, da diese fest definierte Aufgabenbereiche haben und zusätzlich ist eine verteilte Ausführung dieser Module möglich, was zu einer flexibleren Dimensionierung führt. Besonders wichtig ist die Möglichkeit, je nach Bélastung Arbeitsplätze zum System hinzuzufügen oder wieder zu entfernen.  

Aufspaltung

Die Datenverarbeitung teilt sich in drei größere, voneinander unabhängige Teile auf:  

- Zum einen in die Entgegennahme des Notrufes, die durch eine ISDN-Karte ermöglicht wird. Aus den auf dem ISDN-B-Kanal übertragenen Verbindungsdaten wird nun die Telefonnummer des Anrufers ausgelesen. Diese wird den internationalen Standards angepasst ( 00 + Nationale Vorwahl + Netzvorwahl + Rufnummer) und über eine TCP-Verbindung an die zentrale Verarbeitungsstelle weitergegeben. Parallel zu dieser automatischen Nummernweitergabe kann eine Sprechverbindung über ein handelsübliches Telefon aufgebaut werden, die nicht von Nachteil für die automatischen Abläufe ist. Damit der Kanal durch die Sprachverbindung nicht blockiert ist, wird eine Telefonanlage vorgeschaltet, die Anrufe an verschiedene interne Telefonanschlüsse verteilen kann. Die einzelnen Teile dieses Moduls sind "readLog.awk" und "sender.java".  

- Die zentrale Einheit (im folgenden "Server" genannt) sorgt für die Koordinierung der Notrufe und verfügt über die Anbindungen zu externen Teilen des Projektes wie z.B. dem MPC, den Datenbanken oder einem Web-Server. Hier werden die TCP-Verbindungen der "Empfänger"-Teile angenommen und die Daten ausgelesen. Zusätzlich werden die angemeldeten Arbeitsplatzrechner ("Clients") verwaltet. Die Kommunikation zu den Clients und Empfängern erfolgt über "Threaded Classes", die für jede Verbindung neu erzeugt werden. Damit ist die Verwaltung von sehr großen Mengen an Verbindungen möglich. Sind die für die Darstellung des Notfalles relevanten Daten vollständig vorhanden, werden die Daten über eine TCP-Verbindung an einen freien Arbeitsplatzrechner weitergegeben und können so nicht "verloren gehen". Sollte kein Client frei sein, werden sie zwischengespeichert.
Die Programmteile dieses Moduls sind "server.java", "handleSender.java", "threaded_SenderSocket.java", "positioner.java", "handleClientSocket.java" und "threadedClientSocket.java". Ein Schema des Softwareaufbaus, sowie Auszüge aus dem Quelltext finden Sie im Anhang und sollten Sie sich anschauen.  

Der Arbeitsplatzrechner, auf dem der Notfall dargestellt wird, beinhaltet das Modul "Client". Hier werden aus den mathematischen Rohdaten Positionsdaten erzeugt und auf eine Straßenkarte gezeichnet. Diese wird dann von der Grafischen Oberfläche, die eine Reihe von Interaktionsmöglichkeiten besitzt, dargestellt. Gerade die aufwendige Darstellung und die Vielfalt von Interaktions- aber auch Fehlermöglichkeiten macht diesen Teil zu einer großen Ansammlung von verschiedenen Klassen.

 

 
 
1.1 Problembetrachtung   2.1 Einleitung
1.2 Anforderungen an eine Lösung   2.4 Medizinisch relevante Daten
1.3 Unsere Lösung   2.5 Softwarelösung
    2.6 Anmerkungen und Kritik
    2.7 Weitere Einsatzmöglichkeiten
    2.8 Zukunftsaussichten