JADE, JADEX, RETSINA, DECAF Etmen Geliştirim

Download Report

Transcript JADE, JADEX, RETSINA, DECAF Etmen Geliştirim

JADE, JADEX, RETSINA, DECAF
Etmen Geliştirim Platformlarının
Karşılaştırılması
Duygu SÖNMEZ
ÇANAKKALE ONSEKİZ MART ÜNİVERSİTESİ
BİLGİSAYAR MÜHENDİSLİĞİ
Sunum Akışı
1.
2.
3.
4.
5.
6.
7.
8.
9.
Yazılım etmenleri ve etmen özellikleri
Etmenlerin iletişimi
Etmenlerin uygulama alanları
Etmen çerçeveleri
JADEX
JADE
DECAF
RETSINA
Sonuç
Yazılım Etmenleri
“Yazılım etmeni bir ortamda belli derecede özerklik çerçevesinde çalışan,
ortamdaki dinamik değişimleri algılayan, ortamdan elde ettiği algılardan veya
kullanıcılardan ve diğer etmenlerden gelen iletilerden amaçlar çıkartan,
amaçları doğrultusunda planlama yaparak bu planların gerektirdiği eylemleri
yapan, diğer etmenler ile belli bir etmen dili aracılığı ile iletişimde bulunan ve
bulunduğu ortamda süreklilik gösteren yazılımdır.”(Erdur, 2001, 14).
Etmen Özellikleri:
• Özerklik
• Karşıt Eylemlilik
• Amaç Yönelimlilik
• Sosyal Yetenek
• Kalıcı Süreklilik
Etmenlerin İletişimi
Etmen İletişiminde iki Önemli Unsur:
1.Etmen iletişim dili
• KQML, FIPA ACL
KQML:
:Sender
Değer >
:Receiver
 Değer >
:From
 Değer >
:To
 Değer >
:In-reply-to
 Değer >
:Reply-with
 Değer >
:Ontology
 Değer >
:Content
 içerik dili deyimi >
