YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR...

23
YAZILIM ETMENLERİ: AÇIK, YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR GELİŞTİRME İÇİN BİR TEKNOLOJİ TEKNOLOJİ Ayşegül Alaybeyoğlu Ayşegül Alaybeyoğlu Rıza Rıza Cenk Erdur Cenk Erdur Ege Üniversitesi Bilgisayar Ege Üniversitesi Bilgisayar Mühendisliği Mühendisliği

description

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 - PowerPoint PPT Presentation

Transcript of YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR...

Page 1: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 2: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

İÇ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ı

Page 3: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

YAZILIM ETMENLERİ YAZILIM ETMENLERİ TEKNOLOJİSİTEKNOLOJİSİ

Açık, dinamik ve heterojen Açık, dinamik ve heterojen ortamlarortamlar

İnternetİnternet

Page 4: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

ETMENLERİN GENEL ETMENLERİN GENEL ÖZELLİKLERİÖZELLİKLERİ

Birincil ÖzelliklerBirincil Özellikler İkincil Özelliklerİkincil Özellikler

Page 5: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 6: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 7: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 8: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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ı

Page 9: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 10: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 11: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 12: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 13: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 14: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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.

Page 15: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 16: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 17: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 18: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 19: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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ı

Page 20: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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.

Page 21: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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

Page 22: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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.

Page 23: YAZILIM ETMENLERİ: AÇIK, DİNAMİK VE HETEROJEN ORTAMLARDA YAZILIM GELİŞTİRME İÇİN BİR TEKNOLOJİ

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