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

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

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

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

Ç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

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

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

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


Servis Yönelimli Mimari ve İş Süreç Yönetimi (SE 564) Ders Detayları

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

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

Yazılım Mimarisi (SE 322) Ders Detayları

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Uzman Sistemler (IE 416) Ders Detayları

Uzaktan Eğitim ve E-Öğrenme (ISE 424) Ders Detayları

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

SİSTEM ANALİZİ VE TASARIMI

FTR 331 Ergonomi. yrd. doç. dr. emin ulaş erdem

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Öğretim planındaki AKTS Ulusal Kredi

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Teknik İngilizce I BIL

İleri Yazılım Mimarisi (SE 658) Ders Detayları

Yazılım Mühendisliği 1

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Nesneye Yönelik Tasarım ve Programlama (COMPE 501) Ders Detayları

Bilişim Teknolojilerinde Yenilik ve Girişimcilik (ISE 432) Ders Detayları

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

Yazılım Gereksinimleri Mühendisliği (SE 221) Ders Detayları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

İnsan Bilgisayar Etkileşimi (SE 212) Ders Detayları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Veri Organizasyonu ve Yönetimi BIL

Yapay Zeka (MECE 441) Ders Detayları

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli

Yazılım Mühendisliğine Giriş (SE 112) Ders Detayları

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

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

Sistem Modelleme ve Simülasyon (SE 360) Ders Detayları

Nesne Tabanlı Programlama (COMPE 225) Ders Detayları

BİLGİSAYAR DESTEKLİ ÖĞRETİM GENEL BAKIŞ

VERİ TABANI YÖNETİM SİSTEMLERİ

Bilgisayar Oyunları ve Simulasyon (COMPE 376) Ders Detayları

Anlamsal Web Tabanlı Etmen Sistemlerinin Model Güdümlü Geliştirilmesi

TÜRKİYE BİLİMSEL VE TEKNOLOJİK ARAŞTIRMA KURUMU ULUSAL AKADEMİK AĞ VE BİLGİ MERKEZİ YÖNETMELİĞİ. BİRİNCİ BÖLÜM Genel Hükümler

İleri Java Programlama (COMPE 515) Ders Detayları

Karar Destek Sistemleri (IE 444) Ders Detayları

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları

İleri Düzey Ağ Tabanlı Programlama (COMPE 505) Ders Detayları

Programlama Dilleri (COMPE 325) Ders Detayları

TÜMLEŞİK MODELLEME DİLİ. UML (Unified Modeling Language)

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

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

4. Bölüm Programlamaya Giriş

Tezli Yüksek Lisans Programına İlişkin Bilgilendirme

Mobil Uygulama Geliştirmeye Giriş (ISE 407) Ders Detayları

Gaia ile Çok-Etmenli Konferans Yönetim Sistemi Analiz ve Tasarımı

Genel Fizik I (PHYS 101) Ders Detayları

TEKNİK ÇÖZÜMLERİ HAZIRLAMA REHBERİ

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

İnsan Bilgisayar Etkileşimi (SE 212) Ders Detayları

Endüstri Mühendisliği Tasarımı II (IE 402) Ders Detayları

Nesne Tabanlı Programlama (COMPE 225) Ders Detayları

Olasılık ve İstatistik II (IE 202) Ders Detayları

Gereksinim Mühendisliği (SE 560) Ders Detayları

Yazılım Kalite Yönetimi (SE 554) Ders Detayları

Yazılım Mühendisliğinde Biçimsel Yöntemler (SE 562) Ders Detayları

STRATEJİK PLAN, AMAÇ, HEDEF VE FAALİYET TABLOSU

MAYIS 2010 ÖZGÜR DOĞAN İŞ GELİŞTİRME YÖNETİCİSİ KAMU SEKTÖRÜ

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları

DİCLE ÜNİVERSİTESİ PROJE KOORDİNASYON UYGULAMA VE ARAŞTIRMA MERKEZİ

Yazılım Örüntüleri (SE 461) Ders Detayları

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

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

ELEKTRONİK NÜSHA. BASILMIŞ HALİ KONTROLSUZ KOPYADIR

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

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

Rassal Modeller (IE 324) Ders Detayları

Mobil Cihazlardan Web Servis Sunumu

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

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

RF Mikroelektroniği (EE 433) Ders Detayları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Yaz Stajı II (IE 499) Ders Detayları

