Abstract - Fachbereich Informatik
Transcription
Abstract - Fachbereich Informatik
Hochschule Darmstadt - Fachbereich Informatik - User-Interfaces einzelner Android-Apps auf einem entfernten Wayland-Compositor Abschlussarbeit zur Erlangung des akademischen Grades Master of Science (M.Sc.) vorgelegt von Andreas Theis Referent(in) : Prof. Dr. Joachim Wietzke Korreferent(in) : Andreas Knirsch Ausgabedatum: 03.10.2012 Abgabedatum: 03.04.2013 ABSTRAKT Abstrakt Deutsch Diese Arbeit beschäftigt sich mit der Frage, ob und wie das Wayland-Protokoll durch Unterstützung von Nahanni Shared-Memory genutzt werden kann, um eine Interprozesskommunikation zwischen mehreren Betriebssystemen virtueller Maschinen zu ermöglichen. Dabei werden Android und Linux als Betriebssysteme eingesetzt und Weston als Referenzimplementierung des Wayland-Protokolls angenommen. Insbesondere das User-Interface einzelner Android-Apps soll auf einen Wayland-Compositor verlagert werden. Die grafischen Ausgaben der Apps in Android werden als einzelne isolierte Fenster in Form fertig erzeugter Grafiken über einen gemeinsamen Kommunikationskanal mittels Wayland zu Linux transportiert und dort durch einen Compositor dargestellt. Benutzereingaben am Compositor unter Linux werden in Gegenrichtung zurück übermittelt und in Android berücksichtigt, beziehungsweise verarbeitet, was eine Remote-Bedienung der Apps ermöglicht. Die ursprüngliche Motivation für die Bearbeitung dieses Themas stammt aus der Automobilindustrie, wo aktuell nach einer Lösung zur Integration von Android-Apps in Fahrzeuge gesucht wird. Der konstruktive Teil dieses Dokuments greift zwar den diesbezüglich aktuellen Stand der Technik auf, eine derartige Vereinigung der betreffenden Teilgebiete wurde allerdings vorher noch nicht vorgenommen. Deshalb beschäftigt sich ein größerer Teil der Arbeit mit der Realisierung der Integration der verschiedenen Technologien, wie die Zusammenführung des Android-Compositings und Wayland. Hierfür wird Wayland zunächst für den Betrieb in Android angepasst und portiert, so dass eine spätere Integration überhaupt möglich wird. Bevor nach der Portierung Konzepte zur Realisierung der Zielsetzung erarbeitet werden, kommt es zur Untersuchung der dafür möglichen Alternativen. Dabei werden die Grundlagen verschiedener beteiligter Themen aufgearbeitet, kombiniert und die Inhalte auf Tauglichkeit zur Zielerreichung überprüft. Die unterschiedlichen Konzepte werden anschließend bewertet und in mehreren prototypischen Implementierungen umgesetzt und evaluiert. Es wird damit gezeigt, dass die Ziele und Anforderungen erreicht wurden und es werden Möglichkeiten zur Weiterentwicklung aufgezeigt. ii ABSTRACT Abstract English This work tries to find out wheather and if the wayland protocol with the application of nahanni shared memory is capable to provide interprocess communication between multiple operating systems on virtual machines. Therefore android and linux are used as operating systems and weston as the reference implementation of the wayland protocol. Especially the user-interface of single android apps should be translocated to a wayland compositor. The graphical output of the apps in terms of premade graphical works are transmitted as single isolated windows through a common communications channel to linux by using the wayland protocol. The output on linux is presented by a wayland compositor. User inputs on the compositor are carried back in the opposite direction and are considered to be processed in android. This enables the remote operation of the apps. The motivation for processing the topic of the work is originally from the motor industy. Current research is looking for a solution for integrating android apps into vehicles. The constructive part of this document may seizing on current state-of-the-art, but such an integration of concering subdomains wasn’t done in the past by now. Hence a large part of this work is concerned about realizing the integration of the different technologies, like merging of android compositing and wayland. Therefore wayland has to be adapeted and ported for the operation on android. In only this way a later integration would be possible. Before concepts for realizing the objective target are acquired there is an investigation of possible alternatives regarding this. Therefore the fundamentals of the different involved issues are worked off and combined and the contents are reviewed in terms of the capableness for achieving the objectives. After this the different concepts are evaluated und realized by producing multiple implementations. This is to demonstrate that the objectives and requirements were achieved. Also opportunities for further development are shown. iii