Ege Üniversitesi Bilgisayar Mühendisliği YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ Ayşegül Alaybeyoğlu Rıza Cenk Erdur Ege Üniversitesi Bilgisayar Mühendisliği
İÇERİK Yazılım Etmenleri Teknolojisi Etmenlerin Genel Özellikleri Etmenler ile Yazılım Bileşenlerinin Karşılaştırılması Etmenlerinin Kullanıldığı Başlıca Uygulama Alanları Etmenlerin Bu Uygulama Alanlarında Kullanımlarının Sağladıkları Avantajlar Araba Aramaya Yönelik Bir Çok Etmenli Sistem Tasarım Uygulaması
YAZILIM ETMENLERİ TEKNOLOJİSİ Açık, dinamik ve heterojen ortamlar İnternet
ETMENLERİN GENEL ÖZELLİKLERİ Birincil Özellikler İkincil Özellikler
ETMENLERİN GENEL ÖZELLİKLERİ Birincil Özellikler Özerklik Karşıt-Eylemlilik Amaç-Yönelimlilik Sosyal Yetenek Kalıcı Süreklilik
ETMENLERİN GENEL ÖZELLİKLERİ İkincil Özellikler Gezicilik Öğrenme Akılcılık Dürüstlük Olumluluk
ETMENLER İLE YAZILIM BİLEŞENLERİNİN KARŞILAŞTIRILMASI Soyutlama Bileşen Etmen İletişim Görev atama Görev ve Amaç atama Mesaj İşlem için istekte bulunma ACL Mesajları Ortam İle Etkileşim Olaylar Kanıların günlenmesi Durum Özellikler ve İlişkiler Zihni Durum Etkileşim Mekanizması Arayüzler Eşleyici Servis Çalışma Zamanı Uygulama Sunucu FIPA Platformu
ETMENLER İLE YAZILIM BİLEŞENLERİNİN KARŞILAŞTIRILMASI İletişim ve Mesaj Ortam ile Etkileşim Durum Etkileşim Mekanizması Çalışma Zamanı
YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA UYGULAMA ALANLARI Bilgi Arama ve Filtreleme Alanı Elektronik Ticaret Telekomünikasyon Ağ yönetimi Telekomünikasyon Servis Yönetimi
YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA UYGULAMA ALANLARI Bilgi Arama ve Filtreleme Kaynaklardan Bilginin Toplanması ve Süzgeçten Geçirilmesi İçerik Tabanlı Filtreleme İşbirlikçi Filtreleme
YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA UYGULAMA ALANLARI Elektronik-Ticaret Etmenlerin bu uygulama alanındaki rolü Özerklik Süreklilik
YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA UYGULAMA ALANLARI Telekomünikasyon Ağ Yönetimi Etmenlerin bu uygulama alanındaki rolü Dağıtık Yapı Özerklik Esneklik İletişim Alarm
YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA UYGULAMA ALANLARI Telekomünikasyon Servis Yönetimi Etmenlerin bu uygulama alanındaki rolü Kompleksliği Azaltma Uyum İstenmeyen Etkileşimleri Engelleme
ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI Uygulama Eclipse, Java uygulama geliştirme ortamında gerçekleştirilmiştir.Gerçekleştirim aşamasında, JADE etmen geliştirme aracından faydalanılmıştır. Ontolojilerin ayrıştırılması ve sorgunun çalıştırılması için Jena kütüphanelerinden yararlanılmaktadır . Araba satan veya kiralayan şirketlerin bünyesinde çok çeşitli araçlar bulunmaktadır. Bu çalışmada bu tarz şirketlerdeki araçların etmen tabanlı olarak sorgulanabilmesi amaçlanmıştır ve FIPA uyumlu çok etmenli bir sistem geliştirilmiştir.
ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI SABPO Metodoloji Adımları Rollerin Belirlenmesi Kullanıcı Rolü Hizmet Sunucu Rolü Servis Tespit Rolü 2. Rollerin Etmenlere Eşlenmesi Kullanıcı Rolü : UserAgent Hizmet Sunucu Rolü : VehicleFinderAgent Servis Tespit Rolü : DFAgent
ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI Sistem Bileşenleri
ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 3 ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 3. Sistemler Arası Etkileşimlerin Belirlenmesi
ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 4 ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 4. Senaryolar İçin Planların Tanımlanması E
ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 4 ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 4. Senaryolar İçin Planların Tanımlanması
ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 5 ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 5. Ontolojilerin Modellenmesi “Vehicle.owl”, araçların markalarını, ağırlıklarını ve motor büyüklüklerini göstermek amacıyla, Protege ontoloji geliştirme aracı kullanılarak modellenmiş bir OWL ontolojisidir. Ontolojide araçlar kategorilere ayrılmıştır. “MotorVehicle” bütün araç sınıfını belirtir. “MotorVehicle” sınıfına ait “weight” ve “engine_size” nitelikleri üzerinde “1” sayı kısıtı uygulanarak, her aracın sadece 1 tanesinin özelliklerinin belirlenmesi sağlanmıştır.
ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI UYGULAMASI 6. Platform/Framework İle Gerçekleştirim JADE çok etmenli sistem geliştirme platformu seçilmiştir ve gerekli etmenler oluşturulmuştur. 7. Test Sistem örnek senaryolar ile test edilmiştir
SONUÇLAR Etmenlerin sahip olduğu özerklik, çıkarsama yapabilme, hedefleri doğrultusunda planlar yapıp bunları uygulamaya geçirebilme, ortamı dinleyen ve algılayan yapısıyla gerektiğinde planlarında değişiklik yapabilme gibi akıllı olarak nitelendirilebilecek özellikleri, etmenlerin kullanılma nedenlerinin başında geldiği görülmüştür. Uygulamalarda etmenlerin kullanımının sağladığı avantajlar incelenerek, ulusal yazılım sektörünün, etmen tabanlı yazılım geliştirmeye doğru bir geçiş yapmasıyla daha iyi, etkin uygulamalar geliştirilebileceği sonucuna varılmıştır.
Dinlediğiniz İçin Teşekkür Ederim... Ayşegül Alaybeyoğlu Rıza Cenk Erdur Ege Üniversitesi Bilgisayar Mühendisliği