21.YY Üniversitelerinde Ders Yönetim Sistemleri ve. Üniversitemizdeki Uygulamaları: ESOGÜ Enformatik Ders Yönetim Sistemi Kullanımı

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

SÜRDÜRÜLEBİLİRLİK YÖNETİMİ VE HUKUKİ ÇERÇEVE

BTK nın IPv6 ya İlişkin Çalışmaları

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

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

Sistem Yazılımının Sınanması ve Geçerlenmesi (SE 344) Ders Detayları

Reaktör Tasarımı (ENE 316) Ders Detayları

Mühendislik ve Bilgisayar Bilimleri Fakültesi Bilgisayar Mühendisliði

Tesis Planlama (IE 407) Ders Detayları

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Ağları II BIL

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Ağları I BIL

İş Etüdü ve Tasarımı (IE 411) Ders Detayları

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

Enerji ve Çevre (ENE 404) Ders Detayları

Transkript:

Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü Dergisi Suleyman Demirel University Journal of Natural and Applied Science 17(3), 51-55, 2013 JADE Etmen Çerçevesinde Çok Etmenli Bir Ders Yönetim Sisteminin SABRO Metodolojisi Kullanılarak Geliştirilmesi Serap ERGÜN* 1, Tuncay AYDOĞAN 1 Süleyman Demirel Üniversitesi, Teknik Eğitim Fakültesi, Elektronik Bilgisayar Eğitimi, 32200, Isparta (Alınış Tarihi: 31.07.2013, Kabul Tarihi: 08.01.2014) Anahtar Kelimeler Çok etmenli sistemler JADE SABRO. Özet: Karmaşık sistem tasarım ve problem çözme alanlarında zeki etmen sistemlerinin akademik çalışmalarda ve piyasada kullanımı giderek yaygınlaşmaktadır. Yazılım etmenleri kullanılarak çok kullanıcılı karmaşık yazılım sistemleri zeki davranışlar sergileyen ve otonom kararlar üretebilen özelliklere sahip olarak tasarlanabilir. Bu çalışmada JADE (Java Agent Development Framework) etmen çerçevesi kullanılarak FIPA standartlarına uyan çok etmenli bir ders yönetim sistemi tasarlanmış ve gerçekleştirilmiştir. Sistemin seçilen senaryoyu takip ederek ve etmen tabanlı bir yazılım geliştirme ortamı kullanarak nasıl uygulanacağı tüm aşamalarıyla anlatılmıştır. Yazılım tasarlanırken SABRO metodolojisinin adımları takip edilmiş, roller ve etmenler belirlenerek eşleştirilmiş, ontoloji tasarlanarak sistemdeki etkileşimler gösterilmiştir. Development of A Multi Agent Course Management System on JADE Using JADE Agent Framework Keywords Multi agent systems JADE SABRO Abstract: Complex system design and problem-solving areas, intelligent agent systems is becoming increasingly common in academic studies, and the use of market. Using software agents, complex multi-user software systems can be designed as exhibit intelligent behavior with features that can produce autonomous decisions. In this study, using the JADE agent development framework, meet the standards of FIPA a multi agent course management system designed and implemented. By following the system in the selected scenario and using agent-based software development environment described how to implement all phases. The software has been designed, follow the steps in the methodology of SABRO, and the factors determining the mapped roles, interactions with the system shown was designed ontology. 1. Giriş Kullanıcısının adına bir takım görevleri yerine getirmek hedefi doğrultusunda davranma yeteneğini otonom (özerk) ve amaç yönelimli bir yapıya sahip olarak gerçekleştiren yazılım bileşenlerine yazılım etmenleri (software agents) denir (Wooldridge, 2002). Tek bir etmenin yalnız başına kendi bilgi ve bireysel yeteneklerini kullanarak çözemediği veya 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 ağ ise "Çok Etmenli Sistem" (ÇES) olarak adlandırılmaktadır (Dikenelli ve Erdur, 2003). Bir etmen, bulunduğu çevre ile ilgili kısıtlı bilgiye sahip olduğundan, çevre genişledikçe birbirleriyle iletişim kurarak diğer etmenlerle etkileşimde bulunması kaçınılmazdır. Zekilik, otonomluk ve sosyallik gibi özelliklere sahip olan ÇES, insan müdahalesi olmadan kullanıcıları adına hareket ederek kullanıcıların hedeflerini yerine getirmek ve bilgilerini birbirleriyle paylaşmak için çalışırlar. Etmen tabanlı yazılımlarda metodoloji, yazılım geliştirme sürecinde kullanılan kavramların kümesi, modelleme aşamasındaki notasyonlar (gereksinimler, tasarım ve uygulama) ve yazılım geliştirmek için izlenen süreçten oluşmaktadır (Padgham ve Wikinoff, 2004). ÇES lerin geliştirilmesini sağlayan ve farklı amaçlara hizmet eden birçok metodoloji bulunmaktadır. * İlgili yazar: serapbakioglu@sdu.edu.tr

