//img.uscri.be/pth/d894476388fd19f305bf71a2e7328e86dc8c95be
Cet ouvrage fait partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour le lire en ligne
En savoir plus

Optimized Aspect Execution Mechanisms inside Virtual Machines for Embedded Systems [Elektronische Ressource] / Christine Hundt. Betreuer: Sabine Glesner

De
149 pages
Fachgebiet Programmierung eingebetteter SystemeFakultat IV Elektrotechnik und InformatikTechnische Universitat BerlinOptimized Aspect Execution Mechanismsinside Virtual Machines for Embedded Systemsvorgelegt vonDiplom-InformatikerinChristine HundtVon der Fakultat IV { Elektrotechnik und Informatikder Technischen Universitat Berlinzur Erlangung des akademischen GradesDoktor der Ingenieurwissenschaften{ Dr.-Ing. {genehmigte DissertationPromotionsausschuss:Vorsitzender: Prof. Dr. Hans-Ulrich Hei Technische Universitat BerlinBerichtende: Prof. Dr. Sabine GlesnerTechnische Universitat BerlinBerichtender: Prof. Dr. Robert HirschfeldHasso-Plattner-Institut, Universitat PotsdamTag der wissenschaftlichen Aussprache: 4. November 2011Berlin 2012D 83AbstractThe rapidly growing mobile market has stimulated the demand for moreand more complex custom applications for embedded mobile devices, for ex-ample, smart phones. To manage this complexity and, at the same time, tokeep the time to market small, advanced software engineering methods have tobe applied. Aspect-oriented programming (AOP) provides advanced modular-ization and abstraction mechanisms. The main advantages of this concept areimproved maintainability, reusability, and extensibility of applications. Fur-thermore, dynamic AOP can be used to implement the dynamic adaptation ofmobile device applications to changing contexts, like the location.
Voir plus Voir moins

Fachgebiet Programmierung eingebetteter Systeme
Fakultat IV Elektrotechnik und Informatik
Technische Universitat Berlin
Optimized Aspect Execution Mechanisms
inside Virtual Machines for Embedded Systems
vorgelegt von
Diplom-Informatikerin
Christine Hundt
Von der Fakultat IV { Elektrotechnik und Informatik
der Technischen Universitat Berlin
zur Erlangung des akademischen Grades
Doktor der Ingenieurwissenschaften
{ Dr.-Ing. {
genehmigte Dissertation
Promotionsausschuss:
Vorsitzender: Prof. Dr. Hans-Ulrich Hei
Technische Universitat Berlin
Berichtende: Prof. Dr. Sabine Glesner
Technische Universitat Berlin
Berichtender: Prof. Dr. Robert Hirschfeld
Hasso-Plattner-Institut, Universitat Potsdam
Tag der wissenschaftlichen Aussprache: 4. November 2011
Berlin 2012
D 83Abstract
The rapidly growing mobile market has stimulated the demand for more
and more complex custom applications for embedded mobile devices, for ex-
ample, smart phones. To manage this complexity and, at the same time, to
keep the time to market small, advanced software engineering methods have to
be applied. Aspect-oriented programming (AOP) provides advanced modular-
ization and abstraction mechanisms. The main advantages of this concept are
improved maintainability, reusability, and extensibility of applications. Fur-
thermore, dynamic AOP can be used to implement the dynamic adaptation of
mobile device applications to changing contexts, like the location. However,
the overhead introduced by the additional abstraction mechanisms limits the
applicability to embedded mobile devices because they have limited resources
(CPU, memory) compared to desktop PCs.
To overcome this problem, we present a set of optimizations that signif-
icantly reduce the overhead of common AOP mechanisms and, nally, make
AOP applicable for embedded mobile devices. The foundation of our work is a
thorough analysis of the overhead that is typically generated by the realization
of AOP mechanisms. The key idea of our approach is a deep integration of
AOP mechanisms into the virtual machine. To this end, we shift mechanisms
like the registration of activated aspects to the level of the JVM. Furthermore,
we optimize the execution of AOP programs by introducing caching mecha-
nisms and specialized bytecode instructions that are tailored for the execu-
tion of AOP mechanisms. Moreover, we analyze AOP-specic semantic code
properties in order to develop optimizations that utilize these AOP-specic se-
mantic information and that exploit typical AOP usage schemes. In addition
to the AOP optimizations, we realize an e cient dynamic aspect deployment
mechanism. We apply our optimizations to the Java-based aspect-oriented pro-
gramming language ObjectTeams [HHM07] by extending the extremely small
and portable JamVM [Lou] Java virtual machine.
To evaluate our approach, we execute micro benchmarks, investigate the
e ect of our optimizations on a real-world application, and nally discuss the
transferability of our optimizations to other approaches. Our evaluation shows
a considerable performance gain for the aspect activation and the aspect exe-
cution of ObjectTeams. In particular, we demonstrate that our optimizations
improve the performance of commonly used AOP mechanisms by up to 90%.
At the same time, we reduce the code size of the adapted classes, which is also
important for small devices. Finally, with our case study, namely the OTPong
game application, we show that our approach is capable of signicantly opti-
mizing the execution time of real-word applications. Our main contribution is
a signicant reduction of the overhead of high-level AOP constructs, which is
also demonstrated by the results of our experiments. The success of the op-
timizations provides evidence that advanced high-level abstraction techniques
like AOP can be e ciently used in embedded mobile devices. Furthermore,
our work shows that e cient dynamic aspect deployment can be supported on
the level of the JVM. This substantially enhances the dynamic capabilities of
ObjectTeams.