YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR...
description
Transcript of YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR...
YAZILIM ETMENLERİ: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE AÇIK, DİNAMİK VE
HETEROJEN HETEROJEN ORTAMLARDA YAZILIM ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR GELİŞTİRME İÇİN BİR
TEKNOLOJİTEKNOLOJİ
Ayşegül AlaybeyoğluAyşegül Alaybeyoğlu Rıza Rıza Cenk ErdurCenk Erdur
Ege Üniversitesi Bilgisayar Ege Üniversitesi Bilgisayar MühendisliğiMühendisliği
İÇERİKİÇERİK Yazılım Etmenleri TeknolojisiYazılım Etmenleri Teknolojisi Etmenlerin Genel ÖzellikleriEtmenlerin Genel Özellikleri Etmenler ile Yazılım Bileşenlerinin Etmenler ile Yazılım Bileşenlerinin KarşılaştırılmasıKarşılaştırılması Etmenlerinin Kullanıldığı Başlıca Etmenlerinin Kullanıldığı Başlıca Uygulama Alanları Uygulama Alanları Etmenlerin Bu Uygulama Alanlarında Etmenlerin Bu Uygulama Alanlarında Kullanımlarının Sağladıkları AvantajlarKullanımlarının Sağladıkları AvantajlarAraba Aramaya Yönelik Bir Çok Araba Aramaya Yönelik Bir Çok Etmenli Sistem Tasarım UygulamasıEtmenli Sistem Tasarım Uygulaması
YAZILIM ETMENLERİ YAZILIM ETMENLERİ TEKNOLOJİSİTEKNOLOJİSİ
Açık, dinamik ve heterojen Açık, dinamik ve heterojen ortamlarortamlar
İnternetİnternet
ETMENLERİN GENEL ETMENLERİN GENEL ÖZELLİKLERİÖZELLİKLERİ
Birincil ÖzelliklerBirincil Özellikler İkincil Özelliklerİkincil Özellikler
ETMENLERİN GENEL ETMENLERİN GENEL ÖZELLİKLERİÖZELLİKLERİ
Birincil ÖzelliklerBirincil Özellikler ÖzerklikÖzerklik Karşıt-EylemlilikKarşıt-Eylemlilik Amaç-YönelimlilikAmaç-Yönelimlilik Sosyal YetenekSosyal Yetenek Kalıcı SüreklilikKalıcı Süreklilik
ETMENLERİN GENEL ETMENLERİN GENEL ÖZELLİKLERİÖZELLİKLERİ
İkincil Özelliklerİkincil Özellikler GezicilikGezicilik ÖğrenmeÖğrenme AkılcılıkAkılcılık DürüstlükDürüstlük OlumlulukOlumluluk
ETMENLER İLE YAZILIM ETMENLER İLE YAZILIM BİLEŞENLERİNİN BİLEŞENLERİNİN
KARŞILAŞTIRILMASIKARŞILAŞTIRILMASISoyutlamSoyutlam
aaBileşenBileşen EtmenEtmen
İletişimİletişim Görev atamaGörev atama Görev ve Amaç Görev ve Amaç atamaatama
MesajMesaj İşlem için İşlem için istekte bulunmaistekte bulunma
ACL MesajlarıACL Mesajları
Ortam İle Ortam İle EtkileşimEtkileşim
OlaylarOlaylar Kanıların Kanıların günlenmesigünlenmesi
DurumDurum Özellikler ve Özellikler ve İlişkilerİlişkiler
Zihni DurumZihni Durum
Etkileşim Etkileşim MekanizmasıMekanizması
ArayüzlerArayüzler Eşleyici ServisEşleyici Servis
Çalışma Çalışma ZamanıZamanı
Uygulama Uygulama SunucuSunucu
FIPA PlatformuFIPA Platformu
ETMENLER İLE YAZILIM ETMENLER İLE YAZILIM BİLEŞENLERİNİN BİLEŞENLERİNİN
KARŞILAŞTIRILMASIKARŞILAŞTIRILMASI
İletişim ve Mesajİletişim ve Mesaj Ortam ile EtkileşimOrtam ile Etkileşim DurumDurum Etkileşim MekanizmasıEtkileşim Mekanizması Çalışma ZamanıÇalışma Zamanı
YAZILIM ETMENİ YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA TEKNOLOJİSİNİN BAŞLICA
UYGULAMA ALANLARIUYGULAMA ALANLARI
Bilgi Arama ve Filtreleme AlanıBilgi Arama ve Filtreleme Alanı Elektronik TicaretElektronik Ticaret Telekomünikasyon Ağ yönetimiTelekomünikasyon Ağ yönetimi Telekomünikasyon Servis Telekomünikasyon Servis YönetimiYönetimi
YAZILIM ETMENİ YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA TEKNOLOJİSİNİN BAŞLICA
UYGULAMA ALANLARIUYGULAMA ALANLARI
Bilgi Arama ve FiltrelemeBilgi Arama ve FiltrelemeKaynaklardan Bilginin Toplanması ve Kaynaklardan Bilginin Toplanması ve Süzgeçten GeçirilmesiSüzgeçten Geçirilmesi İçerik Tabanlı Filtrelemeİçerik Tabanlı Filtreleme İşbirlikçi Filtrelemeİşbirlikçi Filtreleme
YAZILIM ETMENİ YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA TEKNOLOJİSİNİN BAŞLICA
UYGULAMA ALANLARIUYGULAMA ALANLARI
Elektronik-TicaretElektronik-TicaretEtmenlerin bu uygulama alanındaki rolüEtmenlerin bu uygulama alanındaki rolü ÖzerklikÖzerklik SüreklilikSüreklilik
YAZILIM ETMENİ YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA TEKNOLOJİSİNİN BAŞLICA
UYGULAMA ALANLARIUYGULAMA ALANLARI
Telekomünikasyon Ağ Telekomünikasyon Ağ YönetimiYönetimiEtmenlerin bu uygulama alanındaki rolüEtmenlerin bu uygulama alanındaki rolü Dağıtık YapıDağıtık Yapı ÖzerklikÖzerklik EsneklikEsneklik İletişimİletişim AlarmAlarm
YAZILIM ETMENİ YAZILIM ETMENİ TEKNOLOJİSİNİN BAŞLICA TEKNOLOJİSİNİN BAŞLICA
UYGULAMA ALANLARIUYGULAMA ALANLARI
Telekomünikasyon Servis Telekomünikasyon Servis YönetimiYönetimiEtmenlerin bu uygulama alanındaki rolüEtmenlerin bu uygulama alanındaki rolü Kompleksliği AzaltmaKompleksliği Azaltma UyumUyum İstenmeyen Etkileşimleri İstenmeyen Etkileşimleri EngellemeEngelleme
ARABA ARAMAYA YÖNELİK BİR ÇOK ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI ETMENLİ SİSTEM TASARIMI
UYGULAMASIUYGULAMASI
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 ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI ETMENLİ SİSTEM TASARIMI
UYGULAMASIUYGULAMASI
SABPO Metodoloji Adımları
1. 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 ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI ETMENLİ SİSTEM TASARIMI
UYGULAMASIUYGULAMASI
Sistem BileşenleriSistem Bileşenleri
ARABA ARAMAYA YÖNELİK BİR ÇOK ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI ETMENLİ SİSTEM TASARIMI
UYGULAMASIUYGULAMASI
3. Sistemler Arası Etkileşimlerin Belirlenmesi3. Sistemler Arası Etkileşimlerin Belirlenmesi
ARABA ARAMAYA YÖNELİK BİR ÇOK ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI ETMENLİ SİSTEM TASARIMI
UYGULAMASIUYGULAMASI
4. Senaryolar İçin Planların Tanımlanması4. Senaryolar İçin Planların Tanımlanması
E
ARABA ARAMAYA YÖNELİK BİR ÇOK ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI ETMENLİ SİSTEM TASARIMI
UYGULAMASIUYGULAMASI
4. Senaryolar İçin Planların Tanımlanması4. Senaryolar İçin Planların Tanımlanması
ARABA ARAMAYA YÖNELİK BİR ÇOK ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI ETMENLİ SİSTEM TASARIMI
UYGULAMASIUYGULAMASI
5. Ontolojilerin Modellenmesi5. 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 ARABA ARAMAYA YÖNELİK BİR ÇOK ETMENLİ SİSTEM TASARIMI ETMENLİ SİSTEM TASARIMI
UYGULAMASI 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ÇLARSONUÇ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 Dinlediğiniz İçin Teşekkür Ederim...Ederim...
Ayşegül AlaybeyoğluAyşegül Alaybeyoğlu Rıza Rıza Cenk ErdurCenk Erdur
Ege Üniversitesi Bilgisayar Ege Üniversitesi Bilgisayar MühendisliğiMühendisliği