Alaybeyoğlu vd. (2007) yapmış oldukları çalışmada JADE etmen çerçevesini kullanan ve FIPA standartlarına uyan çok-etmenli bir otel rezervasyon sistemi tasarlamışlardır. Çalışmada, sistem etmenlerine ait rollerin belirlenmesi, bu roller ile etmenlerin eşlenmesi ve çok-etmenli etkileşimlerin belirlenmesi de dahil olmak üzere sistemin baştan tasarımı, hayata geçirilmesi ve test edilmesine dair yerine getirilen çalışmalar yer almaktadır. Tamersoy vd. (2009), organizasyon metaforunu kullanan Gaia adlı ÇES yazılımı geliştirme metodolojisinin bir ÇES in geliştirilmesi sırasında kullanılması ve bu metodolojinin uygulanmasına yönelik elde ettikleri deneyimleri aktarmışlardır. Bu çalışma Gaia nın, sistem gereksinimlerinin belirlenmesinde, analiz ve tasarım modellerinin gösteriminde bir takım eksiklikleri olsa da ÇES geliştirme için uygun bir metodoloji olduğunu ancak sistemin gerçekleştiriminde yetersiz olduğunu göstermiştir. Ergün ve Aydoğan (2013), çalışmalarında dağıtık çoklu etmen tabanlı trafik yönetim sisteminin tasarımı ve uygulanmasını anlatmışlardır. Sistemde araç, şerit ve kavşak etmenleri tanımlanmıştır. Önerilen uyarlanabilen trafik yönetimi sayesinde, trafik kazaları ve sıkışıklık azalacak, trafik akışı hızlanacak, dolayısıyla enerji tüketimi de azalacaktır. Aynı zamanda araçlar arasında haberleşmenin yapılabilmesini sağlayacak bir altyapı elde edilecektir. Çalışma, İnanç- Niyet-İstek model tabanlı olan JACK etmen geliştirme platformu üzerinde yapılmıştır. Dikenelli (2009) çalışmasında SEAGENT rol tabanlı çoklu etmen geliştirme çerçevesini geliştirmiştir. SEAGENT çoklu etmen geliştirme çerçevesini diğer çoklu etmen geliştirme çerçevelerine göre fark yaratan iki özelliği vardır. Birincisi etkileşimli geliştirim ortamına sahip olmasıdır. Diğeri ise anlamsal veb uyumlu olmasıdır. Bu çalışmada SEAGENT çoklu etmen geliştirme çerçevesini oluşturan temel bileşenler ve çerçevenin genelmimarisi ele alınarak detaylı olarak incelenmiştir. Kardaş vd. (2009) yazılım geliştirme odağını koddan modellere çeviren ve farklı soyutlama seviyelerindeki modelleri kullanarak yazılım geliştirmedeki karmaşıklığı azaltmayı hedefleyen Model Güdümlü Geliştirme (MGG) yaklaşımının ÇES yazılımlarının geliştirilmesinde de uygun bir alternatif olduğunu göstermişlerdir. Çalışmalarında ontoloji tabanlı ÇES lerin model güdümlü geliştirilmesi için gereken sürece ait adımlar tanımlanmıştır ve uygulanacak yöntem üzerinde durulmuştur. ÇES sistemlerinin platforma özgü seviyede modellenmesi için gereken süreç adımı somutlaştırılarak yazılım araçları ile nasıl desteklendiği anlatılmıştır. Bu çalışma kapsamında geliştirilen ÇES in hazırlanması sırasında SABRO (Standards Based and Pattern Oriented) ÇES geliştirme metodolojisinin tanımlandığı süreçler takip edilmiştir. SABRO, etmen sistemleri için organizasyon metaforunu temel almakta ve bu metaforu FIPA standartları ve bilinen etkileşim protokolleri ile sistematik bir biçimde bütünleştirmektedir (Alaybeyoğlu vd., 2007). Geliştirilen sistem FIPA (Foundation For Intelligent Physical Agents) uyumludur ve JADE (Java Agent Development Framework) çerçevesini kullanmaktadır (Bellifemine vd., 2001). FIPA, ÇES ler arasındaki birlikte çalışabilme özelliğini arttırmak için evrensel standartlar ortaya koymak amacı ile kurulan, kar amacı gütmeyen bir topluluktur. Günümüzde ortaya konan etmen tabanlı yazılım sistemlerinin büyük bir kısmı bu topluluğa ait soyut mimariye uygun olarak tasarlanmıştır. JADE (Java Agent Development Framework) yazılım çerçevesi ise FIPA standartlarına uyumlu etmen sistemlerinin Java ortamında hazırlanmasına imkân vermektedir. Bu çalışmada JADE etmen çerçevesi kullanılarak FIPA standartlarına uyan çok etmenli bir ders yönetim sistemi tasarlanması ve gerçekleştirilmesi hedeflenmiştir. Yazılım tasarlanırken SABRO metodolojisinin adımları takip edilerek, roller ve etmenler belirlenerek eşleştirilmiş, ontoloji tasarlanarak sistemdeki etkileşimlerin gösterilmesi amaçlanmıştır. 2. Sistemin SABRO Adımları ile Tasarlanması Sistem geliştirme adımları SABRO metodolojisinde tanımlanmıştır. Genelde ÇES lerin hayata geçirilmesi sırasında uygulanır. 2.1. Sistemdeki Etmenlerin Rollerinin Belirlenmesi Sistemde 3 adet rol belirlenmiştir. 2.1.1. Kullanıcı Rolü Kullanıcının ÇES le etkileşimde bulunabilmesi adına kullanıcının sistem ile ilişkisini kurmayı, çalıştıracağı servisler için iletişimi başlatmayı içermektedir. 2.1.2. Servis Belirleme Rolü Etmenlerin sunduğu sisteme özgü servislerin bilgilerini ve hangi etmenler tarafından sunulduğu bilgisinin tutulmasını içermektedir. 2.1.3. Servis Rolü Sunduğu servise (bileşene) ait verilerin tutulmasını, servislere diğer etmenlerin bir arayüz aracılığıyla 52

