İTÜDERGİSİ/d, Cilt 6, Sayı 3 (2007)

Yazı Büyüklüğü:  Küçük  Orta  Büyük

Nesneye yönelik programlamanın rol modelleri ile genişletilmesi

Yunus Emre SELÇUK, Nadia ERDOĞAN

Özet


Gerçek dünyada karşılaşılan sistemler durağan ve dinamik olmak üzere iki kümeye ayrılabilir. Durağan sistemlerin aksine, dinamik sistemlerde zamanla değişen ve evrimleşen varlıklar söz konusudur. Bu şekilde zamanla değişen nesneleri nesneye yönelik programlamanın (NYP) sınıf hiyerarşileri ile modellemek zor olacaktır. Bu zorluğun nedeni, dinamik yapıdaki gerçek dünya varlıklarının durağan yapıdaki sınıflar ile modellenmeye çalışılmasıdır. NYP durağan sınıf yapısına dinamizm katacak yeteneklere sahip olmasına rağmen dinamik sistemlerin modellenmesinde karşılaştığı güçlüklerden tam anlamıyla kurtulamaz. Rol modelleri; dinamik sistemlerin nesneye yönelik programlama ile modellenmesinde karşılaşılan güçlüklerin çözümü için önerilen yollar arasında kullanışlı olmaları, NYP kavramları ile iyi uyuşmaları ve problemin çözümü için dolaysız bir yol sunmaları nedeniyle dikkati çekmektedir. Nesne düzeyinde özelleştirmeye dayanan rol modelleri, sınıf düzeyinde özelleştirmeye dayanan nesneye yönelik programlamayı doğal bir biçimde genişletir. Bu nedenlerle dinamik sistemlerin saf NYP yaklaşımı ile sunulandan daha iyi modellenebilmesi gereksinimini karşılamak üzere, Java programlama diline rol desteği kazandıran bir rol modeli olan JAWIRO (Java with Roles) gerçeklenmiştir. Bu çalışma sırasında rollerin diğer çalışmalarda önerilen özellikleri arasına altı yeni özellik kazandırılmıştır. Bu makalede rollerin JAWIRO rol modeli ile nasıl kullanılabileceğinin anlatılmasına ek olarak, JAWIRO’nun güncel rol modelleri ile rollerin gerçeklenen özellikleri ve çalışma anı başarımı açılarından karşılaştırmaları verilmiştir. Sonuç olarak JAWIRO, sahip olduğu özgün yetenekler ve çalışma anı başarımına ek yük getirmemesi sayesinde dinamik sistemlerin modellenmesi için önemli bir gereç haline gelmiştir.

Anahtar Kelimeler: Rol modelleri, rol tabanlı programlama, dinamik sistemlerin modellenmesi, nesneye yönelik programlama.


Tam Metin: PDF