Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
forschung:projekte:rtandroid [2015/02/09 14:48]
thoennessen [Überblick]
forschung:projekte:rtandroid [2015/02/10 15:49]
thoennessen
Zeile 22: Zeile 22:
 In der Originaldistribution von Android wird der Lebenszyklus einer Applikationskomponente typischerweise von ihrer Sichtbarkeit bzw. Interaktionsmöglichkeiten mit dem Benutzer beeinflusst. Sobald eine App vollständig in den Hintergrund gerät, verliert sie aus der Sicht des Systems an Wichtigkeit für den Benutzer und kann pausiert oder gar terminiert werden. In RTAndroid hingegen, können laufende Echtzeitapplikationen unabhängig von ihrer Sichtbarkeit grundsätzlich nicht vom System negativ beeinflusst werden. Während Hintergrundprozesse in Android auch zugunsten der längeren Akkulaufzeit unterbrochen werden können, agiert RTAndroid als eine zuverlässige Ausführungsplattform für Langzeitoperationen. Ein vorhersagbares Laufzeitverhalten wird selbst bei ausgeschaltetem Bildschirm garantiert, während in einem gewöhnlichen Android dabei der Ruhemodus aktiviert wird und die einzelnen Prozessoren herunterfahren oder –getaktet werden.\\ In der Originaldistribution von Android wird der Lebenszyklus einer Applikationskomponente typischerweise von ihrer Sichtbarkeit bzw. Interaktionsmöglichkeiten mit dem Benutzer beeinflusst. Sobald eine App vollständig in den Hintergrund gerät, verliert sie aus der Sicht des Systems an Wichtigkeit für den Benutzer und kann pausiert oder gar terminiert werden. In RTAndroid hingegen, können laufende Echtzeitapplikationen unabhängig von ihrer Sichtbarkeit grundsätzlich nicht vom System negativ beeinflusst werden. Während Hintergrundprozesse in Android auch zugunsten der längeren Akkulaufzeit unterbrochen werden können, agiert RTAndroid als eine zuverlässige Ausführungsplattform für Langzeitoperationen. Ein vorhersagbares Laufzeitverhalten wird selbst bei ausgeschaltetem Bildschirm garantiert, während in einem gewöhnlichen Android dabei der Ruhemodus aktiviert wird und die einzelnen Prozessoren herunterfahren oder –getaktet werden.\\
 \\ \\