güvenli erişimin sağlanarak, kullanıcı rolündeki etmenler ile ilişki kurarak otonom olarak servis vermeyi içermektedir. 2.2. Rollerin Etmenlerle Eşlenmesi ve Ontolojilerin Belirlenmesi Ders yönetim sisteminde hem lisansüstü öğrenciler hem de öğretim üyeleri birer kullanıcı, servisleri sunan da anabilim dalı olarak düşünülmüştür. Sistemde 3 adet etmen tasarlanmıştır. Bunlar lisansüstü öğrenci etmeni, öğretim üyesi etmeni ve anabilim dalı etmenidir. Lisansüstü öğrenci ve öğretim üyesi etmeni kullanıcı rolü ile eşleşirken, anabilim dalı etmeni servis rolü ile eşleşir. Servis belirleme rolünü FIPA standartlarında hâlihazırda olması sebebiyle (DF agent) aynı görevi yerine getirecek yeni bir etmen oluşturulmamıştır. Etmenler şu şekilde tanımlanabilir: Lisansüstü Öğrenci Etmeni: Lisansüstü öğrenci etmeni kullanıcısına işlemlerini gerçekleştirmesi için bir menü arayüzü sağlar. Bu menü üzerinden servislere ulaşır. Bir Defalık Davranış (One Shot Behaviour) kullanarak kullanıcının önüne bir menü çıkartılır ve bu menü üzerinden diğer servis sağlayan etmenlere bağlanır. Menüde yapılabilecek 6 işlem vardır. 1. Bilgilerin güncellenmesi işlemi 2. Öğrenci enstitü ve ders bilgilerini gösterme işlemi 3. Harç ödeme işlemi 4. Danışman tercihi işlemi 5. Dönem ders seçimi işlemi 6. Ekle/Sil ders seçimi işlemi Bu işlem periyodik olarak servis veren etmenler tarafından aktif edilir. Lisansüstü öğrenci etmeni herhangi bir iletişim yaparken öncelikle DF üzerinden servis veren etmeni veya etmenleri bulur. Birden fazla etmen bulunması durumunda servis işlemini başlatmak için herhangi birine rastgele İSTEK (REQUEST) mesajı gönderir. Bir Paralel Davranış (Parallel Behaviour) içinde Mesajı Alma Davranışı isimli bir Döngüsel Davranış (Cyclic Behaviour) kullanarak mesajları alır. Paralel Davranış ın diğer alt sınıfı ise sonsuz mesaj beklemesini engelleyecek bir Uyandırıcı Davranış dır (Waker Behaviour). Döngüsel Davranış sonlanmayacağı için Uyandırıcı Davranış sonlanır ve Paralel Davranış ı bitirir. Uyandırıcı Davranış sonlandığı an etmenin ilk oluşturduğu Bir Defalık Davranış oluşturulacak ve kullanıcının önüne menüyü yazdıracaktır. Öğretim Üyesi Etmeni: Diğer kullanıcı etmeni olan lisansüstü öğrenci etmeni ile aynı davranışlara sahiptir. Yaptığı işlemler aşağıdaki gibidir. 1. Ders bilgisi görüntüleme işlemi 2. Ders bilgisi güncelleme işlemi 3. Danışmanlık bilgisi işlemi 4. Jüri üyesi belirleme işlemi 5. Seminer bilgisi işlemi 6. Tez bilgisi işlemi Anabilim Dalı Etmeni: Etmenin yaptığı işlemler aşağıdaki gibidir. 1. Öğretim üyesi takip işlemi 2. Mülakat notu girişi işlemi 3. Danışman atama işlemi 4. Mülakat jürisi belirleme işlemi 5. Seminer ve proje konularını onaylama işlemi 6. Ders teklifi onaylama işlemi 7. Dönem ders bilgisi işlemi Servis veren bir etmendir. Servis veren etmenlerin temel mantığı belli zamanlarda tetiklenen sıralı servisleri vermeleridir. Sıralı Davranış (Sequential Behaviour) kullanarak bütün diğer davranışları bu davranışın alt davranışı olarak tanımlar. İlk alt davranış bir Bir Defalık Davranış kullanarak DF ye verdiği servisi kayıt etmektir. İkinci alt davranış bir Paralel Davranış içinde tanımlanmış Döngüsel Davranış ve Uyandırıcı Davranış ile diğer kullanıcı etmenlerinden mesaj almaktır. Ontolojiler, JADE etmen çerçevesinin ontoloji sınıfı kullanılarak yapılmıştır. Her etmen Lisansüstü ontolojisini kullanmıştır. Lisansüstü sözlüğü sadece ortak kullanılan terimleri ve ontolojiye eklenen sabitleri içerir. Etmen kavramları ve etmen aksiyonları olarak ontolojiye sınıflar eklenmiştir. Etmen kavramları: lisansüstü öğrenci, Öğretim üyesi, Anabilim dalı olarak belirlenmiştir. Etmen aksiyonları ise etmenlerin yaptıkları işlemler olarak belirlenmiştir. Şekil 1 de sisteme ait olan sınıf diyagramı gösterilmiştir. Şekil 1. Sisteme Ait Olan Sınıf Diyagramı 2.3. Sistemdeki Etkileşimler Sistemdeki etkileşimler Şekil 2 deki etkileşim diyagramı ile gösterilmiştir. 53

