160 likes | 498 Views
SABPO METODOLOJİSİ KULLANILARAK FIPA UYUMLU ÇOK-ETMENLİ BİR OTEL REZERVASYON SİSTEMİNİN TASARIMI VE GERÇEKLEŞTİRİLMESİ. Ayşegül Alaybeyoğlu , Geylani Kardaş, Rıza Cenk Erdur, Oğuz Dikenelli Ege Üniversitesi Bilgisayar Mühendisliği. İçindekiler. Giriş
E N D
SABPO METODOLOJİSİ KULLANILARAK FIPA UYUMLU ÇOK-ETMENLİ BİR OTEL REZERVASYON SİSTEMİNİN TASARIMI VE GERÇEKLEŞTİRİLMESİ Ayşegül Alaybeyoğlu, Geylani Kardaş, Rıza Cenk Erdur, Oğuz Dikenelli Ege Üniversitesi Bilgisayar Mühendisliği
İçindekiler • Giriş • Çok-Etmenli Otel Rezervasyon Sisteminin SABPO Adımları İle Tasarlanması • Sistemde Yer Alan Etmenlerin Üstleneceği Rollerin Belirlenmesi • Rollerin Etmenlere Eşlenmesi • Çok-etmenli Etkileşimlerin Belirlenmesi • Senaryolar İçin HTN’lerin Hazırlanması • Sistemin Çalıştırılması ve Testi
1. Giriş • Etmen: • Kullanıcısının adına bir takım görevleri yerine getirmek üzere davranma yeteneği olan özerk ve amaç yönelimli bir yapıya sahip yazılım bileşenidir. • Çok-etmenli Sistem : • Tek bir etmenin yalnız başına çözemediği problemleri, etmenlerin birbiriyle işbirliği yaparak çözmek için bir araya gelmesiyle oluşan bir ağdır. • SABPO (Standards Based and Pattern Oriented – Standart Temelli ve Desen Kaynaklı) Çok-etmenli Sistem Geliştirme Metodolojisi: • Çok-etmenli sistemlerin geliştirilmesi için kullanılan bir yazılım geliştirme metodolojisidir. Belli standartlara ve yazılım desenlerine dayanmaktadır. • FIPA (Foundation For Intelligent Physical Agents – Akıllı Fiziksel Etmenler Kuruluşu): • Çok-etmenli sistemler arasındaki birlikte-çalışabilirliği en üst düzeye çıkartmak için evrensel standartlar ortaya koymak amacı ile kurulan bir topluluktur.
2. Çok-Etmenli Otel Rezervasyon Sisteminin SABPO Adımları İle Tasarlanması • Sistemde Yer Alan Etmenlerin Üstleneceği Rollerin Belirlenmesi • Rollerin Etmenlere Eşlenmesi • Çok-etmenli Etkileşimlerin Belirlenmesi • Senaryolar İçin HTN’lerin Hazırlanması
2.1 Sistemde Yer Alan Etmenlerin Üstleneceği Rollerin Belirlenmesi-1 • Kullanıcı Rolü: • Kullanıcının çok-etmenli sistemle etkileşimde bulunabilmesini sağlayacak bir ara yüzün sağlanmasını • Kullanıcının istediği işlemleri gerçekleştirebilmesi için diğer etmenlerin sunduğu servislerin platformdaki yerlerinin belirlenmesini • Gerektiğinde bu servislerin kullanımını içermektedir.
2.1 Sistemde Yer Alan Etmenlerin Üstleneceği Rollerin Belirlenmesi-2 • Servis Belirleme Rolü: • Etmenlerin sunduğu servislerin neler olduğu • Hangi etmenler tarafından sunulduğu • Servis ya da Bileşen Sunucu Rolü: • Sunduğu servise veya bileşene ait üst verilerin tutulmasını • Servislere, diğer etmenlerin güvenli erişiminin sağlanmasını içermektedir.
2.2 Rollerin Etmenlere Eşlenmesi • Kullanıcı Rolü Müşterileri temsil eden etmenler • Servis Belirleme Rolü: • FIPA uyumlu JADE çatısının sunduğu çok-etmenli platformda böyle bir rolü üstlenecek DFService adı verilen bir etmen bulunmaktadır • Müşteri etmeni DFService etmeninden, aradığı servisi sağlayan otel etmenlerinin listesini elde etmekte ve bu etmenlerle iletişime geçmektedirler. • Servis ya da Bileşen Sunucu Rolü Otelleri temsil eden etmenler
2.4 Senaryolar İçin HTN’lerin Hazırlanması • Çok-etmenli otel rezervasyon sistemi tasarlanırken etmen görevlerinin planlama katmanları için gerekli HTN (Hierarchical Task Network – Hiyerarşik Görev Ağı) yapıları oluşturulmuştur.
HotelAgent’ın, DummyAgent’ın Bilgi İsteği Mesajına Karşılık Gösterdiği FIPA ACL Mesajı
Sonuç • JADE’in Java platformunda geliştirilmiş olması, FIPA uyumluluğu, dokümantasyon ve örnek zenginliğine sahip olması gibi nedenlerden dolayı çok-etmenli yazılım geliştirme için en sık kullanılan çatılardan biri olduğu ve yakın gelecekte de buna devam edeceği düşünülmektedir • JADE çatısının nesne tabanlı olarak etmen tasarımı ve geliştirmeye olanak tanıması ve kullanışlı bir etmen davranış kütüphanesinin olması • Gönderilen mesajlara ait zarfların (envelope) içeriğinin bir metin olarak alınmasında nedeni belirlenemeyen hataların oluştuğu gözlenmiştir.