Gerçek Zamanlı Java Uygulama Performansının İlgiye Yönelik Programlama Modeli İle Performans Analizi

thumbnail.default.placeholder
Tarih
2010-07-13
Yazarlar
Akkuş, İlker
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Institute of Science and Technology
Özet
Bu çalışmada, ilgiye yönelik programlama tekniği kullanarak, Java tabanlı gerçek zamanlı uygulamaların performans gözleminin yapılması ve bu metodla yapılan gözleme işleminin yeterince etkili olup olmadığını incelemektedir. İlgiye yönelik programlamanın amacı birbiri ile kesişen yazilim isteklerini, kod okunabilirliği ve tekrar kullanılabilirliğini arttırabilmek için modüler hale getirebilmektir. Nesneye yönelik programlamayı birbiri ile kesişen konuların modüler hale getirilmesi konusunda tamamlayan bir programlama yöntemidir. Çalışma içerisinde yöntemin etkinliğini gözlemlemek için JAAOP adı verilen bir performans gözleme yazılımı geliştirilmiştir. Yazilimin geliştirilemesinde ilgiye yönelik programlama gerçeklemesi olan aspectj dili ve yazılım ortamı kullanılmıştır. Geliştirilen yazılım ile metodların yürütme zamanları, metodların toplam çağrılma süreleri, nesnelerin yaratılma süreleri, yazlımın yaşamı boyunca oluşturulan toplam nesne sayıları ve oluşan istisnai durumlar (ing. Exception) gözlemlenebilir. Çalışmanın sonuç kısmında geliştirilen JAAOP yazilimi ile bilinen diğer Java program gözlemleyici yazılımların karşılaştırılması yapılmıştır. Karşılaştırmada test uygulaması olarak, gözlemlemek için, Jake2 adı verilen Java tabanlı 3 boyutlu oyun uygulaması kullanılmıştır. Jake2, tanınmış Quake2 oyun motorunun Java ile yeniden yazılmış halidir. Test uygulamasının Jake2 olarak seçilmesinin sebebi ise, Jake2 nin gerçek zamanlı bir yazılım olmasıdır. Bu çalışmada yapılan değerlendirmelerin sonucunda ilgiye yönelik programlama tekniği ile geliştirilmiş bir gözlemleme yazılımının, gerçek zamanlı Java programlarını gözlemekte kullanılabileceği sonucuna ulaşılmıştır.
This study analyzes the efficiency of using aspect oriented programming (AOP) technique for profiling real time applications. AOP is a programming paradigm which complements object oriented programming (OOP). The main principle of AOP is separating the cross cutting concerns from software’s business logic to increase readability, maintainability and modularity of code. For analyzing purposes, an AOP based java profiler (JAAOP) is introduced which uses aspectj for implementing AOP behavior. JAAOP can profile; method execution times, method execution counts, object initialization times, object counts and exceptions. Profiler overhead results of JAAOP and a number of other known java profilers are presented for profiling Jake2, a java based 3D game engine. Jake2 is simply the java porting of well-known Quake2 game and it is a real time Java application. The conclusion whether profiling a real time Java application, using AOP and aspectj is efficient, reusable and maintainable is presented in end of the study according to profiling results.
Açıklama
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2010
Thesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 2010
Anahtar kelimeler
İlgiye Yönelik Programlama, Gerçek Zamanlı Yazılım, Performans Analizi, Aspect Oriented Programming, Real Time Software, Performance Analysis
Alıntı