Şekil 3. Ders teklifi senaryosuna ait HGA diyagramı 3. Sistemin Çalıştırılması ve Testi Sistem tüm bileşenleri ile hazırlandıktan sonra platform çalıştırılmış ve etmenlerin davranışları test edilmiştir. Gerek etmenlerin tuttuğu işlem kayıt dosyaları aracılığıyla gerekse de JADE kütüphanesi içerisinde yer alan Yoklayıcı (Sniffer) etmeni kullanılarak etmenlerin etkileşimleri gözlenmiştir. Ek olarak JADE kütüphanesinde yer alan dummy agent kullanılarak etmenlerin hazırladığı FIPA ACL (Agent Communication Language) mesajları kontrol edilmiştir. 4. Sonuç Şekil 2. Senaryo örneğine ait olan etkileşim diyagramı 2.4. Senaryolar için HTN diyagramlarının Hazırlanması Çok etmenli ders yönetim sistemi tasarlanırken etmen görevlerinin planlama katmanları için gerekli Hiyerarşik Görev Ağı (HGA) (Hierarchical Task Network HTN) yapıları da oluşturulmuştur. Bunun bir örneği Şekil 3 de görülen, ders teklifi senaryosuna ait ağdır. İlgili HGA incelendiğinde asıl görevin ders teklifi olduğu; ancak bunun servisi veren etmenleri bul, ders sorgusu gerçekleştir, teklif edilen dersi anabilim dalına gönder gibi alt görevlere ayrıştırıldığı görülmektedir. Bu alt görevleri de oluşturan çeşitli eylemler (actions) yer almaktadır. Şekil 3 de örnek senaryonun HGA diyagramı görülmektedir. Bu çalışmada, örnek bir ders yönetim sistemi ÇES olarak SABRO metodolojisine uygun bir şekilde tasarlanarak JADE üzerinde gerçekleştirilmiştir. Tasarım aşamasında ilk olarak roller belirlenmiştir. Roller etmenlerle eşlenmiş, ontolojiler belirlenerek sistemdeki etkileşimler bulunup gösterilmiş ve sistem üzerindeki senaryo örneği HGA diyagramıyla hazırlanmıştır. Çalışmanın sınıf ve etkileşim diyagramları verilerek JADE üzerindeki gerçekleştirimler hakkında detaylı bilgi verilmiştir. Diyagramların çeşitliliği sayesinde, çalışmanın anlaşılması daha kolay ve etkin olmuştur. Özellikle nesne diyagramı sistemin çalışma mantığını net bir şekilde ortaya koymaktadır. Sistemin gerçekleştirilme süreci JADE sayesinde kısa sürmüştür. Sınıf diyagramının önceden oluşturulması bu aşamada faydalı olmuştur. SABRO metodolojisinin JADE ile adım adım oluşturulması, karmaşık sistemlerin daha kolay ve anlaşılır bir şekilde olmasına fayda sağlayacağı düşünülmektedir. Yazılım geliştirme sırasında bazı eksikliklerin farkına varılmıştır. Örneğin tasarım aşamasında yapılan hatalardan geri dönülmesinde agent sınıfı zorluk çıkarmıştır. Temizleme imkânının verilmesinin daha uygun olacağı düşünülmüştür. Buna ek olarak Sniffer Agent ın çalışması her zaman aynı hızda ve verimlilikte olmamıştır. Bu çalışmadaki ders yönetim sistemi; öğrenci, okul, ders vb. otomasyon programlarının bir parçası olarak düşünülürse sistem büyütülmeye uygundur. 54

