JADE Kurulumu

Posted by merve bayramusta on July 16, 2010 12:41  •  Comments (2)  •   • 

Multi-Agent bir uygulama geliştirmeden önce ihtiyacımız olan JADE framework unun kurulumuna bir göz atalım. http://jade.tilab.com sitesinden JADE in en son sürümünü indirmek ile başlıyoruz.

İndirilen zip dosyasının içindeki dosyaları seçtiğimiz bir dizin altına çıkartıyoruz. Ben bu işlem için D:\jade şeklinde bir klasör oluşturdum. Bundan sonraki adımları bu path e göre gerçekleştireceğim. JADE'i çalıştırabilmemiz için maalesef bu adımlar yeterli değil. Gerekli bazı ayarlamalar yapmamız gerekecek. Bu sayede JADE için gerekli kütüphaneler ulaşılabilir hale gelecek. Bu kütüphanelerin ulaşılabilirliği için CLASSPATH ayarlarını tanımlamamız gerek.

Bunun için Bilgisayar --> Özellikler --> Gelişmiş sistem ayarları --> Gelişmiş --> Ortam Değişkenleri ne tıklıyoruz. Burada yeni bir CLASSPATH değişkeni ekledikten sonra değer olarak d:\jade\lib\jadeTools.jar;d:\jade\lib\Base64.jar;d:\jade\lib\jade.jar;d:\jade\lib\iiop.jar yazıyoruz. CLASSPATH e eklenen bu jar dosyaları jade klasörü altındaki lib içindeki tüm jarlardır ve bu kütüphaneler JADE'in bütün kaynak kodlarını ve kullanım klavuzlarını bulundurmaktadır.  

Bütün ayarlarımızı tamamladıktan sonra sıra JADE'i test etmeye geldi. Komut satırından yazdığımız "java jade.Boot -gui" komutundan sonra aşağıdaki resimde gösterilen çıktıyı elde edebiliyorsak JADE framework umuz sorunsuz çalışıyor demektir. 

 

Komut satırında gerekli çıktıya ulaştıktan birkaç saniye sonra da yukarda görülen resimdeki ekranı görebilmemiz gerekir. Bu ekran JADE arayüzüdür. Bu arayüz sayesinde multi-agent uygulama geliştirirken yarattığımız agent ları container ımız üzerinde kontrol edebileceğimiz gibi, JADE'in içinde bulunan önceden yazılmış DummyAgent, SnifferAgent gibi agentları da programımızın akışı içerisinde kullanabiliriz. JADE kurulumumuzu tamamlamış olduk. Şimdilik benden bu kadar, bir sonraki yazıda görüşmek üzere :)

Agent Nedir?

Posted by merve bayramusta on July 14, 2010 20:22  •  Comments (0)  •   • 

Web 3.0 ın haberleri yayılmaya başladığı sıralarda aklımıza gelen sorulardan biri de nedir bu Agent kavramı oluyor... Ya da Agent-Oriented Programming nedir? Object-Oriented Programming in bir alternatif midir, yoksa gelecekte onun yerini alabilir mi? Bu soruların cevaplarını henüz tam anlamıyla bulmak pek mümkün değil çünkü AOP henüz çok yayılmış bir yöntem değil. Benim de bu konuya açıklık getirebilecek yeterli bir bilgim yok, sadece siz okurlarımla lisans tezimi yaparken öğrendiğim birkaç bilgiyi paylaşabilirim.

Başlangıç aşamasını geçtiğimize göre nedir bu Agent lar? Nesnelerin özelliği, kendisine verilen görevleri koşulsuz yerine getirmesidir. Agent larda ise durum biraz farklı. Agent lar kendilerine verilen görevi tartar ve ona göre işlem yapmaya karar verirler. Eğer bu görevler onlara önceden tanımlanmış amaçlara uyuyorsa bunları gerçekleştirirler; ama eğer kendi amaçları doğrultusunda değilse bu görevleri yerine getirmezler. Peki bu işlemi nasıl yaparlar? Agent lar kendilerine has süzgeç mekanizmaları geliştirmişlerdir ama bunları Yapay Zeka yöntemleriyle gerçekleştirmezler. Agent lar basit logic kuralları kullanırlar, eğer kendisine verilen görev logic kurallarınca uygun görülüyorsa bu görevi yerine getirir.

Agent lara yönelik uygulama geliştirirken analiz ve tasarım aşamasında çeşitli metodolojiler kullanılabilir. Bu metodolojiler nesneye yönelik programlama yaparken kullandığımız metodoloji lerden oldukça farklıdır. Bu metodolojilere örnek olarak GAIA, Tropos, Adelfe, Mase ve Promethus verilebilir.

Multi-Agent bir uygulama geliştirirken bir framework üzerinde çalışabiliriz. Framework un bize sağladığı olanaklar doğrultusunda bu framework üzerinde agentlarımızı doğurabilir, yönetebilir veya öldürebiliriz. JADE, JADEX, SEAGENT kullanılabilecek frameworklar arasındadır.

Agentlar kendilerine verilen görevleri yerine getirmek için metot kavramı yerine Behaviour class larını kullanırlar. Kalıtıldıkları Behaviour tipine göre o görevi tek bir kez yapabildiği gibi, sonsuz bir cyclic döngü halinde veya belirli bir koşul tamamlanıncaya kadar gerçekleştirebilirler.

Bir sonraki yazımda, basit bir agent nasıl yaratılır, behaviour nasıl tanımlanır, bu görevler agentların görevlerine nasıl eklenir ondan bahsedeceğim. Şimdilik görüşmek üzere :) ..