=Paper=
{{Paper
|id=Vol-1721/UYMS16_paper_127
|storemode=property
|title=JADE ile Etmen Tabanli Benzetim Tecrubeleri
|pdfUrl=https://ceur-ws.org/Vol-1721/UYMS16_paper_127.pdf
|volume=Vol-1721
|authors=Savas Ozturk,Ahmet Emin Kuzucuoglu
|dblpUrl=https://dblp.org/rec/conf/uyms/OzturkK16
}}
==JADE ile Etmen Tabanli Benzetim Tecrubeleri==
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