Kaynaklar Alaybeyoğlu, A.,Kardaş, G., Erdur, R. C., Dikenelli, O., 2007. SABRO Metodolojisi Kullanılarak FIPA Uyumlu Çok-Etmenli Bir Otel Rezervasyon Sisteminin Tasarımı ve Gerçekleştirilmesi. Akademik Bilişim 2007, Kütahya. Bellifemine, F.,Poggi, A., Rimassa, G., 2001. Developing Multi Agent Systems With a FIPA Compliant Agent Framework. Software Practice and Experience, 31, 103-128. Dikenelli, O., 2009. Seagent Çoklu Etmen Geliştirme Çerçevesi, 4. Ulusal Yazılım Mühendisliği Sempozyumu - UYMS'09, 319-321. Dikenelli, O., Erdur, R. C., 2003. SABRO: A Standards Based and Pattern Oriented Multi-Agent Development Methodology. Lecture Notes in Artificial Intelligence, 2577, 213-226. Ergün, S., Aydoğan, T., 2013. Kavşak Sinyalizasyon Sisteminin JACK Etmen Geliştirme Platformunun Kullanılarak Oluşturulması, Gazi Üniversitesi Bilişim Teknolojileri Dergisi, 6(1), 9-15. Kardaş, G., Ekinci, E., E., Afşar, B., Dikenelli, O., Topaloğlu, N., Y., 2009. Ontoloji Tabanlı Çok-etmenli Sistemlerin Model Güdümlü Geliştirilmesi, 4. Ulusal Yazılım Mühendisliği Sempozyumu - UYMS'09, 125-132. Padgham, L.,Winikoff, M., 2004. Developing Intelligent Agent Systems, John Wiley and Sons Ltd., 230 pp. Tamersoy, M, Afşar, B., Erata, F., Kardaş, G., 2009. Gaia ile Çok-Etmenli Konferans Yönetim Sistemi Analiz ve Tasarımı, 4. Ulusal Yazılım Mühendisliği Sempozyumu - UYMS'09, 83-90. Wooldridge, M., 2002. An Inroduction to Multiagent Systems. John Wiley and Sons Ltd., 467 pp. 55