JADE ile Etmen Tabanlı Benzetim Tecrübeleri Savaş Öztürk1, Ahmet Emin Kuzucuoğlu2 1Yazılım Test ve Kalite Değerlendirme Laboratuvarı, TÜBİTAK BİLGEM, Gebze, Kocaeli 2Marmara Üniversitesi, Teknoloji Fakültesi, Elektrik-Elektronik Müh. Bölümü 1 e-posta:savas.ozturk@tubitak.gov.tr 2 e-posta:savas.kuzucuoglu@marmara.edu.tr Özet. Gerçek dünyada denemesi can ve mal kaybına sebebiyet verebilecek, za- man alıcı ve maliyetli olabilecek sistemlerin benzetiminin yapılarak sınanması çok kullanılan bir yöntemdir. Bu çalışmada, Java Agent Development Environ- ment (JADE) çoklu etmen geliştirme altyapısı ile uygulanmış bir fizibilite çalışmasında elde edilen tecrübeler anlatılacaktır. JADE ile çoklu robot işbirlikteliğine yönelik esnek bir deney altyapısı geliştirilmiş, çok sayıda yöntem ve algoritma sahaya gitmeden denenmiştir. Uygulama örneği olarak pist güven- liğine yönelik bir havacılık problemi seçilmiş ve benzetim sonuçlarının karar ver- icilere önemli bir girdi sağlayacağı görülmüştür. Anahtar Kelimeler : Java Agent Development Environment (JADE), benzetimi, çoklu etmen sistemleri, çoklu-robot işbirlikteliği 1 Giriş İnsan sağlığı ve hayatı açısından tehlikeli, zaman alıcı, maliyetli, işletimi zor ve usandırıcı birtakım testlerin ve denemelerin yapılabilmesi için benzetim kullanılması çok sık tercih edilen bir yöntemdir [1]. Benzetim, gerçek dünyadaki sistemlerin ya da gerçek dünyada oluşturulması beklenen sistemlerin, sanal dünyada modellenerek çeşitli senaryoların üretilen benzetim modeli üzerinde işletilmesidir. Benzetim modelleri gerçek dünyaya ne kadar yakınsa sadakat seviyesi o kadar yüksek olur. Sadakat se- viyesi, kullanım ihtiyaçlarına gore doğru belirlenmelidir, çünkü sadakat seviyesi yüksek modellerin benzetimi hem zor hem de maliyetlidir. Sadakat seviyesinin belir- lenmesi ve modelin oluşturulması kadar, benzetimin işletileceği altyapının tesis edilmesi de önem kazanır. Çünkü zaman yönetimi, veri yönetimi, rastsallık gibi özel- liklerin yönetimi, benzetimin kalitesini etkileyen unsurlardır. 635 Bu çalışmada havaalanlarındaki yabancı nesnelerin otonom robotlar tarafından top- lanmasına yönelik çözüm önerisinin fizibilitesi gerçekleştirilmiştir. Problemin çözümü için geliştirilen sezgisel yöntemlerin ve alana özgün parametrelerin denenmesi ih- tiyacını gidermeye yönelik benzetimler yapılmıştır [2]. Çoklu robot davranışlarının ve etkileşimlerinin modellenmesi için Java Agent Devel- opment Environment(JADE) kullanılmıştır [3]. JADE Java programlama dilinin gücünü kullanarak çok pratik bir şekilde bir etmeni modellemeyi mümkün kılar. JADE kullanarak etmen geliştirirken ne soket programlama, ne de kanal(thread) programlama için gerekli üst düzey mühendislik tecrübelerini kullanmaya gerek kalmaz, çok kolay bir şekilde mesajlaşan ve eşzamanlı çalışabilen etmenler geliştirilebilir. Geliştirilen et- menler ister Windows tabanlı bir masaüstü bilgisayardan, ister Android tabanlı bir cep telefonundan, isterse bizzat bir mobil robotun üzerinden çalıştırılabilir. 2 Problemin Tanımı:Pist Üzerindeki Yabancı Cisimlerin Toplanması Havaalanlarında, pist, apron ve taksi yolu (PAT) sahaları ile hava alanı sınırları içer- isinde olabilecek çakıl, asfalt parçası, tahta parçası, vida, somun, emniyet telleri, vb. uçak motorlarına zarar verebilecek yabancı maddelerin önlenmesi ve temizlenmesi havacılık açısından yıllık 12 milyar dolar kadar önemli bir kaynak ayrılmasını gerektirir [4]. Çünkü bu maddeler ciddi kazalara sebebiyet verebileceği gibi hem havayolu şir- ketleri hem de yolcular açısından maddi yük getiren gecikmelere sebebiyet verebilir. 2000 yılındaki Concorde kazasından sonra yabancı nesnelerin tehlikesi anlaşılmış ve bu konudaki çalışmalar artmıştır [5]. Yabancı nesnelerin tespiti için özel üretilmiş ra- darlar ve sensörler kullanılmakta ve nesnelere follow-me adı verilen özel araçlar ile yaklaşılarak takılı özel süpürgeler vasıtasıyla ya da elle toplanmaktadır. Ancak bu araçların PAT alanlarında geçirdiği sürenin olabildiğince az olması ve uçuş emniyetini tehlikeye atmaması gerekmektedir. Bu amaçla, insan faktörünü devre dışı bırakan, tam- amen otonom olarak işbirlikteliği yapan çok sayıda robotun yabancı nesneleri en hızlı ve etkin biçimde temizlemesinin fizibilitesine ihtiyaç olmuştur. Bunu yapabilmenin en kolay, hızlı, ucuz ve güvenli yolu da bir benzetim çalışması gerçekleştirmektir. Yapılan benzetim çalışmasında bir havaalanı pist çevresine belirli sayıda istasyon ve her istasyonda birer robot konumlanmak üzere, radarla tespit edilen yabancı nesnelerin koordinatları tüm robotlara bildirilecek, robotlar engelleri de dikkate alarak göreve olan mesafelerini ve yapacakları diğer görevleri de hesaba katan bir teklif sunacak, merkezi bir müzayedeci etmeni görev paylaşımını yapacak, robotlar kendi aralarında da haber- leşerek görev alışverişi yapabilecek, son olarak da her robot görev kümesine gore en kısa yoldan tüm görevleri nasıl gerçekleştireceğini hesaplayacak ve sırayla tüm görev yerlerini ziyaret ederek nesneyi alacak, en uygun istasyona topladığı nesneleri bırakacaktır. Bu çalışmada ortam ve robotların modellenmesinden daha çok dikkat robot işbirlikteliğine yöneltilmiştir: Robotlara görevler nasıl anons edilecektir, kaç robot görevlendirilmelidir, robotların başlangıç konumları nerede olmalıdır, robotlar aynı anda kaç adet nesne taşıyabilir, robot göreve nasıl teklif verecektir, görev yerlerini en 636 kısa yoldan nasıl ziyaret edecektir, hangi istasyona nesneler bırakılacaktır, robot alışverişinde satıcı robot nasıl belirlenecektir, başlangıç görev ataması nasıl yapılacak- tır, alışverişler nasıl sonlandırılacaktır gibi çok sayıda soruya çözüm bulunması gerek- mektedir. Bu varyasyonların denenmesi, ortamın ve robotların gerçek dünyada hazır hale getirilmesi durumunda dahi oldukça zaman alacak, havaalanının uçuşlara kapatıl- ması gerekecek, sistemin iddia edilen avantajları sağlayamaması durumunda kurulmuş olan sistem atıl kalacaktır. Benzetim ortamında problem modellenebilir ve hızlandırılmış benzetimlerle tüm alternatif yöntemler denenerek en ekonomik ve en güvenli çözüm tespit edilebilir. 3 JADE Etmen Çerçevesi JADE ücretsiz olarak dağıtıma sunulmuş bir etmen çerçevesi olup, etmen çerçevel- erinin amacı, etmen sistemlerini temel alan uygulamaları geliştirmek isteyen programcı ve mühendislere, etmen oluşturmak için hazır yazılım kütüphaneleri ve temel servisleri içeren güvenilir ve hızlı geliştirmeye olanak sağlayan bir ortam sunmaktır [6]. Benzer çoklu etmen benzetim geliştirme ortamları arasından, JADE platformunun tercih edilmesinin basilica sebepleri aşağıdaki gibi sıralanmıştır: - Geliştirme ortamı ve kullanım kolaylığı (Java ve Eclipse desteği) - FIPA uyumluluğu - Kapsamlı dokümantasyon ve kitaplar - Dünya çapında kullanıcı çeşitliliği ve çokluğu - Canlı forum ve destek Etmenlerin çevresindeki olayları algılaması için sürekli ortamı dinlemesi ve kontrol etmesi gerekir. Bu işlemi yaparken de yürüttüğü mevcut işleri aksatmaması gerekir. Bunu standart bir bilgisayar programında sağlamak için yazılım kanalları (thread) kullanmak ve iyi tasarlamak şarttır. Bu tür programlarda hata ayıklamak da zordur. JADE bunu kolaylaştıran bir mekanizma geliştirmiştir. Çeşitli davranış yapıları tanımlanmış ve kontrolü JADE altyapısı üstlenmiştir. Örneğin CyclicBehaviour adı verilen davranış sürekli işletilecek eylemleri belirtmek için, OneShotBehaviour ise bir kez yapılıp bırakılacak eylemleri tanımlamak için kullanılır. Belirli periyotlarla tekrar- lanması gereken işleri yaptırmak için TickerBehaviour oldukça kullanışlıdır. JADE etmenlerin haberleşmesi için FIPA standardına uygun bir mesajlaşma altyapısı da kurmuştur [6]. Bir etmen için yaşam döngüsü Şekil 2a’da gösterilmektedir. Her et- menin gelen mesajlar için bir havuzu vardır. Sırayla bu havuzdan mesajları alır, işler ve siler. Eğer davranış yapısı iyi kurulamaz ise bazı mesajların işleme alınması gecike- bilir ve bu da etmenin beklendiği şekilde çalışmasını engeller. Mesajlar elektronik postaya benzer, her mesajın bir alıcı listesi vardır, bir mesaj bir seferde birden çok alıcıya gönderilebilir. 637 Şekil 1. Bir ACLMessage gönderim örneği 4 Fizibilite Çalışması Fizibilite için önce analiz çalışması yapılarak sistemin bir kavramsal modeli oluştu- rulur, benzetim parametreleri ve yazılım gereksinimleri belirlenir. Tasarıma geçild- iğinde SimManagerAgent, ScenarioManagerAgent, RobotAgent, TerrainAgent ve AuctioneerAgent adında 5 adet etmen tipi belirlenmiştir. Şekil 2b’deki parametre kümesinin uygun kombinasyonlarla benzetimi yapılarak optimal çözüm bulunmaya çalışılmıştır. Seçilen parametrelerle yapılan her benzetim deneyinde, robotların katettiği mesafeler ve harcadığı süreler loglanır. Tüm parametrelerin denenmesi söz konusu olmamış, bazı denemeler sonucunda, birtakım opsiyonların elenmesi ve deney parametrelerinin revize edilmesi sağlanmıştır. Örneğin yol bulma algoritmalarından olan ve rastsallığa dayanan RRT’nin asla iyi bir çözüm üretemeyeceği anlaşılmış ve deney parametrelerinden çıkarılmıştır [7]. Benzer şekilde revize edilen deney setlerinin otomasyon ile ardı sıra otomatik olarak benzetimi yapılmıştır. Yüzlerce deney sekiz kata kadar hızlı işletilerek zamandan da tasarruf edilmiştir. Gerçek dünyada olsa aylar ve hatta yıllar sürecek deneyler bir hafta içerisinde tamamlanmıştır. Sonuç olarak da gerçek dünyada iddia edilen avantajların sağlanıp sağlanamayacacağı, hangi kurgunun en ekonomik ve en güvenli yol olduğu, sistemin kurulum maliyetinin kendisini ne kadar sürede amorti edeceği (return of investment-ROI) gibi sorular cevap bulmuştur [8]. Atatürk Hava Limanı (AHL) sahası üzerinde yapılan benzetimlerde yüzlerce seçenek arasından iyi kurgu aşağıdaki gibi belirlenmiştir: - Robot sayısı: 5,10,15,20 robot ile yapılan benzetimler sonucunda çok sayıda robot kullanmanın daha iyi sonuç vermeyeceği ortaya çıkmış ve 10 robotun ideal olduğu anlaşılmıştır. - Robot servis alanı: Robotlara başlangıç konumları merkez olarak belirlenen dairesel sorumluluk alanı vermek yerine, hesaplaması daha maliyetli olan sıcaklık haritaları ile belirlenen dinamik servis alanı atamanın daha iyi sonuç verdiği anlaşılmıştır. - Başlangıç ataması: Robotlara başlangıçta yapılan merkezi görev atamasının açgçözlü atama yerine hesaplaması daha maliyetli olan optimal atama ile yapılmasının daha iyi sonuç verdiği anlaşılmıştır. - Yol bulma algoritması: Robotun teklif verirken ve yol planını hesaplarken hedefe olan yolu hesapladığı yol bulma algoritması olarak D*-Lite algoritması en hassas ve uygun sonucu vermiştir. 638 (a) (b) Şekil 2. a) Bir JADE etmeninin yaşam döngüsü b) Çoklu robot benzetimi parametre kümesi Bu kurgunun personel, donanım, haberleşme ve diğer tüm masrafları dahil kurulum ve 5 yıllık bakım maliyeti 1.905.000 $ olarak belirlenmiş, sistemin bir seferde 10 adet yabancı nesneyi ortalama 648 saniyede toplandığı hesaplanmıştır. Tek follow-me araçlı mevcut sistemin kurulum ve 5 yıllık bakım maliyeti ise 1.125.000 $’dır. Mevcut sistemde radardan 10 adet FOD tespit edildiğinde ortalama 1468 saniyede toplanabilmektedir. Sistem 5 yıl boyunca 30 ve daha az kez kullanılacaksa, robotlu çözüm kendisini amorti edememektedir. 30’dan fazla kullanılacaksa 10 robotlu otonom çözüm avantajlı hale gelmektedir. 500 ve daha fazla kullanımda ise 20 robotlu ve dairesel sabit servis alanlı robotlar tercih edilebilir. Tablo 1. Uygulamada kullanılan davranış ve mesaj türleri DAVRANIŞ VE MESAJ ETMEN TÜRLERİ TÜRLERİ Robot SimManager Terrain Auctioneer TickerBehaviour 5 1 2 7 CyclicBehaviour 0 0 0 0 WakerBehaviour 5 2 1 5 OneShotBehaviour 8 0 0 6 Gelen mesaj çeşidi sayısı 18 2 10 17 639 Geliştirilen JADE uygulaması incelendiğinde her etmende kullanılan Davranış sayısı ve gelen mesaj çeşidi sayısı Tablo 3’de gösterilmiştir. 3 adet davranış türünün tercih edildiği ve en sıkı ilişkinin RobotAgent-AuctioneeerAgent arasında olduğu görülmektedir. 5 Sonuç Bilgisayar teknolojilerinin gelişimi ile modelleme ve benzetim teknolojileri hayatımızın daha çok içerisinde yer almakta, eğitimde, yöneylem araştırmalarında, riskli ve maliyetli operasyonları gerçekleştirmeden önce fizibilite yapmada kullanılır. Dramatik Concorde faciasından sonra havacılıkta çok önemli bir emniyet alanı olan pistin uçaklara zarar verebilecek yabancı nesnelerden arındırılmasına yönelik otonom çoklu robot sistemi önerisinin benzetimi JADE etmen çerçevesinde yapılmıştır. Bu fizibilite çalışması sonucunda, pistlerden yabancı nesneleri toplaması için otonom robot işbirlikteliğinin hangi şartlarda kullanılabileceği anlatılmakta, karar vericilere karşılaşacakları riskler, maliyetler ve faydalar somut ve nesnel bir şekilde sunulmak- tadır. Teşekkür - Yazarlar, bu çalışmanın gerçekleştirilmesi için destek sağlayan TÜBİTAK BİLGEM Yazılım Test ve Kalite Değerlendirme Laboratuvarı'na teşekkür eder. Kaynaklar 1. Hocaoğlu, M. F, Fırat, C, Sarı, F., Sarı,N., Paşalıoğlu,Ş., Öztürk,S., Cengiz,R., İlhan, E.S., Ergin, A.A., Erçetin, A., Ündeğer, Ç. (2005) Eğitim, Mimari Tasarım, Optimizasyon Ve Konsept Geliştirmede C4ISR Simülasyon Aracı: TÜBİTAK Deneyimi. Ulusal Savunma Uygulamaları Modelleme ve Simülasyon Konferansı (USMOS), Ankara. 2. Gerkey, B. P., Mataric, M. J. (2004) A formal analysis and taxonomy of task allocation in multi-robot systems. Journal of Robotics Research, 23(9), 939-954. 3. Bellifemine, F. L., Caire, G. and Greenwood, D. (2007) Developing Multi-Agent Systems with JADE. ISBN : 978-0-470-05747-6, John Wiley & Sons Ltd., West Sussex, England. 4. McCreary, I. (2008) The economic cost of FOD to airlines. INSIGHT SRI Technical Report, URL : http://insightsri.com/system/files/The+Ecomonic+Cost+of+FOD+-+Jul08.pdf, 30 Nisan 2014 5. Hood, M. (2000) The day Concorde fell to earth. IEEE Spectrum, 37(9), 24-28. 6. FIPA (2002) FIPA Agent Management Specification. Foundation for Intelligent Physical Agents (FIPA), Alameda, CA, USA. 7. Öztürk,S.,Kuzucuoğlu,A.E. (2015) Optimal bid valuation using path finding for multi-robot task allocation. J. Intelligent Manufacturing 26(5): 1049-1062. 8. Öztürk,S.,Kuzucuoğlu,A.E. (2016) Multi-robot coordination approach for autonomous run- way Foreign Object Debris (FOD) clearance. Robotics and Autonomous Systems, 75: 244- 259. 640