Anahtar Kelimeler: Yazılım Etmenleri, Çoklu Etmen Sistemler, Yazılım Mimarisi.



Benzer belgeler
FIPA Uyumlu Yazılım Etmeni Çerçevesi Gerçekleştirimi

JADE Etmen Çerçevesinde Çok Etmenli Bir Ders Yönetim Sisteminin SABRO Metodolojisi Kullanılarak Geliştirilmesi

SABPO Metodolojisi Kullanılarak FIPA Uyumlu Çok-Etmenli Bir Otel Rezervasyon Sisteminin Tasarımı ve Gerçekleştirilmesi

Mobil Cihazlardan Web Servis Sunumu

SABPO METODOLOJİSİ KULLANILARAK FIPA UYUMLU ÇOK-ETMENLİ BİR OTEL REZERVASYON SİSTEMİNİN TASARIMI VE GERÇEKLEŞTİRİLMESİ

Semantik Bilgi Yönetimi


Yazılım Yeniden Yapılamaya Yönelik Bir Kurumsal Mimari: Model Güdümlü ve Ontoloji Tabanlı Bir Yaklaşım

T.C. ATATÜRK ÜNİVERSİTESİ EDEBİYAT FAKÜLTESİ BİLGİ VE BELGE YÖNETİMİ BÖLÜMÜ SEMANTİK WEB HAZIRLAYAN: LEYLA BOLAT SEMİNER

Üst Düzey Programlama

Akıllı Ortamlarda Sensör Kontrolüne Etmen Tabanlı Bir Yaklaşım: Bir Jadex Uygulaması

Sınıf Diyagramları Amaç: Sınıf Diyagramları Nasıl Çizilir?

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

Yaz.Müh.Ders Notları #6 1

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Yazılım Tasarımı Dokümanı v Mustafa Atanak Sefai Tandoğan Doç. Dr.

MOBİL ARAÇLARDA ETMEN TEKNOLOJİSİNİN KULLANIMI

Model Güdümlü Geliştirme ile Gömülü Kaynakların Yönetimi

ED Model Yapıtaşı Haberleşme Altyapısı

Üst Düzey Programlama

Akıllı Yazılım Etmenleri ile Anlamsal Web Servislerinin Tümleşimi

1.Mailbox Server Role:

4. Bölüm Programlamaya Giriş

Yrd. Doç. Dr. Tuğba ÖZACAR ÖZTÜRK

MOBIL UYGULAMA GELIŞTIRME

ANLAMSAL WEB ve ETMEN TEKNOLOJ LER KULLANARAK SA LIK B LG S STEM GEL T RME

Çok-Etmenli Yazılım Sistemleri için Yürütülen Modelleme Dili Çalışmaları ve Bunların Anlamsal Web Desteği Perspektifinde Değerlendirilmesi

Etmen ile Servis Entegrasyonu için Bir Planlama

ANLAMSAL WEB ORTAMINDA ÇALIŞAN ÇOK ETMENLİ SİSTEMLERİN MODEL GÜDÜMLÜ GELİŞTİRİLMESİ

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Yrd. Doç. Dr. Övünç ÖZTÜRK

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

ESİS Projesi. Kaynaklar Bakanlığı

SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ

Moodle-IST Kullanım Klavuzu

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

Etmen Sistemlerde Yeniden Yapılandırma ile Yük Paylaştırma Yaklaşımı

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

UHeM ve Bulut Bilişim

Anlamsal Web Politika Dillerinin Karşılaştırılması

Bağlı Açık Üniversite Verisi. Prof. Dr. Oğuz Dikenelli

Swing ve JDBC ile Database Erişimi

ISCOM Kurumsal ISCOM KURUMSAL BİLİŞİM TEKNOLOJİLERİ EĞİTİM KATALOĞU

MÜFREDAT DERS LİSTESİ

Bilgi Servisleri (IS)

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

ANLAMSAL VEB SERVİSLERİ ORTAMINDA BİR ARACI ETMEN A BROKER AGENT IN THE SEMANTIC WEB SERVICES ENVIRONMENT