-Das Zusammenspiel der hier beschriebenen Techniken ermöglicht vorhersagbare Reaktionszeiten und reduziert auftretende Latenzen – d.h. Differenzen zwischen dem geplanten und dem tatsächlichen Ausführungszeitpunkt – von mehreren Sekunden auf unter eine Millisekunde. Obwohl die Anpassungen am Android-Betriebssystem vielfältig und komplex sind, ist die Nutzung dieser Funktionen von einer Anwendung aus denkbar einfach. Das Applikationsframework sowie das mitgelieferte SDK wurden um neue Schnittstellen für die eingeführten Funktionalitäten erweitert, um die Entwicklung von Echtzeitanwendungen weitestgehend an die von gewöhnlichen Applikationen anzulehnen. Zum Beispiel können Echtzeiteigenschaften für einzelne Applikationskomponenten selektiv über die Manifest-Datei gesetzt werden. Diese Datei ist ein Hauptbestandteil von jeder für Android entwickelten Anwendung und enthält alle für das System relevanten Informationen wie Applikationsnamen,​ Versionsnummer und möglicherweise benötigte Berechtigungen.\\+{{:​forschung:​projekte:​2015-02-09_evaluation_02.png?​300 |}} 
 +Das Zusammenspiel der hier beschriebenen Techniken ermöglicht vorhersagbare Reaktionszeiten und reduziert auftretende Latenzen – d.h. Differenzen zwischen dem geplanten und dem tatsächlichen Ausführungszeitpunkt – von mehreren Sekunden auf unter eine Millisekunde. ​Eine Veranschaulichung der Reaktionszeiten ist in der nebenstehenden Grafik zu finden. Über 1000 Ausführungsiterationen wurde die Ausführungsverzögerung einer Testapplikation in µs gemessen. Im Diagramm gegenübergestellt sind in hellblau die Latenzen einer Nicht-Echtzeit Anwendung und in dunkelblau jene einer Echtzeitanwendung. Die Analyse der Messergebnisse liefert einen Worst Case der Latenzen von 1255 µs bzw. 61 µs. \\ \\ 
 +{{ :​forschung:​projekte:​2015-02-09_evaluation_01.png?​300|}} 
 +Eine weitergehende Evaluation ist in dem untenstehenden Diagramm zu finden. Dort aufgezeichnet ist die Berechnungszeit eine Testapplikation über eine Testausführung von 1000 Iterationen,​ ähnlich wie im vorangehenden Test. Hier wurde jedoch nicht die Ausführungslatenz gemessen, sondern die Berechenungsdauer einer komplexen Rechenoperation. Die in hellblau aufgezeichneten Messwerte belegen eine durchschnittliche Berechnungsdauer von 12939 µs für den Testlauf auf einer handelsüblichen Android Distribution. Dem gegenüber steht eine Berechnungsdauer von durchschnittlich 1745 µs für den Testlauf auf RTAndroid. Des Weiteren ist eine deutlich geringere Standardabweichung in den Messwerten von RTAndroid zu erkennen, die Berechnungszeiten sind somit deutlich vorhersagbarer. \\ \\ 
 + 
 +Obwohl die Anpassungen am Android-Betriebssystem vielfältig und komplex sind, ist die Nutzung dieser Funktionen von einer Anwendung aus denkbar einfach. Das Applikationsframework sowie das mitgelieferte SDK wurden um neue Schnittstellen für die eingeführten Funktionalitäten erweitert, um die Entwicklung von Echtzeitanwendungen weitestgehend an die von gewöhnlichen Applikationen anzulehnen. Zum Beispiel können Echtzeiteigenschaften für einzelne Applikationskomponenten selektiv über die Manifest-Datei gesetzt werden. Diese Datei ist ein Hauptbestandteil von jeder für Android entwickelten Anwendung und enthält alle für das System relevanten Informationen wie Applikationsnamen,​ Versionsnummer und möglicherweise benötigte Berechtigungen.\\
 \\ \\
 Dank RTAndroid wird ermöglicht die Anwendung von RT_PREEMPT auch für mobile Geräte. Dank der modularen Architektur können entstehende Systeme auf Basis von RTAndroid flexibel konfiguriert und an die konkreten Anforderungen angepasst werden.\\ Dank RTAndroid wird ermöglicht die Anwendung von RT_PREEMPT auch für mobile Geräte. Dank der modularen Architektur können entstehende Systeme auf Basis von RTAndroid flexibel konfiguriert und an die konkreten Anforderungen angepasst werden.\\
Zeile 42: Zeile 47:
 Neu ist mit dieser Art der Ausführung die Mobilität. Die Steuerung ist nicht mehr notwendigerweise fest mit der Anlage verbunden und kann bei nichtgebrauch schnell von der Anlage entfernt werden. Bei einer drahtlosen Verbindung zur Anlage ist in bestimmten Grenzen auch die Mobilität während des Betriebs möglich. Neue Einsatzgebiete über die der konventionellen SPSen hinaus sind damit denkbar.\\ Neu ist mit dieser Art der Ausführung die Mobilität. Die Steuerung ist nicht mehr notwendigerweise fest mit der Anlage verbunden und kann bei nichtgebrauch schnell von der Anlage entfernt werden. Bei einer drahtlosen Verbindung zur Anlage ist in bestimmten Grenzen auch die Mobilität während des Betriebs möglich. Neue Einsatzgebiete über die der konventionellen SPSen hinaus sind damit denkbar.\\
 \\ \\
- 
-===== Evaluation ===== 
-{{ :​forschung:​projekte:​2015-02-09_evaluation_01.png?​500 |}} 
-{{ :​forschung:​projekte:​2015-02-09_evaluation_02.png?​500 |}} 
  
 ===== Ansprechpartner ===== ===== Ansprechpartner =====