Rol modellerinde bağlam kullanımı
Implementation of context on role based programming
Yazar: MEHMET PEKMEZCİ
Danışman: YRD. DOÇ. DR. YUNUS EMRE SELÇUK
Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2012
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Bağlam = Context ; Java = Java ; Nesne = Object ; Nesne modelleme = Object modelling ; Nesneye dayalı programlama = Object oriented programming ; Nesneye dayalı tasarım = Object oriented design ; Nesneye dayalı yazılım = Object oriented software

Özet:
Rol tabanlı programlama üzerine son 10 yıl içerisinde çeşitli yaklaşımlar, standartlar ve bu standartları gerçekleyen çeşitli altyapılar sunulmuştur. Günümüzde halen güncelliğini koruyan bu konu üzerinde sunulmuş olan altyapılar incelendiğinde göze çarpan en büyük eksiklik, yaygın şekilde kullanılan, saf nesneye yönelimli programlama altyapısı ile tam bir gerçekleştirim sunulamamasıdır.Sunulan gerçekleştirim çalışmalarından Object Teams/Java altyapısı belirlenen standartlara büyük ölçüde uyum sağlamış ve çeşitli yetenekleri ile programcıya uygun altyapıyı sunabilmiş olmasına rağmen, Java programlama diline yapmış olduğu yapısal eklemeler nedeniyle hem farklı bir dil üzerinde programlama gerçekleştirmek, hem farklı bir mantığı oturtmak, hem de farklı bir geliştirme ve derleme ortamı kullanmak gibi zorunlulukları beraberinde getirmektedir.Buna alternatif olarak Yunus Emre SELÇUK tarafından sunulmuş olan JAWIRO altyapısı ise tamamen Java programlama dili ile gerçekleştirim sağlamış olmasına rağmen, bağlam desteğini sağlayamamaktadır.Bu çalışma içerisinde, sadece Java programlama dili temeline dayanan, hem bağlam desteğini sağlayabilmek, hem de sunulan gerçekleştirimi (anaçatıyı) kullanan programcıya çeşitli esneklikler ve kullanım kolaylıkları sağlayabilecek, hem de tanımlanmış olan rol modelleri standartlarına olabildiğince fazla uyum sağlayabilmek amaçlanmıştır.Bu sebeple gerçekleştirilen çalışma içerisinde sunulan altyapı ?JCORE (Java COnceptual Role Enablement) - bağlam, rol ve aktör kavramları üzerine kurulmuştur. Tüm geliştirmelerin Java ortamında gerçekleştirilmesi ve standart Java uygulaması şeklinde derlenmesi hedeflenmiş, dolayısıyla bu üç farklı kavram da standart Java sınıfları şeklinde gerçekleştirilecek bir altyapı sunulmuştur.Ancak rol modellemelerinin gerektirdiği dinamik altyapıyı sağlamak üzere kullanıcı tarafından geliştirilmiş ve derlenmiş olan Java sınıfları, JCORE altyapısı tarafından JVM'e yüklenmeden hemen önce değiştirilerek kullanıcının XML üzerinde konfigure etmiş olduğu rol modeline uygun Java sınıf dosyaları oluşturulup derlenip orjinalleri yerine kullanılmaktadır.

Abstract:
For the last 10 years, several approaches, standards and various implementations for those standarts have been proposed. Today, when all the implementations for this topic, which still preserves attention, it can be noticed that there is no commonly used pure object oriented implementation.Although one of the proposed solutions, Object Teams/Java framework provides a high level of compatibility with the defined standards and provides a proper framework along with several different capabilities; due to the structural additions to the Java programing language, it brings obligations for programming on a different programming language, use a different logic on programming and using a customized development and compilation environment.Another alternative implementation, JAWIRO, proposed by Yunus Emre SELÇUK, is totally based on pure Java programming language. However, contexts are not supported in this framework.Within this thesis, the aim is to provide context support with a flexible and user friendly framework which is fully based on pure Java and as much compatible as possible with defined role modelling standards.JCORE (Java COnceptual Role Enablement) framework has been proposed within the scope of this thesis study. JCORE is based on context, role and actor entities. Due to the aim of pure Java infrastructure, this framework enables the programmes to program all these three entities can as standart Java classes.However, due to provide the dynamic infrastructure that role modellings require, all relevant Java classes, that have been developed by the programmer, will be replaced with the modified versions before they have been loaded into the JVM, with respect to the configuration defined on the JCORE XML configuration files.