SMTP Protokolü ve Spam Mail Problemi

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

Ontoloji Tabanlı Türk Şarap Portalı Tasarımı

Küme Bilgisayarlarda PBS Kuyruk Sistemi

GROUPWARE ĐŞBIRLIĞI(COLLOBRATĐON) GROUPWARE NEDIR? ASENKRON GROUPWARE GROUPWARE SISTEMLERI 3 ÖNEMLI DĐCLE ERPOLAT

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

PROGRAMLAMA TEMELLERİ

DITA ile Uygulama Belgeleri Hazırlamak

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Ontoloji Tabanlı Çok-etmenli Sistemlerin Model Güdümlü Geliştirilmesi

SU KALITE SİSTEMİ. Türkiye Halk Sağlığı Kurumu

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Film Arşiv Sistemi. Yazılım Tasarım Belgesi

Bulut Bilişim. Ege Üniversitesi Bilgisayar Mühendisliği Web Servisleri

Business Intelligence and Analytics Principles and Practices: Charting the Course to BI and Analytic Success

Üst Düzey Programlama

Kanı-İstek-Hedef Etmenlerinin Model Güdümlü Geliştirilmesi

Esnek Hesaplamaya Giriş

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Etmen Tabanlı E-Ticaret

Anlamsal Veb Servislerinin. Çoklu Etmen Platformunda Çalıştırılması

Geleneksel Yazılım Mühendisliğinden Alana Özel Yazılım Mühendisliğine Doğru

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

Protocol Mimari, TCP/IP ve Internet Tabanlı Uygulamalar

Yazılım Mühendisliği 1

Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği

İleri Düzey Bilgisayar Ağları

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Ağ Protokolleri. Aysel Aksu. Nisan, 2016

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan

ÖZGÜR YAZILIMLAR İLE J2EE

Anlamsal Web Ortamında Çalışacak Çok-Etmenli Sistemler için bir Referans Mimarisi

Ağ Yönetiminin Fonksiyonel Mimarisi

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

ETHERNET TEKNOLOJİSİ

Muhammet Fatih AKBAŞ, Enis KARAARSLAN, Cengiz GÜNGÖR

Semantik Web Programlama (COMPE 567) Ders Detayları

Anlamsal Web te SKOS Kullanılarak Bilgi Organizasyonu

VERİ MADENCİLİĞİ (Web Madenciliği)

-E-devlet uygulamalarında öncü duruma gelen ülkelerden olan Güney Kore vatandaşlarına çeşitli online hizmetler sunmaktadır.

Programlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği

XBRL. Şükrü ŞENALP Yeminli Mali Müşavir Sorumlu Ortak Baş Denetçi

Yazılım Süreçleri Software Processes

Transkript:

FİPA Uyumlu Bir Çoklu Etmen Sistem Çerçevesi İçin İletişim Altyapısı Geliştirimi Emrah KAHRAMAN, Ali Murat TİRYAKİ Çanakkale Onsekiz Mart Üniversitesi, Bilgisayar Mühendisliği Bölümü, ÇANAKKALE emrahkahraman50@gmail.com, tiryaki@comu.edu.tr ÖZET Yazılım etmenleri; çevreden aldığı duyumları kendi bilgilerine göre yorumlayarak, yapması gereken role göre uygun şekilde çevresini etkileyen yazılım birimleridir. Etmenlerin planlarına ilişkin görevlerini yerine getirebilmeleri için kurulan dağıtık sistemlere çoklu etmen sistemleri denmektedir. Bu tip sistemlerin ticari hayatta kullanımının artması için geniş çapta kabul edilmiş olan standartlara uyumlu çerçevelere ihtiyaç vardır. Bu bildiride, FİPA uyumlu bir çoklu etmen sistem çerçevesinde bulunan bileşenler açıklanmıştır ve bu bileşenlerin nasıl gerçekleştirildiği anlatılmıştır. Bildirinin devamında FİPA uyumlu bir çoklu etmen sistemleri çerçevesi için etmenlerin, etmen platformuna kaydedilmesini ve diğer etmenlerle etkileşimde bulunmasını sağlayan olan FİPA standartlarına uyumlu bir iletişim altyapısı geliştirimi sunulacaktır. Iletişim altyapısının geliştirimde Java programlama dili kullanılmıştır. Anahtar Kelimeler: Yazılım Etmenleri, Çoklu Etmen Sistemler, Yazılım Mimarisi. Development of Communication Infrastructure For FİPA Compliant A Multi Agent System Framework ABSTRACT A software agent is a software component that affect their environments by interpreting environmental sensations according to their own knowledge. Distributed systems that are built to achieve common goals by interoperation of more than one agents are called as multi agent systems MAS s. In this paper, To make more acceptable of such systems for business, we need MAS frameworks compatible with widely accepted standards In this paper firstly, the components that must be included in FIPA compatible MAS s and their implementation are explained. Then, implementation details of a FIPA compliant agent communication infrastructure that supports to register agents to MAS s and interact other agents in the platform is introduced at the rest of the paper. This communication infrastructure was implemented by using Java programming language. Keywords: Software Agents, Multi-agent Systems, Software Architecture

1. GİRİŞ Günümüzde internette bir bilgiye ihtiyacınız olduğunda kelime tabalı arama yapılır. Arama yaptığınız kelimeleri arama motorları öncelikle tüm kelimelerin birden içeren site var mı diye bakar sonra kelimelerin beraber ama arka arkaya geçmediği sitelere bakar son olarakta aradığımız kelimelerin her birinin ayrı ayrı geçtiği siteleri bize geri döndürür. Bulunan siteler içerisinden istenilen bilgi yine insanlar tarafından yorumlayarak bulunmaya çalışılır. Örneğin patatesin fiyatını öğrenmek için aratırsak patates baskı diye fotoğrafçı siteside sonuç olarak döndürülebilir. Eleme işlemini insanlar tarafından yapılır. Anlamsal veb ise şuanki vebin aksine verileri yapısal olarak yani makinelerin anlayacağı biçimde tutarsak ve insanların yerine bu verileri makinelere yorumlatabilirsek insanların hayatı çok daha kolaylaşır ve bilgiye ulaşma yolu çok daha kısalır, tezini savunuyor. Anlamsal Veb in uygulanması için nelere ihtiyacımız var? Anlamsal Veb[1] teknolojilerini iki kısıma ayırıyoruz: 1)Ontolojiler 2)Etmenler Bir yazılım etmeni, kullanıcısının adına bir takım görevleri yerine getirmek üzere davranma yeteneği olan özerk (otonom) ve amaç yönelimli bir yapıya sahip yazılım bileşenidir. Çoklu etmen sistemleri ise tek bir etmenin yalnız başına kendi bilgi ve bireysel yeteneklerini kullanarak çözemediği ve ya etkin bir biçimde çözemeyeceğini düşündüğü problemleri birbiriyle işbirliği yaparak eşgüdümlü bir biçimde çözmek için bir araya gelen etmenlerin oluşturduğu bir ağdır. Günümüzde JADE[5], DECAF[6], SEAGENT[7] gibi FİPA uyumlu çoklu etmen sistemleri çerçeveleri geliştirilmiştir. Bu çalışmada ise geliştirdiğim FİPA uyumlu çoklu etmen sistemleri çerçevesinin iletişim altyapısını sunacağız. 2. ANLAMSAL VEB VİZYONU Anlamsal veb vizyonunun gerçekleştirilmesi için yeterli olmasada evrensel bir dil olan XML ilk adım için önemlidir. XML in eksikliklerinin giderilmesi için RDF ve RDF Schema tanımlanmıştır. Verilerin daha anlamlı tutulması için RDF ve RDF Schema da yetmemiş ve daha zengin bir sözlük olan ontolojiler tanımlanmıştır. Ontolojileri gerçekleştirmek içinde OWL Veb Ontoloji Dili kullanılmıştır. Ontoloji: Kökeni felsefeseden gelir ve varlık bilimi demektir. Kavramsallaştırmanın açık ve resmi belirtimidir. Ontolojiler herhangi bir alanda standart olarak kullanılacak ortak ve paylaşılan sözcük kümelerini