Etmenlerin İletişimi
FIPA ACL:
Sender: A
Receiver: B
Language: Prolog
Ontology: Hava_Durumu
Content: (Sıcaklık(yarın,30))
2.Ontoloji
• Tüm etmenlerin bildiği ve konuşmalarında kullandığı üzerinde anlaşılmış
sözcük kümeleri.
Etmen Uygulama Alanları
Endüstriyel uygulamalar
• Üretim sistemleri
• Hava trafik kontrol uygulamaları
Bilgi yönetim uygulamaları
• İnternet üzerinde bilgi arama (InfoSleuth)
• Sayısal kütüphaneler
Eğlence uygulamaları
• Oyunlar
Tıp uygulamaları
Etmen Çerçevelerine Neden
İhtiyaç Var?
•
•
•
•
•
Programlama
İletişim
Proje yönetimi
Planlama
Hızlı geliştirim
JADEX
• Kanı/İstek/Hedef mimarisi kullanır.
Kanı/İstek/Hedef Mimarileri
Kanılar+İstekler+Hedefler
Deneysel akıl yürütme
• Hangi hedeflere varılmak isteniyor?
• Belirlenen hedeflere nasıl ulaşırım?
• “middleware” ve “reasoning-oriented” temelli platformların
özelliklerini birleştirmeye çalışır.
• FIPA uyumludur.
JADEX
JADEX
• Xml ve java
Agent Definition File (kanı/istek/hedef): xml
Planlar: java
ADF:
<agent name =‘’ping’’>
<kanilar>
......
<istekler>
.......
<hedefler>
......
</agent>
Plan:
public class PingPlan
extends ThreadedPlan
{
public void body()
{
.................
}
...
}
JADE (Java Agent Development Framework)
FIPA standartlarına uygun geliştirim
Mimariden bağımsız «ilkel» basit etmen geliştirimi
Java dilinin kullanım avantajları
Mobil geliştirim
JADE platformunda FIPA standartlarını sağlayan üç adet özel bileşen
mevcuttur.
• Etmen Yönetim Sistemi (Agent Management System)
• Dizin Kolaylaştırıcı (Directory Facilitator)
• Etmen İletişim Kanalı (Agent Communication Channel).
DECAF (Distributed, Environment Centered Agent Framework)
•
•
•
•
•
•
Kanı/İstek/Hedef mimarisinde oluşturulmuştur.
İletişim planlama koordinasyon sağlar.
Java dilini kullanır.
Eşleştirici etmen (matchmaker)
Planlama yapısı olarak HTN kullanır.
Plan editörü mevcuttur.
HTN:
• Adım 1:Görevleri alt görevlere ayrıştır.
• Adım 2:Görev gerçekleştirimindeki kısıtlamaları kontrol et.
• Adım 3:Alt görevler arasındaki ilerlemeyi kontrol et.
• Adım 4:Eğer asıl görevin başarılı sonucuna ulaşamadıysan adım 1 e geri dön
DECAF (Distributed, Environment Centered Agent Framework)
• Görev-kontrol yapısı ( Plan File, Incoming KQML messages, Domain Facts
and Beliefs, Outgoing KQML Messages, Action Modules)
• Gerçekleştirim modülü (Agent Initialization, Dispatcher, Planner, Scheduler,
Executor)
• Veri kuyrukları (Incoming Message Queue, Objectives Queue, Task Queue,
Agenda Queue, Task Templates Hashtable, Pending )
DECAF Mimarisinde Fonksiyonlar:
• Başlatma
• Eşleştirme
• Planlama
• Zamanlama
• Gerçekleştirim
RETSINA (Reusable Environment for Task Structured
Intelligent Network Agents)
• RETSINA heterojen yapıyı destekler.
• RETSINA altyapısındaki temel nokta ilgili etmenlerin birebir iletişimidir.
• Etmenler bu çerçevede birbirlerini dinamik olarak keşfederler ve diğer
etmenler hakkındaki bilgiler sürekli güncellenir.
• Java, C, C++,Python gibi dillerde gerçekleştirilebilir.
• Kontrolü dağıtıktır.
RETSINA (Reusable Environment for Task Structured
Intelligent Network Agents)
• Retsina Mimarisindeki Etmenler:
Arayüz Etmeni
Görev Etmeni
Bilgi Etmeni
Ara Etmen
• Retsina Etmenlerindeki Modüller:
İletişim Modülü
Planlama Modülü
Zamanlama Modülü
Yürütme Modülü
RETSINA (Reusable Environment for Task Structured
Intelligent Network Agents)
WARREN: Finansal Portfolyo Yönetimi
1.Arayüz etmeni
2.Görev etmeni
3.Bilgi etmeni
4.Ara etmen
İşlevi:
• Bilgi edinme
• Stok bilgilerini yorumlama
• Stok raporlama
• Veritabanı değişikliklerini izleme
• Yatırımların geleceklerini tahminleme
DECAF&RETSINA
• Eşleştirme Etmeni (Matchmaker)
Sonuç
DECAF
RETSINA
JADE
JADEX
DİLİ
Java
Java
Xml, Java
MİMARİSİ
KIF
Java,C,C++,
Python
KIF
-
KIF&Mantık
ETMENLER ARASI
İLETİŞİM
KQML
KQML
ACL
ACL
ARABULUCU
ETMEN
AVANTAJ
Eşleştirici
Eşleştirici
Birebir iletişim -
Kolay
kullanım
Hızlı
geliştirim
Problem
alanı yok
HTN
Heterojen etmen
Tekrar
kullanılabillirlik
İki yollu iletişim
HTN
Mobil
uygulama
FIPA
İlkel geliştirim
Reasoning
Oriented&Middle
ware
Kaynaklar:
• [1] Rıza Cenk ERDUR, “Yazılım Etmeni Teknolojisinin İnternet Tabanlı Yazılım Yeniden
Kullanımına Uygulanması”, Ege Üniversitesi Bilgisayar Mühendisliği Bölümü, Doktora Tezi,
(2001).
• [2] Rıza Cenk ERDUR, Oğuz DİKENELLİ, “FIPA Uyumlu Yazılım Etmeni Çerçevesi
Gerçekleştirimi”,(2003).
• [3]John R.Graham, Keith S. Decker, Michael Mersic, “DECAF – A Flexible Multi Agent System
Architecture”,(2000).
• [4] Foster McGeary, “DECAF Programming: An Introduction, (2001).
• [5] Mikko Laukkanen, Jukka Eskelinen, “Requirement Specification for the DECAFMatchmaker”,(1999).
• [6] Foster McGeary, Keith Decker, “DECAF Programming: Agents for Undergraduates”,
(2001).
• [7] Katia Sycara, Massimo Paolucci, Martin van Velsen, Joseph Giampapa, “The Retsina
MAS Infrastructure”,(2001).
• [8] M. Paolucci, D. Kalp, A. Pannu, O. Shehory, K. Sycara, “A Planning Component for
RETSINA Agents”, The Robotics Institute Carnegie Mellon University,(2000).
• [9] Katia Sycara, Anandeep S. Pannu, “The RETSINA Multiagent System: Towards Integrating
Planning, Execution and Information Gathering”, The Robotics Institute Carnegie Mellon
University (1998).
• [10] Katia Sycara, Anandeep S. Pannu, “TeamOriented Agent Coordination in the RETSINA
MultiAgent System”,The Robotics Institute Carnegie Mellon University (2002).
Kaynaklar:
• [11] M. Paolucci, D. Kalp, A. Pannu, O. Shehory, K. Sycara, “The Retsina MAS, a Case Study”,
(2003).
• [12] L. Braubach, A.Pokahr, W., “Jadex: A Short Overview”, (2004).
• [13] L. Braubach, A.Pokahr, W., “Jadex: A BDI Reasoning Engine”, (2005).
• [14] Braubach, A.Pokahr, W.,”Jadex: A BDI-Agent System Combining Middleware and
Reasoning”,(2005).
• [15] Fabio Bellifemine, Agostino Poggi, Giovanni Rimassa, “JADE – A FIPA-Compliant Agent
Framework”, (1999).
• [16]Joseph A. Giampapa, Massimo Paolucci, Katia Sycara, “Agent Interoperation Across
Multagent System Boundaries” (2000).
• [17]Katia P. Sycara, “Multiagent Systems”, AI Magazine Volume 19 Number 2 (1998).
• [18] Geylani Kardaş, Erdem Eser Ekinci, Bekir Afşar, Oğuz Dikenelli, N. Yasemin Topaloğlu,
Ontoloji Tabanlı Çok-Etmenli Sistemlerin Model Güdümlü Geliştirilmesi, 4. Ulusal Yazılım
Mühendisliği Sempozyumu, (2009).
• [19]Özgür Gümüş, Önder Gürcan, Oğuz Dikenelli, “Anlamsal Servis Aracılığı İçin Bir Çok
Etmenli Sistem ve Aracılık Etkileşim Protokolü”,Bilişim Teknolojileri Dergisi, Cilt: 5, Sayı: 2,
(2012).
• [20] F. Bellifemine A. Poggi, G. Rimassa, P. Turci, An Object-Oriented Framework to Realize
Agent Systems.
• [22]F. Bellifemine A. Poggi, G. Rimassa, “Developing Multi-Agent System with JADE”,(2007).