<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>JADE ile Etmen Tabanlı Benzetim Tecrübeleri</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Savaş Öztürk</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ahmet Emin Kuzucuoğlu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Marmara Üniversitesi</institution>
          ,
          <addr-line>Teknoloji Fakültesi, Elektrik-Elektronik Müh. Bölümü</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Yazılım Test ve Kalite Değerlendirme Laboratuvarı, TÜBİTAK BİLGEM</institution>
          ,
          <addr-line>Gebze, Kocaeli</addr-line>
        </aff>
      </contrib-group>
      <fpage>635</fpage>
      <lpage>640</lpage>
      <abstract>
        <p>Özet. Gerçek dünyada denemesi can ve mal kaybına sebebiyet verebilecek, zaman alıcı ve maliyetli olabilecek sistemlerin benzetiminin yapılarak sınanması çok kullanılan bir yöntemdir. Bu çalışmada, Java Agent Development Environment (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üvenliğine yönelik bir havacılık problemi seçilmiş ve benzetim sonuçlarının karar vericilere ö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</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        İ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 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. 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
seviyesi, kullanım ihtiyaçlarına gore doğru belirlenmelidir, çünkü sadakat seviyesi
yüksek modellerin benzetimi hem zor hem de maliyetlidir. Sadakat seviyesinin
belirlenmesi 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
özelliklerin yönetimi, benzetimin kalitesini etkileyen unsurlardır.
      </p>
      <p>Bu çalışmada havaalanlarındaki yabancı nesnelerin otonom robotlar tarafından
toplanması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
ihtiyacını gidermeye yönelik benzetimler yapılmıştır [2].</p>
      <p>Çoklu robot davranışlarının ve etkileşimlerinin modellenmesi için Java Agent
Development 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
etmenler ister Windows tabanlı bir masaüstü bilgisayardan, ister Android tabanlı bir cep
telefonundan, isterse bizzat bir mobil robotun üzerinden çalıştırılabilir.
2</p>
      <p>Havaalanlarında, pist, apron ve taksi yolu (PAT) sahaları ile hava alanı sınırları
içerisinde 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
şirketleri 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ş
radarlar 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,
tamamen 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.</p>
      <p>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
haberleş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.</p>
      <p>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
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ılacaktır, alışverişler nasıl sonlandırılacaktır gibi çok sayıda soruya çözüm bulunması
gerekmektedir. 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ılması 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</p>
    </sec>
    <sec id="sec-2">
      <title>JADE Etmen Çerçevesi</title>
      <p>JADE ücretsiz olarak dağıtıma sunulmuş bir etmen çerçevesi olup, etmen
çerçevelerinin 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</p>
      <p>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
tekrarlanması gereken işleri yaptırmak için TickerBehaviour oldukça kullanışlıdır.</p>
      <p>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
etmenin 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ı
gecikebilir 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.
Şekil 1. Bir ACLMessage gönderim örneği
4</p>
    </sec>
    <sec id="sec-3">
      <title>Fizibilite Çalışması</title>
      <p>Fizibilite için önce analiz çalışması yapılarak sistemin bir kavramsal modeli
oluşturulur, benzetim parametreleri ve yazılım gereksinimleri belirlenir. Tasarıma
geçildiğ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.
(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.</p>
      <p>Tablo 1. Uygulamada kullanılan davranış ve mesaj türleri
DAVRANIŞ VE
TÜRLERİ
TickerBehaviour
CyclicBehaviour
WakerBehaviour
OneShotBehaviour
Gelen mesaj çeşidi sayısı</p>
      <p>MESAJ</p>
      <p>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</p>
    </sec>
    <sec id="sec-4">
      <title>Sonuç</title>
      <p>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
sunulmaktadır.</p>
    </sec>
    <sec id="sec-5">
      <title>Kaynaklar</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>eder. 1</source>
          .
          <string-name>
            <surname>Hocaoğlu</surname>
            ,
            <given-names>M. F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fırat</surname>
            ,
            <given-names>C</given-names>
          </string-name>
          , Sarı,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Sarı</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Paşalıoğlu</surname>
          </string-name>
          ,Ş.,
          <string-name>
            <surname>Öztürk</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cengiz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>İlhan</surname>
            ,
            <given-names>E.S.</given-names>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Ergin</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Erçetin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ündeğer</surname>
          </string-name>
          , Ç. (
          <year>2005</year>
          )
          <article-title>Eğitim</article-title>
          , Mimari Tasarım, Optimizasyon Ve
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>Konsept</given-names>
            <surname>Geliştirmede C4ISR Simülasyon Aracı: TÜBİTAK Deneyimi</surname>
          </string-name>
          . Ulusal Savunma
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>Uygulamaları Modelleme ve Simülasyon Konferansı (USMOS)</source>
          , Ankara. 2.
          <string-name>
            <surname>Gerkey</surname>
            ,
            <given-names>B. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mataric</surname>
            ,
            <given-names>M. J.</given-names>
          </string-name>
          (
          <year>2004</year>
          )
          <article-title>A formal analysis and taxonomy of task allocation in</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>multi-robot systems</article-title>
          .
          <source>Journal of Robotics Research</source>
          ,
          <volume>23</volume>
          (
          <issue>9</issue>
          ),
          <fpage>939</fpage>
          -
          <lpage>954</lpage>
          . 3.
          <string-name>
            <surname>Bellifemine</surname>
            ,
            <given-names>F. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caire</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Greenwood</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2007</year>
          )
          <article-title>Developing Multi-Agent Systems</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <source>with JADE</source>
          .
          <source>ISBN : 978-0-470-05747-6</source>
          , John Wiley &amp; Sons Ltd.,
          <string-name>
            <surname>West</surname>
            <given-names>Sussex</given-names>
          </string-name>
          , England. 4.
          <string-name>
            <surname>McCreary</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          (
          <year>2008</year>
          )
          <article-title>The economic cost of FOD to airlines</article-title>
          .
          <source>INSIGHT SRI Technical Report,</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          URL : http://insightsri.com/system/files/The+Ecomonic+Cost+of+FOD+-+
          <source>Jul08.pdf, 30</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>Nisan</source>
          <year>2014</year>
          5. Hood,
          <string-name>
            <surname>M.</surname>
          </string-name>
          (
          <year>2000</year>
          )
          <article-title>The day Concorde fell to earth</article-title>
          .
          <source>IEEE Spectrum</source>
          ,
          <volume>37</volume>
          (
          <issue>9</issue>
          ),
          <fpage>24</fpage>
          -
          <lpage>28</lpage>
          . 6.
          <string-name>
            <surname>FIPA</surname>
          </string-name>
          (
          <year>2002</year>
          )
          <article-title>FIPA Agent Management Specification</article-title>
          .
          <article-title>Foundation for Intelligent Physical</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Agents</surname>
          </string-name>
          (FIPA), Alameda, CA, USA. 7.
          <string-name>
            <surname>Öztürk</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuzucuoğlu</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          (
          <year>2015</year>
          )
          <article-title>Optimal bid valuation using path finding for multi-robot</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <article-title>task allocation</article-title>
          .
          <source>J. Intelligent Manufacturing</source>
          <volume>26</volume>
          (
          <issue>5</issue>
          ):
          <fpage>1049</fpage>
          -
          <lpage>1062</lpage>
          . 8.
          <string-name>
            <surname>Öztürk</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuzucuoğlu</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          (
          <year>2016</year>
          )
          <article-title>Multi-robot coordination approach for autonomous run-</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>way Foreign Object</surname>
          </string-name>
          <article-title>Debris (FOD) clearance</article-title>
          .
          <source>Robotics and Autonomous Systems</source>
          ,
          <volume>75</volume>
          :
          <fpage>244</fpage>
          -
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>