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