9 Presentasjon og drøfting av funn
9.2 Opplevelse av muligheter
Ajan çalıştırma ortamları, ajanların kaynakları kullanmalarını ve uzak sistemler üzerindeki bir ajanın verisine erişebilmelerini sağlar. Bu ortamların birçoğu ajanlar arası iletişimi desteklerken bazıları ajanların hareket etmelerine de izin verir. Son yıllarda önce çıkan başlıca gezgin ajan yazılımları şunlarıdır; JAT (Java Agent Template), AgentSpace, IBM Aglets, JADE (Java Agent DEvelopment framework), Ajanta ve Mobile-C.
4.3.1. JAT
JAT internet üzerinden birbiri ile haberleşebilen ajanlar oluşturmak için hazırlanmış bir ajan çalıştırma ortamıdır. JAT ajanları gezgin ajan olmaya çok yakındırlar ancak bir düğümden diğerine geçmek için başka aygıtta çalışabilme işlevselliğine sahip değillerdir. Ajanlar birbirleri ile Bilgi Sorgulama ve İşleme Dili (KQML-Knowledge Query Manipulation Language) iletileri ile haberleşirler ve bir ajan diğer bir düğüme
geçmek için Java’nın Uzak Yöntem Çağırma (RMI-Remote Method Invocation) desteğini kullanır [100].
4.3.2. AgentSpace
AgentSpace iletişim katmanı olarak Voyager’ı geliştirme çevresi içinde Java dilini kullanan bir ortamdır. Bu sistem üç elemandan oluşur; bir sunucu, bir istemci ve bir Uygulama Programlama Arayüzü (API-Application Programming Interface). Sunucu düğümler ajanlar için gerekli hizmetleri sağlarlar. İstemci ajanların yönetimini sağlayan applet’lerdir. API ise applet’lerin geliştirilmesi için kullanılır. AgentSpace, ajanları saklamak için veri tabanı kullanması ile diğer Java tabanlı gezgin ajan sistemlerinden ayrılır [101].
4.3.3. IBM Aglets
Aglet, IBM Tokyo Araştırma Laboratuvarı’nda geliştirilen bir gezgin ajan yazılımıdır. Bu yazılım Java RMI üzerine inşa edilmiştir ve aglet sunucusu olarak Tahiti ile birlikte çalışır. Aglet çalıştırma ortamı iletim kuralı için Ajan İletim Protokolü (ATP-Agent Transfer Protocol) mekanizmasını kullanır [102].
4.3.4. JADE
Java Ajan Geliştirme Çatısı (JADE-Java Agent DEvelopment framework) çoklu-ajan sistemlerini destekleyen Zeki Fiziki Ajanlar için Temel (FIPA-Foundation for Intelligent Physical Agents) belirtimleri ile uyumlu bir çalıştırma ortamıdır. Ortam sağladığı grafiksel ara yüzü ile hata ayıklama ve ajan dağıtımı gerçekleştirilebilir.
Ajan ortamı diğer makinelerde olabilir ve yapılandırma uzak grafik ara yüzü ile kontrol edilebilir. Yapılandırma ajanların bir makineden diğerine hareket etmesi ile çalışma zamanında değiştirilebilir [103].
4.3.5. Ajanta
Minnesota Üniversitesi tarafından 1997-2002 yılları arasında Java kullanılarak oluşturulmuş bir çalıştırma ortamıdır. Ajanlar, ajan sunucuları içerisinde çalıştırılabilir ve bir düğümden diğerine hareket edebilirler. Ajanta Java dili
kullanılarak oluşturulduğu için Java güvenlik modeli tabanlı tasarlanmış güvenlik mekanizmaları içerir [104].
4.3.6. Mobile-C
Mobile-C ağ uygulamalarında, mekatronik ve gömülü sistemlerde C/C++ gezgin ajanlarını destekleyen, FIPA standardı ile uyumlu bir ajan çalıştırma ortamıdır.
Mobile-C gerçek zamanlı uygulamalar için tasarlanmıştır. Çalıştırma ortamı üzerindeki ajanlar belirli bir görevi yerine getirebilmek için bir Çoklu-Ajan Sistemi (MAS - Multi-Agent System) içerisinde birbirleri ile birlikte çalışırlar [105].
Mobil-C’nin sistem mimarisi Şekil 4.2’de gösterilmiştir. AYM’ler (Ajan Yönetim Merkezleri) sistemin en büyük yapı parçalarıdır ve Mobil-C’nin her bir düğümünde yüklenirler. Onlar değişmez ajanlar (SA - Stationary Agents) ve gezgin ajanlar (MA - Mobile Agents) için asıl çalışma ortamlarıdır. Onlar aynı zamanda gezgin ve ayrılan ajanların haberleşmesi için bir ev tabanlı sistem hizmeti verirler. Ayrılan ajanlar ajan grupları hakkında bilgi toplarlar ve bir gezgin ajanın çalışabileceği ortam sağlarlar [88].
LAN
AYM (Ajan
Yönetim Merkezi Ajan Çalıştırma
Motoru (AEE)
Ajan İletişim Kanalı (ACC)
Kullanıcı Arayüzü
Şekil 4.2. Mobile-C sistem mimarisi
Bir AYM’nin çekirdeği ajanlar için yerel hizmetler sağlayan ve uzak AYM’lere erişmek için vekillik yapan ajan ortamıdır. Bir ajan çalıştırma ortamı ajanların çalışmasını desteklemek için bir AYM tarafından gereken asgari işlevselliği sağlar.
Bir ajan çalıştırma ortamının işlevleri aşağıda verilmiştir:
Ajan Yönetim Sistemi (AMS - Agent Management System): AMS ajanların ömür sürelerini yönetir. Oluşturulmalarını, kayıtlarını, geri çekilmelerini, dolaşmalarını ve ajanların sürekliliklerini denetler.
Ajan İletişim Kanalı (ACC - Agent Communication Channel): ACC yerel ve uzak kayıtlar arasındaki mesajları yönlendirir. Bu hizmet ajanlar arası iletişim ya da ortamlar arası ajan dolaşımı gibi etkinliklerin tümünden sorumludur.
Ajan Güvenlik Yöneticisi (ASM - Agent Security Manager): ASM çalışma ortamı ve altyapı için güvenlik ilkelerinin sürdürülmesinden sorumludur.
Dizin Kolaylaştırıcı (DF-Directory Facilitator): DF sarı sayfa hizmetleri sunar.
Sistemdeki ajanlar servisleri ile iletişim sağlamak için DF’ye kayıt olurlar.
Ajan Çalıştırma Motoru (AEE - Agent Execution Engine): AEE gezgin ajanlar için çalıştırma ortamı sunar. Gezgin ajanlar çalışmak için bir motorun içerisine yerleşmelidirler. AEE karma bir ağda bir gezgin ajan çalışmasını desteklemek için bağımsız bir çalışma ortamı olmalıdır. Mobile-C, ajan çalıştırma motoru olarak Ch yorumlayıcısını kullanılır. Ch ajan çalıştırma motoru Şekil 4.3’te gösterilmiştir [105].
Şekil 4.3. Ch ajan çalıştırma motoru