HLA Uyumlu Benzetim Sistemlerinin Ardıl-lem Çizenekleriyle Sınanması Rukiye SÜTBA 1 Turgay ÇELK 2 Kayhan MRE 3 1,2,3 Hacettepe Üniversitesi Bilgisayar Mühendislii Bölümü, Beytepe, Ankara 1 e-posta: rukiye@cs.hacettepe.edu.tr 2 e-posta: turgay@cs.hacettepe.edu.tr 3 e-posta: ki@hacettepe.edu.tr Özet Yeniden kullanılabilir ve birlikte çalıabilir daıtılmı benzetim sistemlerinin gelitirilmesinde Yüksek Düzeyli Mimari (HLA High Level Architecture) yaygın olarak kullanılır. Federasyon gelitirme ve çalıtırma süreci (FEDEP Federation Development and Execution Process) ile HLA uyumlu benzetim sistemleri gelitirilirken izlenmesi gereken adımlar tanımlanmıtır. Bu süreç tanımları karmaık olduundan, yardımcı araçların kullanılması gereklidir. Bu ihtiyacı karılamak üzere, bütünleik bir HLA araç topluluu gelitirilmektedir. Ortaya çıkacak araçların oluturacaı bütünleik platformun, FEDEP te tanımlı gelitirme ve sınama süreçlerini iyiletirmesi ve hızlandırması amaçlanmaktadır. Bu bildiri kapsamında, FEDEP sürecinin federasyonun iletilmesi ve sonuçlarının incelenmesi adımını kolaylatırmak üzere gelitirilen sınama aracı incelenecektir. Anahtar Kelimeler: Ardıl-lem Çizenekleri, High Level Architecture (HLA), Management Object Model (MOM), Kara Kutu Testi, Unified Modeling Language (UML) Testing HLA Simulations With Sequence Diagrams Abstract High Level Architecture (HLA) is widely used for developing reusable and interoperable distributed simulation systems. Federation Development and Execution Process (FEDEP) has been defined for describing a generalized process for building HLA federations. The complexity of this process requires usage of automation tools to simplify development steps. To cover this requirement, an HLA toolkit has been under development. It is expected that this toolkit will improve and accelerate development and testing phases of FEDEP. In this paper, testing tool developed for simplifying last step of FEDEP, execute federation and prepare results, will be outlined. Keywords: Black Box Testing, High Level Architecture (HLA), Management Object Model (MOM), Sequence Diagram, Unified Modeling Language (UML)
1. Giri Yazılım gelitirme maliyetli ve zaman alıcı bir süreçtir. Benzetim sistemlerinin çou zaman daıtılmı ortamlarda çalıması gerekir ve klasik uygulamalara göre daha karmaık yazılımlardır. Bu sebeple, gelitirilen benzetim sistemlerinin kolayca yeniden kullanılabilmesi, gelitirme maliyetini önemli ölçüde düürecektir. Aynı zamanda benzetim bileenlerinin dier benzetim bileenleriyle birlikte çalıabilir olması, gelitirme sürecinin etkinliini artıracaktır. Benzetim bileenlerinin yeniden kullanılabilmesi ve birlikte çalıabilmesi için, önceden tanımlanmı kurallara uymaları gerekir. Bu ihtiyaçları gidermek üzere, Amerikan Savunma Bakanlıına balı olan DMSO (Defense Modeling and Simulation Office), HLA belirtimini gelitirmitir [1]. HLA, temelde savunma sanayiine yönelik olarak gelitirilmesine ramen, günümüzde sürücü eitim sistemleri, çok kullanıcılı oyunlar gibi sivil sektördeki uygulamalarda da yaygın olarak kullanılmaktadır. HLA da benzetim sistemi federasyon, benzetim bileenleri de federe olarak adlandırılır. Federeler arası etkileim, yayımlama/üye olma (publish/subscribe) mekanizmasına dayanır. HLA da yayımlama/üye olma mekanizması, koum zamanı altyapısı (RTI Runtime Infrastructure) adı verilen bir altyapı aracılııyla salanır. HLA uyumlu büyük ve daıtılmı benzetim sistemlerinin gelitirilme süreci karmaıktır. HLA nın dinamik veri daıtım mantıı bu süreci daha da karmaıklatırır [6]. Bu nedenle süreç adımlarını tanımlayan bir modele ihtiyaç duyulur ve DMSO, bu ihtiyacı karılamak için, Federasyon Gelitirme ve Çalıtırma Sürecini (FEDEP) tanımlamıtır. FEDEP, benzetim sisteminin amaçlarının ve yeteneklerinin belirlenmesi, kavramsal modelinin oluturulması, tasarlanması, gelitirilmesi, alt birimlerinin birletirilmesi ve sınanması, federasyonun iletilmesi ve sonuçlarının incelenmesi adımlarından oluur [3]. Bu bildiride, FEDEP sürecinin federasyonun iletilmesi ve sonuçlarının incelenmesi adımı ele alınacaktır. HLA uyumlu sistemler, klasik uygulamalarda olduu gibi kesme noktaları (breakpoint) koyarak iletimi durdurup niteliklerin deerlerini incelemeye izin vermez, çünkü bileenler daıtılmı ortamda kout olarak çalıırlar. Yayımlama/üye olma mekanizmasına dayanan sistemlerin sınanmasında yaygın olarak kullanılan bir yöntem, çalıma sonrası gözden geçirmedir (After Action Review - AAR). HLA belirtimi de yayımlama/üye olma mekanizmasını kullandıından, HLA uyumlu sistemler AAR yöntemi kullanılarak sınanabilir. Bu yöntemde sistem çalıırken niteliklerin deer deiimi, bileenlerin etkileimleri ile ilgili bilgiler toplanır. HLA sistemlerinden çalıma zamanında veri toplamak için, yönetim nesne modeli (Management Object Model - MOM) gelitirilmitir [4]. Çalıma sonrasında bu veriler çeitli yöntemlerle çözümlenerek beklenmeyen davranılar tespit edilir ve sistemin performansı hakkında bilgi elde edilir. zleyen kesimlerde, öncelikle, yönetim nesne modelinden bahsedilecek, daha sonra AAR yönteminin HLA sistemlerine uygulanmasıyla ilgili önceden yapılmı çalımalar incelenecek, son kesimde gelitirilen araçtan ve saladıı avantajlardan bahsedilecektir. 2. Yönetim Nesne Modeli (Management Object Model MOM ) HLA yeni tanımlandıı dönemlerde, federelerin RTI (Koum Zamanı Altyapısı) hakkında yönetim verilerine erimesi ve bazı durumlarda federasyonu denetlemesi gereklilii ortaya çıkmıtır. RTI, federasyon ve federeler hakkında hangi bilgilerin gerekli olabilecei konusunda yapılan çalımalar
sonrasında, MOM ortaya çıkmıtır. Bir federe benzetim verilerine üye olabildii gibi, yönetim verilerine de üye olabilir. Ayrıca bu verileri baka bir federe deil, dorudan RTI salar. MOM sayesinde bir federe yönetim verilerini edinmesi yanında, birtakım etkileimlerle federasyonu denetleyebilir. Bu etkileimler de dorudan RTI tarafından algılanıp tepki verilir. MOM bileenleri, nesne ve etkileim sınıflarıdır, dier nesne ve etkileim sınıfları gibi nesne modelinin elemanlarıdır ve etkin olmaları için nesne modeli dosyalarına (FOM/SOM, FED) eklenmelidirler [2]. Bu sınıflar federasyona katılan federelerin özellikleri hakkında bilgi sahibi olmak için kullanılır. Örnein bir federe MOM nesne sınıflarından biri olan Manager.Federate sınıfına üye olursa, federasyona katılan her federe için bu sınıfın bir nesnesi, RTI tarafından üye olan federeye bildirilecektir. MOM bileenlerinin çou, federelerin yerine yerel RTI bileenleri (LRC Local RTI Component) tarafından yayımlanır/üye olunur. HLA sistemlerinde verilerin toplanması, bu ile görevlendirilmi özel federeler tarafından gerçekletirilir. Bu izleyici federeler MOM bileenlerini kullanarak, federasyondaki dier federelerin RTI ile arasındaki mesaj alıveriini kaydedebilir. Kaydedilen bu veriler, çalıma sonrası gözden geçirme araçlarına veri kaynaı olarak kullanılabilir. 3. lgili Çalımalar Çalıma zamanında MOM bileenlerini kullanarak veri toplayıp ileyen birtakım araçlar gelitirilmitir. Bu kesimde FMT (Federation Management Tool), FVT (Federation Verification Tool), MAK Data Logger ve hlaresults araçları incelenecektir. FMT, DMSO ile MAK firmasının ortak çalımasıyla gelitirilmitir [5]. FMT, federasyon çalıırken MOM bileenlerini kullanarak çalıma hakkında bilgi toplar ve topladıı bilgileri kullanıcı arayüzleri aracılııyla federasyon yöneticisine sunar. FMT nin veriyi ilemesi çalıma anında olur, çalıma sonrasında veriyi çözümleme özellii yoktur. FMT geniletilmeye olanak salayan bir eklenti arayüzüne sahiptir [7]. FVT, DMSO desteiyle Georgia Tech Research Institute tarafından gelitirilmitir [8]. FVT, federelerin, niteliklerin günlenmesi/yansıtılması (update/reflect), etkileimlerin gönderilmesi/alınması ve HLA servislerinin çarılması sorumluluklarını yerine getirdiklerini dorular [9]. FVT, belli bir servis çarısı dizisi sorgulamaya olanak salamamaktadır. Ayrıca kullanıcıya sunulan sonuç verileri, zaman bilgisi, ilgili servis çarılarının hangi sırada olutuu bilgileri açısından yetersizdir ve sonuç raporu kullanıcıya federasyondaki beklenmeyen durumları kolayca tespit edecek bilgiyi salayamamaktadır. MAK Data Logger, MAK Technologies tarafından gelitirilmitir. HLA ve DIS (Distributed Interactive Simulation) uyumlu benzetim sistemlerinin çalıma zamanı verilerinin toplanması ve çalıma sonrası tekrar izlenmesine olanak salar [10]. Toplanan verilerin çözümlenmesi için, veri tabanına kaydedilen ham verileri ileyecek ek bir uygulamaya ihtiyaç duyulur. hlaresults, Virtc firması tarafından gelitirilmitir. MAK Data Logger da olduu gibi, HLA ve DIS (Distributed Interactive Simulation) uyumlu benzetim sistemlerinin çalıma zamanı verilerinin toplanması ve çalıma sonrası tekrar izlenmesine, ayrıca toplanan verilerin çözümlenmesine olanak salar [11]. Kullanıcı nesne sınıfı nitelik deerlerinin ve etkileimlerin izlenmesi için test tanımları oluturabilirken, ilgilendii servis çarıları düzeyinde test tanımları yapamaz.
4. MOM ve Ardıl-lem Çizenekleriyle Federasyonun Sınanması Gelitirilen sınama aracı, kullanıcının kara kutu testi (black box testing) yapmasına olanak salayacaktır. levsel sınama olarak da bilinen kara kutu testinde, kullanıcı sistemin nasıl çalıtıı konusunda fikir sahibi deildir. Sadece geçerli girdileri ve beklenen çıktıların ne olması gerektiini bilir ve buna göre sınama tanımlarını oluturur. Kullanıcının sınama tanımlarına göre, sistem sınanır ve sonuçlar kullanıcıya sunulur. Bu kesimde, sınama aracı gelitirilirken izlenen yol incelenecektir. Federasyonun sınanması için ilk adım, federasyonun çalıması sırasında çalıma verilerinin toplanmasıdır. Bu amaçla gelitirilen MOM, önceki kesimlerde ele alınmıtır. Sınama aracı gelitirilirken, genel yaklaıma uyarak veri toplama sürecinde MOM kullanılmı ve toplanan veriler, çözümleme safhasında kullanılacak biçimde kaydedilmitir. Sınama sürecinde ikinci aama, sınama tanımlarının oluturulmasıdır. Daıtılmı sistemler söz konusu olunca, kullanılan sınama tanımı oluturma yöntemlerinden biri ardıl-ilem çizenekleridir. DMSO nun tanımladıı, HLA uyumluluk sınama belirtiminde, sınama tanımları, ileti ardıl-ilem çizgeleriyle (Message Sequence Chart - MSC) ifade edilir [13]. MSC lerle sistem davranıı tanımlanabilir, daıtılmı sistemdeki bileenlerin birbirleriyle ve ara katman yazılımıyla olan etkileimleri modellenebilir [14]. UML ardıl-ilem çizenekleri, ilevsel olarak MSC lere benzerler. Gelitirilen sınama aracında, sınama tanımlarının oluturulması için ardıl-ilem çizenekleri kullanılmıtır. Sınama sürecindeki son adım, toplanan verilerin sınama tanımlarına göre çözümlenmesidir. Sınama aracı, bu süreçte, tüm baarılı elemeleri, balayan fakat sonlanamayan elemeleri tespit ederek, etkileim ayrıntılarını da içerecek ekilde çizelgeler ve grafikler aracılııyla kullanıcıya sunar. Böylece kullanıcı beklenmeyen durumların tam olarak hangi noktalarda olutuunu tespit edebilir. Gelitirilen sınama aracının önceki kesimde incelenen araçlara göre avantajları u ekilde sıralanabilir: Kullanıcı aramak istedii servis çarıları dizileriyle, sınama tanımları oluturabilir. Sınama tanımları ardıl-ilem çizenekleriyle, görsel bir ortamda, ilgili servis çarıları belirtilerek kolayca oluturulabilir. Kullanıcı ilgili servis çarısını, dorudan yazmak yerine her bileen için önceden özel olarak hazırlanmı sinyal listesinden seçtii için hata yapma olasılıı azalır. Çözümleme sonuçları, kullanıcının beklenmeyen durumları kolayca tespit etmesine olanak salayacak ekilde çizelgeler ve grafiklerle sunulur. Gelitirilen sınama aracı, sonraki kesimlerde ele alınacak, HLA araç topluluunun bir parçasıdır. Bu sayede kullanıcı aynı görsel aracı kullanarak modelleme ve sınama süreçlerini gerçekletirebilir. 5. Sınama Aracı Tez kapsamında gelitirilen sınama aracı federasyon çalıma verilerini toplayan bileen, sınama tanımlarının oluturulduu bileen ve sınama sonuçlarını gösteren bileen olmak üzere, mantıksal olarak üç bileenden oluur.
5.1. Verilerin Toplanması Bu bileenin görevi federelerle, haberlemeyi salayan altyapı (RTI) arasındaki servis çarılarını parametreleri ve dönü deerleriyle birlikte ve veri çözümleme aamasında kullanılacak biçimde kaydetmektir. Servis çarılarını yakalamak için bu amaçla gelitirilen araçlar kullanılabilir. Fakat yakalanan bilginin yorumlanıp özel bir biçimde kaydedilmesi gerektiinden, seçilen aracın ayrıca eklenti arayüzü de salaması gereklidir. FMT, federasyona bir federe olarak katılıp, servis çarılarını yakalayabilir ve saladıı eklenti arayüzüne bu servis çarılarını iletebilir. Veri toplama bileeni FMT ye eklenti olarak gelitirilmitir. FMT nin yakaladıı servis çarılarını yorumlayarak, veri çözümleme aamasında kullanılacak biçimde ve servis çarısının etkiledii federenin özel kütüüne kaydeder. ekil 1 de gösterilen araç topluluunun bir parçası olan izleme ve veri toplama aracı, FMT ve veri toplama bileenine karılık gelir. ekil 1. HLA Araç Setinin Genel Görünümü 5.2. Sınama Tanımlarının Oluturulması Sınama tanımları ardıl-ilem çizenekleri kullanılarak oluturulur. Ardıl-ilem çizenei, federeler ve RTI arasındaki etkileimi modelleyeceinden, nesne olarak federeler ve RTI kullanılacaktır. Federeler
ve RTI arasındaki etkileim servis çarılarıyla gerçekletirildiinden, çizenekteki mesajlar servis çarıları olacaktır. Bu özellikleri destekleyen bir sınama aracı, UML ile modellemeye olanak salamalı, ayrıca federeler ve servis çarıları hakkında tanımlamalar yapmayı salayan bir modelleme aracıyla bütünleik olmalıdır. Bu gereksinimler gözönüne alınarak sınama aracı [12] de detaylı olarak anlatılan bütünleik bir araç topluluunun parçası olarak tasarlanmı ve gelitirilmitir. Araçların genel görünümü ekil 1 de gösterilmitir. Araçlar Rational Rose RealTime [15] aracına eklenti olarak gelitirilmektedir. Gelitirme sürecinde Rose RealTime Extensibility Interface (RRTEI) [16] ve.net kullanılmaktadır. Nesne modeli tasarım aracı, federe tasarım aracı, federasyon sınama aracının gerçekletirimi tamamlanmıtır. ekil 2 deki ardıl-ilem çizenei, örnek bir sınama tanımı olarak verilmitir. Örnekteki sınama tanımında, beklenen durum, Country nesnesinin bir federe (tr) tarafından oluturulup, deerlerinin günlenmesi; dier federenin (usa) de Country nesnesini kefedip, günleme sonucunda oluacak deer deiiminden haberdar olmasıdır. ekil 2. Sınama Tanımı Örnei 5.3. Toplanan Verilerin Çözümlenmesi Sınama aracının veri toplama ve sınama tanımlarının oluturulması kesimleri sonlandıında, toplanan veriler sınama tanımlarına göre çözümlenir. Çözümleme aamasında ardıl-ilem çizeneindeki sinyal kümesi, toplanan servis çarıları kümesi içinde aranır. Elde edilen sonuçlar çizelgeler ve grafiklerle kullanıcıya sunulur. Sonuç çizelgeleri,
gerçekleen elemeleri, balama ve biti zamanlarıyla birlikte gösteren çizelge her bir baarılı eleme için, elemelerin ayrıntılarını, yani hangi servis çarılarından olutuunu ve servislerin ayrıntılarını, gösteren çizelgeler tamamlanamayan elemeleri ve ayrıntılarını gösteren çizelgelerdir. Sonuç grafikleri elemelerin gerçek zamana göre grafii federelerin gerçek zaman-mantıksal zaman grafii her bir eleme için, servislerin gerçek zamana göre grafiidir. 6. Sonuç HLA uyumlu benzetim sistemlerinin sınanması zor ve karmaık bir süreçtir. Bu süreçte çalıma zamanında federasyondan bilgi toplanmalı, toplanan veriler kullanıcının tanımladıı kurallara göre çözümlenmeli ve kullanıcıya anlamlı bir biçimde sunulmalıdır. Bu ihtiyacı karılamak üzere bütünleik bir HLA araç setinin bir parçası olarak sınama aracı gelitirilmitir. Gelitirilen araç FMT aracına yazılan eklenti ile çalıma zamanı verilerini özel bir biçimde toplar. Rational Rose RealTime eklentisi olarak gelitirilen sınama bileeni, ardıl-ilem çizeneiyle oluturulan sınama tanımlarını kullanarak toplanan verileri çözümler. Sonuçlar yine sınama aracı tarafından kullanıcının beklenmeyen durumları kolayca tespit etmesine olanak verecek ekilde, çizelgeler ve grafiklerle sunulur. Gelitirilen sınama aracının da içinde bulunduu araç setinin, HLA uyumlu benzetim sistemlerinin gelitirilme ve sınanma sürecini hızlandırması ve etkinletirmesi beklenmektedir. Kaynakça [1] Defense Modeling and Simulation Office (DMSO), High Level Architecture Interface Specification, Version 1.3, (1998) [2] Defense Modeling and Simulation Office (DMSO), HLA Object Model Template, Version 1.3, (1998) [3] Defense Modeling and Simulation Office (DMSO), HLA Federation Development and Execution Process (FEDEP) Model v1.5, (1999) [4] F.Kuhl, R.Weatherly, J.Dahmann, Creating Computer Simulation Sytems-An Introduction To The High Level Architecture, (1999), Prentice Hall: s.192-199 [5] FMT, http://fmt.mak.com/
[6] Deborah Fullford, Darren Wetzel, A Federation Management Tool: Using the Management Object Model (MOM) to Manage, Monitor, and Control an HLA Federation, 99S-SIW [7] Rolf H. Nelson, A Next-Generation Federation Management Tool: Using the Management Object Model (MOM) and FOM-specific Data to Monitor an HLA Federation, 2000F-SIW [8] FVT, http://dss.gtri.gatech.edu/guide_fvt/index.html [9] Margaret L. Loper, David Rosenbaum, The Federation Verification Tool, 98F -SIW [10] MAK Data Logger, http://www.mak.com/s1ss5p0.php [11] hlaresults, http://www.virtc.com/products/prdfulltext.jsp?id=c_rslt [12] Turgay Çelik, Rukiye Sütba, Kayhan mre, HLA için Modelleme, Otomatik Kod Üretme, zleme ve Sınama Araçları, (2005), USMOS 05 I. Ulusal Savunma Uygulamaları Modelleme ve Simulasyon Konferansı [13] Margaret L. Loper, Test Procedures For High Level Architecture Interface Specification, (1998) [14] Ekkart Rudolpha, Jens Grabowskib, Peter Graubmann, Tutorial on Message Sequence Charts MSC, (1996) [15] Rational Rose Real Time, http://www-306.ibm.com/software/rational/ [16] Rational Rose Real Time, Extensibility Interface Reference, www.isy.vcu.edu/isy/rational/documentation/rational_rosert/rosert_extensibility.pdf