(vocabulary) veya terminolojiyi belirler. Ontolojiler ontoloji dilleri (RDFS, DAML+OIL, OWL,..) ile tanımlanır.veb deki aramaların doğruluğunu iyileştirmek için yararlıdır. XML sözdizimindedir.geliştirilen ontolojileri günümüz teknolojileri ile kullanmak mümkün olmadığından, bu ontolojileri kullanabilecek, yorumlayabilecek etmen adı verilen programlar yazılmıştır. Etmen: Proaktif ve otonom çalışan yazılım parçalarıdır. Kavramsal olarak nesneye yönelik programlama ve bileşen tabanlı yazılım geliştirmenin dışında geilşmiştir. Her etmende bulunması gereken özelliklere birincil özellikler denir. Bunlar özerklik, sosyal yetenek, amaç yönelimlilik, karşıt eylemlilik ve kalıcı sürekliliktir. Her etmende bulunması gerekmeyen etmenin kullanıldığı alana göre değişen özelliklere ise ikincil özellikler denir. Bunlarda gezicilik, öğrenme, akılcılık, dürüstlük ve olumluluktur. Her Şekil 1. Etmen Yaşam Döngüsü etmen bir anda sadece ve sadece bir durumda bulunabilir. Şekil 1 de etmenin yaşam döngüsü gösterilmiştir. Etmenin bulunacabileceği durumlar initiated, active, suspended, waiting, transit olmak üzere 5 adettir 3. FİPA UYUMLU BİR ÇOKLU ETMEN SİSTEM MİMARİSİ Çoklu Etmen Sistem Çerçevesinin iletişim altyapısını FİPA uyumlu tasarladık. Bu yüzden FİPA standartlarında tanımlanan soyut mimari ve bileşenleri FİPA uyumlu çoklu etmen sistem çerçevesinin iletişim altyapısını nasıl gerçekleştirdik, onu açıklayacağız. Öncelikle FİPA uyumlu Çoklu Etmen Sistemimizde bulunan etmenlerin birbirilerinibilmesi bağımlılığı artıracak ve karışıklığa yol açacaktır. Bu yüzden, sistemde etmenlerin bilgilerini tutan merkezi bir bileşene ihtiyaç vardır. Bu bileşene Etmen Yönetim Sistemi [2] adı verilir. Şekil 2 de bir etmen platform gösterilmiştir. Etmen Yönetim Sistemi: Bir etmen platformunda mutlaka bulunması gereken bileşendir. Bir etmen platformunda sadece ve sadece bir tane etmen yönetim sistemi bulunur. Her etmen, platforma katılmak için geçerli bir AID ile kaydolacağı platformun etmen yönetim sistemine kendini kaydettirmelidir. Etmen yönetim

sistemi etmenlerin kaydedilmesi, silinmesi, arama yapılması ve düzenlenmesi işlemlerini gerçekleştirir. Etmen yönetim sisteminde platformda bulunan her etmenin ad, durum, sahiplik, adres bilgileri saklanmaktadır. Etmenlerin birbirileri ile etkileşimde bulunabilmesi için bir iletişim kanalına ihtiyaç vardır. Bu bileşene ise Etmen İletişim Kanalı[4] denir. Şekil 2. Etmen Platformu Etmen İletişim Kanalı: FİPA uyumlu bir etmen platformunda bulunan etmenlerin birbiriyle etkileşimde bulunabilmesi için gerekli olan bileşendir. Etmenler, etmen yönetim sistemine ve birbirilerine etmen iletişim kanalı yoluyla mesaj gönderirler. Etmen iletişim kanalı kendi platformumuz içinde mesaj göndermek için Java RMI kullanır. Etmen iletişim kanalı başka bir etmen platformuna mesaj göndermek için ise IIOP kullanır. Servis kayıtçı (DF Directory Facilitator) bileşenini yapmadık, onu daha sonra yapmayı düşünüyoruz. 4. FİPA UYUMLU BİR ÇOKLU ETMEN SİSTEM ÇERÇEVESİ İÇİN İLETİŞİM ALTYAPISININ GELİŞTİRİLMESİ Bir önceki bölümde iletişim alt yapısında bulunması gereken bileşenler açıklamıştık şimdi bunları kendi FİPA uyumlu Çoklu Etmen sistem çerçevemizde nasıl gerçekleştirdik ondan bahsedelim. Şekil 3 te bir etmenin AMS ye kaydedilmesi etkileşim diyagramı ile gösterilmiştir. Bir etmen, etmen platformuna kaydolmak için bir FİPA ACL mesajı [3] (Etmen İletişim Dili - FİPA Agent Communication Language) oluşturur. FİPA ACL mesajın content (içerik) kısmına kendi bilgilerini yazar, alıcısına ise Etmen Yönetim Sisteminin AID sini (Etmen Tanımlayıcı) (AMS - Agent Management System ) yazar ve mesajı Router a gönderir. Router mesajın transit-behaviour parametresine bakar, RMI yazdığını görünce etmen iletişim kanalına, etmen iletişim kanalıda mesajı AMS ye gönderir. AMS ise mesajın content kısmında bulunan etmenin bilgilerini alır ve etmenlerin bilgilerini tutulduğu etmen ontolojisine kaydeder.

Şekil 3. Etmenin AMS ye Kayıt Olması Şekil 4 te bir etmenin etmen platformumuzda bulunan başka bir etmene FİPA ACL mesaj göndermesi etkileşim diyagramı olarak gösterilmiştir. Bir etmen başka bir etmene göndermek için FİPA ACL mesajı oluşturur. FİPA ACL mesajın alıcı adına mesajın gönderileceği etmenin adı yazılır. FİPA ACL mesaj Router a gönderilir. Router mesajın transit-behaviour parametresine bakar RMI ise FİPA ACL mesajı etmen platformundaki etmen iletişim kanalına gönderir. Etmen iletişim kanalı mesajın alıcı adını alır ve AMS ye gönderir, AMS, FİPA ACL mesajı göndereceğimiz etmenin adresini sorgular ve etmenin adresini etmen iletişim kanalına gönderir. Etmen iletişim kanalı AMS den alınan adres bilgisini mesajın içine ekler ve FİPA ACL mesajı adres bilgisini aldığımız etmene RMI vasıtasıyla gönderir. Bu işlem sonunda bir etmenin platformda bulunan diğer bir etmene mesaj gönderme işlemi tamamlanmış olur. 5.SONUÇ Bu bildiride, FİPA uyumlu bir etmen platformundaki etmenlerin birbirileriyle FİPA ACL mesaj yapısınını kullanarak etkileşimde bulunmasını sağlayacak olan iletişim altyapısının geliştirimi sunulmuştur. Bu çalışmanın devamında geliştirilmekte olan etmen çerçevesinin diğer bir katmanı olan agency katmanının geliştirilmesi amaçlanmaktadır. Bu doğrultuda Hiyerarşik görev ağı (HTN Hierarchy Task Network) tabanlı bir etmen planlayıcısının geliştirimi devam etmektedir.

Şekil 4. Bir Etmenin Etmen Platformundaki Başka Bir Etmenle Haberleşmesi İçin FİPA ACL Mesaj Göndermesi KAYNAKLAR [1].Semantic Web Primer [2].FIPA Agent Management Specification [3].FIPA ACL Message Structure Specification [4].FIPA Agent Message Transport Service Specification [5].Java Agent Development Framework http://jade.tilab.com/ [6]. Distributed Environment Centered Agent Framework http://www.cis.udel.edu/~decaf/ [7].Semantic Web Agents http://seagent.ege.edu.tr