SlideShare a Scribd company logo
1 of 11
Download to read offline
MilSOFT DDS ARAKATMANI ve DDS’in SAVAŞ YÖNETİM
 SİSTEMLERİNDE SİMÜLASYON AMAÇLI KULLANIMI
(a)                    (b)               (c)               (d)
               Hüseyin Kutluca       , İzzet Emre Çetin     , Ertan Deniz         Barış Bal
              (a)
                    MilSOFT Yazılım Teknolojileri A.Ş, Adres, ODTU Teknokent Ankara,
                                      hkutluca@milsoft.com.tr
(b)
      MilSOFT Yazılım Teknolojileri A.Ş, Adres, ODTU Teknokent Ankara, icetin@milsoft.com.tr
(c)
      MilSOFT Yazılım Teknolojileri A.Ş, Adres, ODTU Teknokent Ankara, edeniz@milsoft.com.tr
 (d)
       MilSOFT Yazılım Teknolojileri A.Ş, Adres, ODTU Teknokent Ankara, bbal@milsoft.com.tr
                                                 ÖZ
DDS Arakatmanı temel olarak veri merkezli (data centric) ve yayımla-abone ol (publish-
subscribe) mimarisine dayalıdır. MilSOFT, 2004 yılında başlattığı GEMKOMSİS ARGE projesi
kapsamında DDS arakatmanını geliştirmiştir. MilSOFT, DDS arakatmanını Savaş Yönetim
Sistemi yazılımının geliştirilmesinde gerçek zamanlı dağıtım arakatmanı ve simülasyon
amaçlarına yönelik olarak kullanmaktadır. HLA ve DDS ortak kullanımının değişik
uygulamalarda mümkün olabileceği öngörülmektedir. Bu ortak kullanım için her iki arakatmanın
özellikleri de dikkate alınarak etkin bir tasarım yapılması sağlanabilir.
Anahtar Kelimeler: Arakatman, DDS, Dağıtık Sistemler, Gerçek Zamanlı Sistemler, OMG,
Savaş Yönetim Sistemi, Servis Kalitesi, Yayımla-Abone Ol


      MilSOFT DDS MIDDLEWARE and USING DDS FOR SIMULATION IN
              COMBAT MANAGEMENT SYSTEMS ABSTRACT
DDS (Data Distribution Service) is a data-centric middleware based on publish-subscribe
paradigm. MilSOFT has developed DDS middleware within GEMKOMSIS R&D project that
was initiated in 2004. MilSOFT utilized DDS middleware in Combat Management System
development as a real-time distribution middleware and for simulation purposes. It is foreseen to
use DDS and HLA (High Level Architecture) together in various applications. For this common
use, feasible system architectures can be driven by taking both middleware’s features into
consideration.
Keywords: Combat Management System, DDS, Distributed Systems, Middleware, OMG,
Publish-Subscribe, Real-Time Systems, Quality of Service, HLA
1. GİRİŞ
Dağıtık ortamlarda verinin iletilmesi için, dağıtık ortamın ihtiyaç duyduğu kalite
özelliklerini sağlayabilen arakatman yazılımları kullanılmaktadır. Simülasyon
sistemlerinin entegrasyonu için de, IEEE tarafından standardı yayımlanmış olan High
Level Architecture (HLA) ve onun arakatmanı olan RTI yaygın olarak kullanılmaktadır.
Bunun yanında Object Management Group (OMG) tarafından gerçek zamanlı sistemler
için hazırlanmış olan Data Distribution Service (DDS) arakatman yazılımı standardı da
Haziran 2004’te yayımlanmıştır[4].
DDS Arakatmanı temel olarak veri merkezli (data centric) ve yayımla-abone ol
(publish-subscribe) mimarisine dayalı bir arakatmandır. Gerçek zamanlı sistemlerin
dağıtık ortamdaki ihtiyaçlarını karşılamak üzere zengin servis kalitesi özelliklerini
(Quality of Service, QoS) içermektedir.
DDS arakatmanı dağıtık ortamda çalışan gerçek zamanlı sistemlerin ihtiyaçlarını
karşılamak üzere geliştirilmiştir[6,7]. DDS arakatmanının kullanıldığı alanlar komuta
kontrol sistemleri, endüstriyel otomasyon, dağıtık kontrol ve simülasyon,
telekomünikasyon, sensör ağları ve ağ temelli sistemlerdir. Bu alanlardaki uygulamalar
hızlı, etkin ve tahmin edilebilir bir veri iletişimine ihtiyaç duyarlar. Ayrıca, üretilen
verinin birden çok uygulamaya iletilmesi ve bu özelliğin sistem performansını olumsuz
etkilememesi ana beklentilerdir. Bellek, işlemci ve veri yolu gibi kısıtlı kaynakların
ihtiyaçlara göre etkin kullanılabilmesi için arakatman parametrelerinin ayarlanabilmesi
temel bir ihtiyaçtır. DDS arakatmanı buna yönelik olarak zengin servis kalitesi
özellikleri sağlamakta ve bu servis kalitesi özelliklerinin her bir DDS nesnesi
seviyesinde ayarlanabilmesine olanak vermektedir. Bu özellikleri ile DDS arakatmanı
dağıtık ve gerçek zamanlı sistemler için önemli bir arakatman standardı olmuştur.
MilSOFT 2004 yılında başlattığı GEMKOMSİS ARGE projesi kapsamında DDS
arakatmanını geliştirmiştir [3]. GEMKOMSIS projesi, su üstü platformları için modern
bir Savaş Yönetim Sistemi (SYS) yazılımının, tümü ile milli ve özgün bir tasarımla,
COTS ürünler de kullanılarak, ARGE yaklaşımı ile oluşturulmasına yöneliktir. Bu proje
TÜBİTAK Teknoloji ve Yenilik Destek Programları Başkanlığı (TEYDEB) tarafından
da desteklenmiş ve 2006 Aralık ayında tamamlanmıştır. GEMKOMSIS projesi
kapsamında geliştirilen DDS arakatmanı, diğer komuta kontrol altyapı yazılımları, gemi
ortak servisleri ve gemi ortak fonksiyonları 2007 yılında başlanan Sahil Güvenlik
Komutanlığı Arama Kurtarma Gemileri için geliştirilecek SYS yazılımının temelini
oluşturmuştur. Bunun yanı sıra MilSOFT DDS, şirket içindeki diğer müşterili projelerde
de kullanım alanı bulmuştur. MilSOFT DDS arakatmanı ve onunla ilgili geliştirilmiş
olan DDS Kod Üreteci ve DDS SPY uygulamaları da tamamlanmış bulunmaktadır.
DDS arakatmanı, mimarisi ve zengin servis kaliteleri ile geniş bir alanda kullanım
fırsatları sunmaktadır. DDS arakatmanının simülasyon sistemleri için kullanımı da söz
konusudur [1, 2, 9]. RTI arakatmanı ise simülatörlerin birbirine entegrasyonu için
uygundur. Ancak, özellikle simülatörlerin, gerçek sistemlerle birlikte / Donanım
Çevrimde (Hardware In The Loop) kullanıldığı durumda ortaya çıkan, yüksek sıklıkta
ve zaman kritik verilerinin iletimi ihtiyacı için DDS’in HLA’ya göre daha uygun olduğu
değerlendirilmektedir[9]. HLA, simülasyon sistemlerinin birlikte ve yeniden
kullanılabilirliğini (interoperability & reusability) sağlamak maksadıyla geliştirilmiş
olup, DDS’te bulunan gerçek zamanlı veri iletimi, hataya dayanıklılık, veri filtreleme
gibi servis kalitesi özelliklerini içermemektedir.
Savaş Yönetim Sistemi (SYS) gibi gerçek zamanlı sistemler için DDS kullanılırken, bu
tür sistemlerin simülasyonu için HLA kullanımı uygun olmaktadır. Bununla birlikte,
DDS arakatmanı bu sistemlerin testi ve eğitimi için geliştirilecek simülatörlerde
arakatman olarak da kullanılabilmektedir. DDS’in SYS yazılımının testi için geliştirilen
simülatörlerde kullanımı bu makalenin kapsamında verilmektedir
Bu makale kapsamında; Bölüm 2’2’de DDS mimarisi anlatılmaktadır. Bölüm 3’te
MilSOFT DDS arakatman yazılımının geliştirilmesi süreci ve MilSOFT DDS
arakatmanının DDS’in özellikleri sunulmuştur. DDS arakatmanının simülasyon için
kullanım alanları Bölüm 4’te ele alınmıştır. Bölüm 5’te ise DDS arakatmanının SYS
yazılımının testi için geliştirilen simülatörlerde kullanımı hususunda bilgi
verilmektedir.. Bölüm 6’da varılan sonuçlar ve yapılan değerlendirmeler ifade
edilmektedir.

2. DDS ARAKATMANI
OMG, arakatman teknolojileri ve nesneye dayalı yazılım geliştirme teknolojilerinin
tanımlanması ve standartlaştırılmasını hedefleyen, kar amacı olmayan uluslararası bir
kuruluştur. OMG daha önce UML ve CORBA standardını geliştirmiş ve kullanımının
yaygınlaşmasını sağlamıştır.
OMG tarafından gerçek zamanlı sistemler için hazırlanmış DDS arakatman yazılımı
standardı Haziran 2004’te yayımlanmıştır.
DDS, temel olarak veri merkezli (data centric) ve yayımla-abone ol (publish-subscribe)
mimarisine dayalı bir arakatmandır. Sistem, içindeki veriyi üretenden (publisher)
kullanana (subscriber) sağlamayı temel aldığından veri merkezlidir. Bunun alternatifi
ise, CORBA’da olduğu gibi, farklı bir noktadaki bir servisten hizmet almayı sağlayan
servis merkezli arakatmandır.
Yayımla-abone ol mimarisi, veriyi üreten ile veriyi kullananın birbirinden bağımsız
olmasını sağlamaktadır. Bunun sonucunda, sisteme yeni modüller kolaylıkla entegre
olabilmekte ve sistemde bir değişiklik yapmadan mevcut verilere abone olunup
gerektiğinde yeni veriler üretilebilmektedir.
DDS arakatmanı, gerçek zamanlı sistemlerin gerçek zaman ve hataya dayanıklılık
ihtiyaçlarını karşılamak üzere geniş bir servis kalitesi desteği sunmaktadır. Verinin
güvenli olarak gönderileceğini belirleyen Güvenilirlik (reliability) servis kalitesi buna
bir örnektir. Komutlar gibi teslimatı mutlaka gerçekleşmesi gereken veriler güvenli
servis kalitesinde gönderilirken (reliable), periyodik olarak güncellenen verilerin bu
servis kalitesinde gönderilmesine ihtiyaç yoktur (best effort). Kalıcılık (durability)
servis kalitesi; verinin uçucu (volatile), bellekte kalıcı (transient) ya da diskte kalıcı
(persistent) olacağını belirler. Bir verinin uçucu olması sadece o anda dinleyen
modüllere ulaştırılacağını, bellekte kalıcı ise sonradan sisteme dahil olan modüllere de
iletileceğini ve diskte kalıcı ise sistem kapanıp açıldığında bile erişilebileceğini belirler.
Bunların dışında sunum sırası, teslim tarihi, sahiplik, yaşam durumu, zaman filtresi
iletişim önceliği, öncesi bilgisi, kaynak limiti gibi servis kalitesi özellikleri de
mevcuttur.
DDS arakatmanı, ilklendirme ve iletişim için nesneye dayalı bir arayüz sunar. Bu
arayüzdeki nesnelerden temel olarak “DomainParticipant”, “Type”, “Topic”,
“Publisher”, “Subscriber”, “DataWriter” ve “DataReader” örnek olarak verilebilir. Bu
nesnelerin birbiri ile ilişkisi Şekil 1’de verilmiştir.




                          Şekil 2. DDS arakatmanı nesneleri
“Domain” birbiri ile iletişimde bulunan uygulamaları bağlayan dağıtık bir yapıdır.
Dolayısı ile aynı “domain”de bulunan uygulamalar birbirleri ile veri alışverişinde
bulunabilirler. “DomainParticipant” nesnesi uygulamaların bir domain’e lokal
üyeliğini temsil eder [4]. İletişimde kullanılacak veriler “Type” ile tanımlanır. “Type”
ile verinin içeriği ve anahtar alanlar belirlenir. “Topic” nesnesi bir “Type” üzerinden
iletişim kurmak için tanımlı isim ve servis kalitelerinden oluşur. Uygulamalar
“Topic”lere abone olabilirler veya “Topic” yayımlayabilirler.
Veri yayımlamak için öncelikle “DomainParticipant” nesnesi üzerinden “Publisher”
nesnesi oluşturulur. “Publisher” nesnesi bütün yayınlar için bir arayüz oluşturur ve
yayın için gerekli “DataWriter” nesnesini yaratmaktan sorumludur. Bir “Topic” için
veri yayımlamak üzere bir “DataWriter” yaratılır. Bu “DataWriter” nesnesi aracılığı ile
veriler arakatmana yazılır. Benzer şekilde verilere abone olmak için “Subscriber”
nesnesi yaratılır. Bir “Topic”e abone olmak için “Subscriber” nesnesi üzerinden bir
“DataReader” yaratılır. Uygulamalar, “DataReader”lar üzerinden arakatman aracılığı
ile dağıtılan ve kendi abone oldukları “Topic”lere ait verilere erişebilirler.
DDS arakatmanı veri tipine dayalı bir programlama arayüzü sağlamak amacı ile o tipte
iletişimi sağlayan özelleşmiş “DataWriter” ve “DataReader” nesnelerini otomatik
üretmeyi ve kullanmayı öngörmüştür. Tanımlanan veri tipi üzerinden kod üreteci
kullanılarak veri tipleri için gerekli olan özelleşmiş “TypeSupport”, “DataWriter” ve
“DataReader” nesneleri yaratılır (Şekil 3).

                       cd DDS Track Veri Tipi Nesneleri

                              «i nterface»             DataWriter        DataReader
                             TypeSupport




                              «real i ze»



                          TrackTypeSupport           TrackDataWriter   TrackDataReader




                                                          Track

                                                 +    lat: doubl e
                                                 +    lon: double
                                                 key
                                                 + track_i d: i nt




          Şekil 3. DDS Kod Üretecinin Track Veri Tipi için Ürettiği Nesneler
3. MilSOFT DDS ARAKATMANI
MilSOFT, Savaş Yönetim Sistemi ve onun altyapısını geliştirmek üzere başlattığı
GEMKOMSİS ARGE projesi kapsamında MilSOFT DDS ürününü geliştirmiştir.
Geliştirme çalışmaları 2004 yılı başında DDS standardının taslak sürümü üzerinden
başlamış ve bu sayede standardın resmi olarak 1.0 versiyonu olarak yayımlandığı
Haziran 2004 tarihinden çok daha önce MilSOFT DDS arakatmanının tasarımı
oluşturulabilmiştir.
Geliştirilen MilSOFT DDS arakatmanı GEMKOMSİS Savaş Yönetim Sistemi
uygulamalarının veri alışverişini sağlamak üzere entegre edilmiştir. Bunu takip eden
süreçte arakatman yazılımı geliştirilmesi çalışmaları devam etmiş, yayımlanan yeni
sürümler aracılığı ile uygulama yazılımları sürekli olarak entegre ve test edilmiş; tespit
edilen sorunların giderilmesi ve mevcut yeteneklerin iyileştirmesine yönelik çalışmalar
yapılmıştır. Bu çalışmalara paralel olarak DDS’te yapılması gerekli iyileştirmeleri
planlayabilmek için, verinin iletim süresi ve toplam kapasite gibi performans
parametreleri de devamlı olarak izlenmiştir. 2007 yılı ocak ayı itibarı ile DDS
standardının 1.2 versiyonuna uyumlu MilSOFT DDS arakatmanı geliştirme faaliyeti
tamamlanmıştır. Geliştirilen DDS arakatmanı OMG standardına göre “Minimum
Profile” seviyesini sağlamaktadır [4]. Buna ek olarak Savaş Yönetim Sistemi için
gerekli olan ve durum (status) verisini kapanıp/çöken ve yeniden başlayan uygulamalara
ileten “Durability Profile” ve alınacak verinin sorgu ile filtrelenmesini sağlayan
“Content Subscription Profile”özelliği de MilSOFT DDS’e kazandırılmıştır.
MilSOFT DDS arakatmanı gerçek zamanlı sistemlerin dağıtık veri uygulamalarına
yönelik ihtiyaçlarını karşılamak üzere C++ programlama dili ile geliştirilmiş olup
altyapısında başka bir dağıtım arakatmanını kullanmamaktadır. Ayrıca, gerçek zamanlı
sistemlerde gerekli olan uygulamaların sistem başlama zamanından sonra hiç bellek
almaması (no dynamic memory allocation after initialization) özelliğini de
barındırmaktadır.




                         Şekil 4. MilSOFT DDS Arakatmanı
MilSOFT, DDS’in diğer DDS arakatmanları ile protokol seviyesinde uyumlu olması ve
olgun bir iletişim protokolüne sahip olması için halihazırda taslak versiyonu
yayınlanmış olan RTPS (Real-Time Publish Subscribe) protokolünü de geliştirmiş ve
entegre etmiştir[5]. RTPS temelinde UDP/IP üzerinde çalışan bir protokoldür, ancak
tasarımı veri iletimi için başka protokolleri de entegre etmeyi mümkün kılmaktadır.
RTPS protokolü ile ileride MilSOFT DDS arakatmanına yeni protokoller kolayca
entegre edilebilecektir. Ayrıca, RTPS uyumlu diğer DDS ürünleri ile veri alış verişi
mümkün olacaktır.
MilSOFT, bir taraftan DDS arakatmanını geliştirirken bir yandan da DDS’in dağıtık bir
yapıda etkin ve hatasız kullanımını sağlayacak yardımcı araçları da geliştirmiştir. Bu
araçlar sırasıyla DDS Otomatik Kod Üreteci ve DDS Spy’dır.
3.1. DDS Otomatik Kod Üreteci (DDS Code Generator – DDS CG)
DDS otomatik kod üreteci, uygulama yazılımlarının DDS ile arayüzü için gerekli kodu
üretir. Öncelikle veri tipine dayalı bir programlama arayüzü sağlamak için o tipte
iletişimi sağlayan özelleşmiş DataWriter ve DataReader nesnelerinin otomatik olarak
üretmektedir. Böylece, uygulama yazılımcılarının arakatman ayrıntılarıyla uğraşma
zorluğunu ortadan kaldırmaktadır . Bu yaklaşım “Model Driven Development with
Generative Programming” yaklaşımına uygundur. DDS CG, sistem içindeki arayüzlerin
tek bir araç tarafından geliştirilmesini ve yönetilmesini sağladığından, modüller arası
entegrasyonu kolaylaştırmakta ve sistem arayüzlerinin tek bir noktadan kontrolü
imkanını vermektedir.
Şekil 5. MilSOFT DDS Otomatik Kod Üreteci
3.2. DDS-SPY Aracı
Diğer bir yardımcı araç olan DDS-Spy ise sistemde bulunan modülleri ve onların
yayımladığı ve/veya abone olunan verileri izlemek için kullanılmaktadır. Ayrıca, test
amaçlı olarak ihtiyaç duyulan verilerin kopyala-yapıştır yöntemi ile tekrar sisteme
verilebilmesini sağlamaktadır. Bu yönleri ile DDS-SPY, uygulama yazılımcılarına, test
mühendislerine ve sistem bakım grubuna büyük kolaylıklar sağlamaktadır.




                          Şekil 6. MilSOFT DDS- Spy aracı
4.0    DDS’İN SİMULASYON UYGULAMALARINDAKİ YERİ

HLA ve DDS veri merkezli ve “yayımla/abone ol” esasına dayalı benzer
standartlardır[1, 2]. Ayrıca, kullanıcı tarafından tanımlı veri yapıları kullanmaları ve
içeriğe göre filtreleme özellikleri gibi benzerlikler taşımaktadırlar. HLA standardı
zaman yönetimi, hiyerarşik nesne yönetimi, aynı nesnenin faklı alanlarının farklı
uygulamalar tarafından güncellenebilmesi gibi simülasyon dünyası için geliştirilmiş
özellikler barındırmaktadır. Öte yandan DDS ise zaman filtresi, sahiplik, çalışırlık
durumu (liveliness) gibi zengin servis kalitesi özellikleri ve gerçek zamanlı veri
iletimine imkan veren veri modeli ile yüksek performans gerektiren simülatörler için
uygun bir arakatman çözümü olmaktadır.
RTI ve DDS arakatmanlarının sistem gereksinimlerine göre birlikte kullanımı
mümkündür [1,8]. Örneğin, donanım destekli platform simülasyonu için DDS
arakatmanı kullanımı gerçek zaman ihtiyaçları ve DDS servis kaliteleri sebebi ile
uygundur. Bu sistemlerde periyodik veri yoğun olarak yayımlanmakta ve birden fazla
sistem (Hareket kontrol, görüntü üretme, gösterge simülasyonu vs.) tarafından
kullanılmaktadır. Bu veri iletişiminin yayımla-abone ol mimarisi ile etkin bir şekilde
gerçekleştirilmesi mümkündür. Ayrıca, yüksek frekansta yayımlanan bir veriyi daha az
güncelleme yapan bir sistemin zaman filtresi servis kalitesi sayesinde istediği frekansta
alması sağlanabilir. DDS arakatmanı bu sistemin içinde kullanılıyorken bu sistemlerin
birleştirilerek HLA uyumlu ortak bir muharebe simülasyonunda RTI üzerinden
bağlanması mümkündür.
Benzer şekilde bir Savaş Yönetim Sistemi DDS üzerinden iletişim sağlarken bu
sistemlerin HLA uyumlu simülasyon sistemlerine bağlanması amacı ile RTI
kullanılabileceği değerlendirilmektedir. Bu tür sistemlerde HLA ile DDS arakatmanları
arasında köprü kurularak veri iletişiminin kolaylıkla yapılabileceği öngörülmektedir.
      id DDS v e RTI birlikte kullanımı

         donanim destekli platform simülatörü
                                                                   donanim destekli platform simülatörü




                         Uygulama 1                                          Uygulama 5                   Uygulama 6
                                                Uygulama 2




                                          DDS
                                                                                                   DDS




                        Uygulama 3              Uygulama 4                      Uygulama 7                Uygulama 8




                                                             RTI




                         Şekil 7. RTI ve DDS Arakatmanlarının Birlikte Kullanımı
DDS arakatmanının RTI yerine kullanılması da bir uygulama alternatifi olabilir. Bu
konuda detaylı araştırma yapılması ve uygulamalar ile denenmesine gerek duyulduğu
değerlendirilmektedir.
5.0 DDS’in SAVAŞ YÖNETİM SİSTEMLERİNDE SİMÜLASYON
AMAÇLI KULLANIMI
DDS arakatmanı geliştirilmesi ve mevcut bir SYS içerisinde kullanımı GEMKOMSİS
projesi kapsamında gerçekleştirilmiştir. MilSOFT DDS arakatmanı, diğer komuta
kontrol altyapı yazılımları, gemi ortak servisleri ve gemi ortak fonksiyonları 2007
başında başlanan Sahil Güvenlik Komutanlığı Arama Kurtarma Gemileri için
geliştirilecek SYS yazılımının temelini oluşturmaktadır.
Yeni sistemler geliştirilirken eğitim amaçlı simülasyon özellikleri de öngörülmektedir.
Bu amaçla yapılan simülasyon için DDS arakatmanını öngörmekteyiz. Böyle bir sistem
için gerçek zamanlı sistem için bir domain kullanılır iken simülasyon için verilerin ayrı
bir domain üzerinden iletilmesi mümkündür.
SARSHIP kapsamında geliştirilen SYS yazılımını test etmek ve sistemi eğitim
modunda kullanabilmek üzere arayüz protokolü seviyesi simülatörler, senaryo editörü
ve oynatıcısı geliştirilmektedir (Şekil 8). Bu kapsamda senaryo oynatıcısından gelen
veriler alt sistem simülatörleri tarafından işlenmektedir. Alt sistemlerin arayüz
protokolü seviyesi simülasyonu ile, alt sistemin mesaj alışverişi simüle edilmektedir.
Oluşturulan bu simülasyon konfigürasyonunda veri iletişimi için DDS tercih edilmiştir.
Bunun temel gerekçesi mevcut proje kapsamında geliştirilmiş DDS arakatmanının bu
uygulama için uygun bir altyapı sağlamasıdır. DDS arakatmanın veri merkezli
yayımla/abone ol mimarisinin simülasyon yapısına uyumlu olması bu teknik çözümün
seçilmesinde önemli bir etken olmuştur.
                       id Test



                                                                Senaryo Üreteci


                                                          Kendi gem i ve iz bilgileri




                                                  M ilSOFT DDS (Test v e Simülasyon "Domain")




                                       Seyir Radari                 Kendi gemi                    Arama Radari
                                        Simülatörü                   Bilgileri                     Simülatörü
                                                                    Simülatörü

                                   RS422/NM EA                        Ethernet                           1553




                                 Nav Radar SIU                       DDU SIU                      Search Radar



                         Seyir                             Kendi gem im iz         Aram a Radari ile
                         radari ile                        ile alakali             alakali "T opic"ler
                         alakali                           "T opic"ler
                         "T opic"ler


                                                         M ilSOFT DDS (SYS "Domain")




                                                                   «System »
                                                                      CM S




      Şekil 8. DDS Arakatmanının Simülasyon-SYS Entegrasyonunda kullanımı

Örneğin radar simülasyonu için, Senaryo editörü ve oynatıcısında üretilip DDS
arakatmanı üzerinden yayımlanan nesnelere ait bilgiler NavRadarSIM tarafından seyir
radarı arayüz simülasyonu yapılarak RS422 üzerinden NMEA-0183 formatında
NavRadarSIU bilgisayarına aktarılır. NavRadarSIU ise aldığı veriyi Savaş Yönetim
Sistemi veri modeli yapısına uygun formata çevirerek iz seviyesinde DDS arakatmanı
aracılığı ile sisteme sağlar.
6.0 SONUÇ
DDS ve HLA, veri merkezli ve “Yayımla-Abone ol” esasına dayalı standartlardır.
Gerçek zamanlı sistemler için tasarlanmış olan DDS arakatmanı simülasyon dünyasında
hem kendi başına hem de HLA uyumlu simülasyon sistemleri ile birlikte kullanım
alanına sahiptir.
MilSOFT, OMG’nin DDS standardına uygun bir DDS arakatmanı geliştirmiştir.
MilSOFT, DDS arakatmanını Savaş Yönetim Sistemi yazılımında gerek gerçek
zamanlı sistem ihtiyacının karşılanmasında gerekse simülasyon uygulamalarında etkin
olarak kullanmaktadır. Bu açıdan DDS arakatmanı HLA arakatmanı olan RTI yerine
kullanılabilmektedir.
Ayrıca, RTI-DDS arakatmanlarının birlikte kullanımının değişik uygulamalarda
mümkün olabileceği görülmektedir. Gerçek sistemlerin dağıtık uygulamaları için DDS
mimarisi ve arakatmanı kullanılırken, bu sistemlerin HLA uyumlu simülasyon
sistemleri ile birlikte kullanımında / entegrasyonunda RTI kullanılması
değerlendirilebilir. Bu kullanım biçimi için her iki arakatmanın ve mimari standardın
özellikleri dikkate alınarak sistemlerin uygun şekilde tasarlanması mümkündür.
DDS arakatmanının RTI yerine kullanılması konusunda da detaylı araştırma yapılması
ve uygulamalar ile denenmesine gerek duyulduğu değerlendirilmektedir.
KAYNAKÇA
[1] Calvo B., Seisdedos I. , (2006), “SimWare Kernel – Real Time Communication
System for Simulation”, Real-time and Embedded Systems Workshop 2006.
[2] Joshi R, Castellote G. P.,”A Comparison and Mapping of Data Distribution Service
and High-Level Architecture”, www.rti.com.
[3] MilSOFT, (2006), “MilSOFT DDS Middleware”, http://dds.milsoft.com.tr
[4] OMG, (2006): “Data Distribution Service for Real-Time Systems Ver 1.2”,
http://www.omg.org.
[5] OMG, (2006), The Real-Time Publish-Subscribe Wire Protocol OMG Revised
Submission, http://www.omg.org.
[6] Angelo Corsaro, DDS in Air Traffic Control Applications, DDS Information Day,
December 2006, Washington, DC USA.
[7] Piet Griffioen , TACTICOS CMS: exploiting the full DDS potential, DDS
Information Day, December 2006, Washington, DC USA.
[8] RTI, National Advanced Driving Simulators & Simulation Center, Customer
success story, www.rti.com
[9] Whytock. P, (2006), “An Open Standards Approach To Simulator Design”,
http://europe.elecdesing.com, Article ID: 12025

More Related Content

Viewers also liked

Veduca pigead
Veduca pigeadVeduca pigead
Veduca pigead
Gioliano
 
Apresentação Adcomm Brasil 2014
Apresentação Adcomm Brasil 2014Apresentação Adcomm Brasil 2014
Apresentação Adcomm Brasil 2014
pauloprobst
 
Crisis Fiananciera En Alemania2033
Crisis Fiananciera En Alemania2033Crisis Fiananciera En Alemania2033
Crisis Fiananciera En Alemania2033
STHER.RODRIGUEZ.T
 
Tilawah al-Quran ayat kefahaman
Tilawah al-Quran ayat kefahamanTilawah al-Quran ayat kefahaman
Tilawah al-Quran ayat kefahaman
kakramgc
 
Jonathan Doc[1][1]
Jonathan Doc[1][1]Jonathan Doc[1][1]
Jonathan Doc[1][1]
j0ofer
 
Meu grande herói!!
Meu grande herói!!Meu grande herói!!
Meu grande herói!!
Samy Lautner
 
OS NOSOS SENTIDOS
OS NOSOS SENTIDOSOS NOSOS SENTIDOS
OS NOSOS SENTIDOS
natitaboas
 

Viewers also liked (20)

Pomeriggi in Oratorio
Pomeriggi in OratorioPomeriggi in Oratorio
Pomeriggi in Oratorio
 
Sessió5
Sessió5Sessió5
Sessió5
 
20140530concurso12370278(1)
20140530concurso12370278(1)20140530concurso12370278(1)
20140530concurso12370278(1)
 
Innledning til informasjonsmøte om au pair
Innledning til informasjonsmøte om au pairInnledning til informasjonsmøte om au pair
Innledning til informasjonsmøte om au pair
 
Veduca pigead
Veduca pigeadVeduca pigead
Veduca pigead
 
Ficha 1
Ficha 1Ficha 1
Ficha 1
 
Skype
SkypeSkype
Skype
 
Apresentação Adcomm Brasil 2014
Apresentação Adcomm Brasil 2014Apresentação Adcomm Brasil 2014
Apresentação Adcomm Brasil 2014
 
Crisis Fiananciera En Alemania2033
Crisis Fiananciera En Alemania2033Crisis Fiananciera En Alemania2033
Crisis Fiananciera En Alemania2033
 
02 traducao -_pound_-_villa
02 traducao -_pound_-_villa02 traducao -_pound_-_villa
02 traducao -_pound_-_villa
 
C0M0 3s 1 Muj3r!!!
C0M0 3s 1 Muj3r!!!C0M0 3s 1 Muj3r!!!
C0M0 3s 1 Muj3r!!!
 
Cartilla Matemática
Cartilla MatemáticaCartilla Matemática
Cartilla Matemática
 
Employer Branding - Kritische reflectie
Employer Branding - Kritische reflectieEmployer Branding - Kritische reflectie
Employer Branding - Kritische reflectie
 
Tilawah al-Quran ayat kefahaman
Tilawah al-Quran ayat kefahamanTilawah al-Quran ayat kefahaman
Tilawah al-Quran ayat kefahaman
 
Jonathan Doc[1][1]
Jonathan Doc[1][1]Jonathan Doc[1][1]
Jonathan Doc[1][1]
 
Os 5 melhores substitutos naturais para o açúcar
Os 5 melhores substitutos naturais para o açúcarOs 5 melhores substitutos naturais para o açúcar
Os 5 melhores substitutos naturais para o açúcar
 
Meu grande herói!!
Meu grande herói!!Meu grande herói!!
Meu grande herói!!
 
OS NOSOS SENTIDOS
OS NOSOS SENTIDOSOS NOSOS SENTIDOS
OS NOSOS SENTIDOS
 
Fotos
FotosFotos
Fotos
 
2009-05 ShareTech Aw Lb
2009-05  ShareTech Aw Lb2009-05  ShareTech Aw Lb
2009-05 ShareTech Aw Lb
 

Similar to Usmos mil soft_dds_makale

sunum_Service Oriented Architecture (SOA)_off2007
sunum_Service Oriented Architecture (SOA)_off2007sunum_Service Oriented Architecture (SOA)_off2007
sunum_Service Oriented Architecture (SOA)_off2007
Efe Eyüboğlu
 
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
mtcakmak
 

Similar to Usmos mil soft_dds_makale (20)

Cloud computing and technologies
Cloud computing and technologiesCloud computing and technologies
Cloud computing and technologies
 
ServisNET çözümleri
ServisNET çözümleriServisNET çözümleri
ServisNET çözümleri
 
Cloud_Computer
Cloud_ComputerCloud_Computer
Cloud_Computer
 
sunum_Service Oriented Architecture (SOA)_off2007
sunum_Service Oriented Architecture (SOA)_off2007sunum_Service Oriented Architecture (SOA)_off2007
sunum_Service Oriented Architecture (SOA)_off2007
 
Lojistik Bilişim Sistemleri İçin Bir Sınıflandırma (Taksonomi)
Lojistik Bilişim Sistemleri İçin Bir Sınıflandırma (Taksonomi)Lojistik Bilişim Sistemleri İçin Bir Sınıflandırma (Taksonomi)
Lojistik Bilişim Sistemleri İçin Bir Sınıflandırma (Taksonomi)
 
Securiskop
SecuriskopSecuriskop
Securiskop
 
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
 
Next Generation Optimized Desktop Cloud
Next Generation Optimized Desktop CloudNext Generation Optimized Desktop Cloud
Next Generation Optimized Desktop Cloud
 
Windows Azure Nedir ?
Windows Azure Nedir ?Windows Azure Nedir ?
Windows Azure Nedir ?
 
Eticaret akademi Yazılım ve IT süreçleri
Eticaret akademi Yazılım ve IT süreçleriEticaret akademi Yazılım ve IT süreçleri
Eticaret akademi Yazılım ve IT süreçleri
 
Avva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate IdendityAvva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate Idendity
 
Urun gami 2
Urun gami 2Urun gami 2
Urun gami 2
 
Teydeb1511 aralik2015
Teydeb1511 aralik2015Teydeb1511 aralik2015
Teydeb1511 aralik2015
 
Bulutbilisim sunum
Bulutbilisim sunumBulutbilisim sunum
Bulutbilisim sunum
 
Veri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan SarıbıyıkVeri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan Sarıbıyık
 
Dağıtık Sistemler / Programlama
Dağıtık Sistemler / ProgramlamaDağıtık Sistemler / Programlama
Dağıtık Sistemler / Programlama
 
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
 
İleri Seviye T-SQL Programlama - Chapter 01
İleri Seviye T-SQL Programlama - Chapter 01İleri Seviye T-SQL Programlama - Chapter 01
İleri Seviye T-SQL Programlama - Chapter 01
 
Nedir bu DEVOPS .pptx
Nedir bu DEVOPS .pptxNedir bu DEVOPS .pptx
Nedir bu DEVOPS .pptx
 
Urun gami 2
Urun gami 2Urun gami 2
Urun gami 2
 

More from milsoftSDC

Mil soft company_overview_2013
Mil soft company_overview_2013Mil soft company_overview_2013
Mil soft company_overview_2013
milsoftSDC
 
Mil soft sunum 2013
Mil soft sunum 2013Mil soft sunum 2013
Mil soft sunum 2013
milsoftSDC
 
Mil intel generic-short-eng
Mil intel generic-short-engMil intel generic-short-eng
Mil intel generic-short-eng
milsoftSDC
 
Mil intel generic-short-tr
Mil intel generic-short-trMil intel generic-short-tr
Mil intel generic-short-tr
milsoftSDC
 
Mil intel generic-short-eng
Mil intel generic-short-engMil intel generic-short-eng
Mil intel generic-short-eng
milsoftSDC
 
Mil imadis generic-short-tr
Mil imadis generic-short-trMil imadis generic-short-tr
Mil imadis generic-short-tr
milsoftSDC
 
Mil imadis generic-short-eng
Mil imadis generic-short-engMil imadis generic-short-eng
Mil imadis generic-short-eng
milsoftSDC
 
Mil soft sunum 2012 agustos
Mil soft sunum 2012 agustosMil soft sunum 2012 agustos
Mil soft sunum 2012 agustos
milsoftSDC
 
Dds presentation omg
Dds presentation omgDds presentation omg
Dds presentation omg
milsoftSDC
 
Dds presentation brussels
Dds presentation brusselsDds presentation brussels
Dds presentation brussels
milsoftSDC
 
Milsoft dds overview
Milsoft dds overviewMilsoft dds overview
Milsoft dds overview
milsoftSDC
 
Mil soft company overview 2012 v2
Mil soft company overview 2012 v2Mil soft company overview 2012 v2
Mil soft company overview 2012 v2
milsoftSDC
 
Mil soft jets jetsim
Mil soft jets jetsimMil soft jets jetsim
Mil soft jets jetsim
milsoftSDC
 
Gemkomsis 2012
Gemkomsis 2012Gemkomsis 2012
Gemkomsis 2012
milsoftSDC
 
2012 july mil soft_ie_capabilities__iic_solutions-general-eng
2012 july mil soft_ie_capabilities__iic_solutions-general-eng2012 july mil soft_ie_capabilities__iic_solutions-general-eng
2012 july mil soft_ie_capabilities__iic_solutions-general-eng
milsoftSDC
 

More from milsoftSDC (17)

Mil soft company_overview_2013
Mil soft company_overview_2013Mil soft company_overview_2013
Mil soft company_overview_2013
 
Mil soft sunum 2013
Mil soft sunum 2013Mil soft sunum 2013
Mil soft sunum 2013
 
Mil intel generic-short-eng
Mil intel generic-short-engMil intel generic-short-eng
Mil intel generic-short-eng
 
Mil intel generic-short-tr
Mil intel generic-short-trMil intel generic-short-tr
Mil intel generic-short-tr
 
Mil intel generic-short-eng
Mil intel generic-short-engMil intel generic-short-eng
Mil intel generic-short-eng
 
Mil imadis generic-short-tr
Mil imadis generic-short-trMil imadis generic-short-tr
Mil imadis generic-short-tr
 
Mil imadis generic-short-eng
Mil imadis generic-short-engMil imadis generic-short-eng
Mil imadis generic-short-eng
 
Mil soft sunum 2012 agustos
Mil soft sunum 2012 agustosMil soft sunum 2012 agustos
Mil soft sunum 2012 agustos
 
Video overdds
Video overddsVideo overdds
Video overdds
 
Dds presentation omg
Dds presentation omgDds presentation omg
Dds presentation omg
 
Dds presentation brussels
Dds presentation brusselsDds presentation brussels
Dds presentation brussels
 
Milsoft dds overview
Milsoft dds overviewMilsoft dds overview
Milsoft dds overview
 
Mil soft company overview 2012 v2
Mil soft company overview 2012 v2Mil soft company overview 2012 v2
Mil soft company overview 2012 v2
 
Mil soft jets jetsim
Mil soft jets jetsimMil soft jets jetsim
Mil soft jets jetsim
 
Gvls 2012
Gvls 2012Gvls 2012
Gvls 2012
 
Gemkomsis 2012
Gemkomsis 2012Gemkomsis 2012
Gemkomsis 2012
 
2012 july mil soft_ie_capabilities__iic_solutions-general-eng
2012 july mil soft_ie_capabilities__iic_solutions-general-eng2012 july mil soft_ie_capabilities__iic_solutions-general-eng
2012 july mil soft_ie_capabilities__iic_solutions-general-eng
 

Usmos mil soft_dds_makale

  • 1. MilSOFT DDS ARAKATMANI ve DDS’in SAVAŞ YÖNETİM SİSTEMLERİNDE SİMÜLASYON AMAÇLI KULLANIMI
  • 2. (a) (b) (c) (d) Hüseyin Kutluca , İzzet Emre Çetin , Ertan Deniz Barış Bal (a) MilSOFT Yazılım Teknolojileri A.Ş, Adres, ODTU Teknokent Ankara, hkutluca@milsoft.com.tr (b) MilSOFT Yazılım Teknolojileri A.Ş, Adres, ODTU Teknokent Ankara, icetin@milsoft.com.tr (c) MilSOFT Yazılım Teknolojileri A.Ş, Adres, ODTU Teknokent Ankara, edeniz@milsoft.com.tr (d) MilSOFT Yazılım Teknolojileri A.Ş, Adres, ODTU Teknokent Ankara, bbal@milsoft.com.tr ÖZ DDS Arakatmanı temel olarak veri merkezli (data centric) ve yayımla-abone ol (publish- subscribe) mimarisine dayalıdır. MilSOFT, 2004 yılında başlattığı GEMKOMSİS ARGE projesi kapsamında DDS arakatmanını geliştirmiştir. MilSOFT, DDS arakatmanını Savaş Yönetim Sistemi yazılımının geliştirilmesinde gerçek zamanlı dağıtım arakatmanı ve simülasyon amaçlarına yönelik olarak kullanmaktadır. HLA ve DDS ortak kullanımının değişik uygulamalarda mümkün olabileceği öngörülmektedir. Bu ortak kullanım için her iki arakatmanın özellikleri de dikkate alınarak etkin bir tasarım yapılması sağlanabilir. Anahtar Kelimeler: Arakatman, DDS, Dağıtık Sistemler, Gerçek Zamanlı Sistemler, OMG, Savaş Yönetim Sistemi, Servis Kalitesi, Yayımla-Abone Ol MilSOFT DDS MIDDLEWARE and USING DDS FOR SIMULATION IN COMBAT MANAGEMENT SYSTEMS ABSTRACT DDS (Data Distribution Service) is a data-centric middleware based on publish-subscribe paradigm. MilSOFT has developed DDS middleware within GEMKOMSIS R&D project that was initiated in 2004. MilSOFT utilized DDS middleware in Combat Management System development as a real-time distribution middleware and for simulation purposes. It is foreseen to use DDS and HLA (High Level Architecture) together in various applications. For this common use, feasible system architectures can be driven by taking both middleware’s features into consideration. Keywords: Combat Management System, DDS, Distributed Systems, Middleware, OMG, Publish-Subscribe, Real-Time Systems, Quality of Service, HLA
  • 3. 1. GİRİŞ Dağıtık ortamlarda verinin iletilmesi için, dağıtık ortamın ihtiyaç duyduğu kalite özelliklerini sağlayabilen arakatman yazılımları kullanılmaktadır. Simülasyon sistemlerinin entegrasyonu için de, IEEE tarafından standardı yayımlanmış olan High Level Architecture (HLA) ve onun arakatmanı olan RTI yaygın olarak kullanılmaktadır. Bunun yanında Object Management Group (OMG) tarafından gerçek zamanlı sistemler için hazırlanmış olan Data Distribution Service (DDS) arakatman yazılımı standardı da Haziran 2004’te yayımlanmıştır[4]. DDS Arakatmanı temel olarak veri merkezli (data centric) ve yayımla-abone ol (publish-subscribe) mimarisine dayalı bir arakatmandır. Gerçek zamanlı sistemlerin dağıtık ortamdaki ihtiyaçlarını karşılamak üzere zengin servis kalitesi özelliklerini (Quality of Service, QoS) içermektedir. DDS arakatmanı dağıtık ortamda çalışan gerçek zamanlı sistemlerin ihtiyaçlarını karşılamak üzere geliştirilmiştir[6,7]. DDS arakatmanının kullanıldığı alanlar komuta kontrol sistemleri, endüstriyel otomasyon, dağıtık kontrol ve simülasyon, telekomünikasyon, sensör ağları ve ağ temelli sistemlerdir. Bu alanlardaki uygulamalar hızlı, etkin ve tahmin edilebilir bir veri iletişimine ihtiyaç duyarlar. Ayrıca, üretilen verinin birden çok uygulamaya iletilmesi ve bu özelliğin sistem performansını olumsuz etkilememesi ana beklentilerdir. Bellek, işlemci ve veri yolu gibi kısıtlı kaynakların ihtiyaçlara göre etkin kullanılabilmesi için arakatman parametrelerinin ayarlanabilmesi temel bir ihtiyaçtır. DDS arakatmanı buna yönelik olarak zengin servis kalitesi özellikleri sağlamakta ve bu servis kalitesi özelliklerinin her bir DDS nesnesi seviyesinde ayarlanabilmesine olanak vermektedir. Bu özellikleri ile DDS arakatmanı dağıtık ve gerçek zamanlı sistemler için önemli bir arakatman standardı olmuştur. MilSOFT 2004 yılında başlattığı GEMKOMSİS ARGE projesi kapsamında DDS arakatmanını geliştirmiştir [3]. GEMKOMSIS projesi, su üstü platformları için modern bir Savaş Yönetim Sistemi (SYS) yazılımının, tümü ile milli ve özgün bir tasarımla, COTS ürünler de kullanılarak, ARGE yaklaşımı ile oluşturulmasına yöneliktir. Bu proje TÜBİTAK Teknoloji ve Yenilik Destek Programları Başkanlığı (TEYDEB) tarafından da desteklenmiş ve 2006 Aralık ayında tamamlanmıştır. GEMKOMSIS projesi kapsamında geliştirilen DDS arakatmanı, diğer komuta kontrol altyapı yazılımları, gemi ortak servisleri ve gemi ortak fonksiyonları 2007 yılında başlanan Sahil Güvenlik Komutanlığı Arama Kurtarma Gemileri için geliştirilecek SYS yazılımının temelini oluşturmuştur. Bunun yanı sıra MilSOFT DDS, şirket içindeki diğer müşterili projelerde de kullanım alanı bulmuştur. MilSOFT DDS arakatmanı ve onunla ilgili geliştirilmiş olan DDS Kod Üreteci ve DDS SPY uygulamaları da tamamlanmış bulunmaktadır. DDS arakatmanı, mimarisi ve zengin servis kaliteleri ile geniş bir alanda kullanım fırsatları sunmaktadır. DDS arakatmanının simülasyon sistemleri için kullanımı da söz konusudur [1, 2, 9]. RTI arakatmanı ise simülatörlerin birbirine entegrasyonu için uygundur. Ancak, özellikle simülatörlerin, gerçek sistemlerle birlikte / Donanım Çevrimde (Hardware In The Loop) kullanıldığı durumda ortaya çıkan, yüksek sıklıkta ve zaman kritik verilerinin iletimi ihtiyacı için DDS’in HLA’ya göre daha uygun olduğu değerlendirilmektedir[9]. HLA, simülasyon sistemlerinin birlikte ve yeniden kullanılabilirliğini (interoperability & reusability) sağlamak maksadıyla geliştirilmiş
  • 4. olup, DDS’te bulunan gerçek zamanlı veri iletimi, hataya dayanıklılık, veri filtreleme gibi servis kalitesi özelliklerini içermemektedir. Savaş Yönetim Sistemi (SYS) gibi gerçek zamanlı sistemler için DDS kullanılırken, bu tür sistemlerin simülasyonu için HLA kullanımı uygun olmaktadır. Bununla birlikte, DDS arakatmanı bu sistemlerin testi ve eğitimi için geliştirilecek simülatörlerde arakatman olarak da kullanılabilmektedir. DDS’in SYS yazılımının testi için geliştirilen simülatörlerde kullanımı bu makalenin kapsamında verilmektedir Bu makale kapsamında; Bölüm 2’2’de DDS mimarisi anlatılmaktadır. Bölüm 3’te MilSOFT DDS arakatman yazılımının geliştirilmesi süreci ve MilSOFT DDS arakatmanının DDS’in özellikleri sunulmuştur. DDS arakatmanının simülasyon için kullanım alanları Bölüm 4’te ele alınmıştır. Bölüm 5’te ise DDS arakatmanının SYS yazılımının testi için geliştirilen simülatörlerde kullanımı hususunda bilgi verilmektedir.. Bölüm 6’da varılan sonuçlar ve yapılan değerlendirmeler ifade edilmektedir. 2. DDS ARAKATMANI OMG, arakatman teknolojileri ve nesneye dayalı yazılım geliştirme teknolojilerinin tanımlanması ve standartlaştırılmasını hedefleyen, kar amacı olmayan uluslararası bir kuruluştur. OMG daha önce UML ve CORBA standardını geliştirmiş ve kullanımının yaygınlaşmasını sağlamıştır. OMG tarafından gerçek zamanlı sistemler için hazırlanmış DDS arakatman yazılımı standardı Haziran 2004’te yayımlanmıştır. DDS, temel olarak veri merkezli (data centric) ve yayımla-abone ol (publish-subscribe) mimarisine dayalı bir arakatmandır. Sistem, içindeki veriyi üretenden (publisher) kullanana (subscriber) sağlamayı temel aldığından veri merkezlidir. Bunun alternatifi ise, CORBA’da olduğu gibi, farklı bir noktadaki bir servisten hizmet almayı sağlayan servis merkezli arakatmandır. Yayımla-abone ol mimarisi, veriyi üreten ile veriyi kullananın birbirinden bağımsız olmasını sağlamaktadır. Bunun sonucunda, sisteme yeni modüller kolaylıkla entegre olabilmekte ve sistemde bir değişiklik yapmadan mevcut verilere abone olunup gerektiğinde yeni veriler üretilebilmektedir. DDS arakatmanı, gerçek zamanlı sistemlerin gerçek zaman ve hataya dayanıklılık ihtiyaçlarını karşılamak üzere geniş bir servis kalitesi desteği sunmaktadır. Verinin güvenli olarak gönderileceğini belirleyen Güvenilirlik (reliability) servis kalitesi buna bir örnektir. Komutlar gibi teslimatı mutlaka gerçekleşmesi gereken veriler güvenli servis kalitesinde gönderilirken (reliable), periyodik olarak güncellenen verilerin bu servis kalitesinde gönderilmesine ihtiyaç yoktur (best effort). Kalıcılık (durability) servis kalitesi; verinin uçucu (volatile), bellekte kalıcı (transient) ya da diskte kalıcı (persistent) olacağını belirler. Bir verinin uçucu olması sadece o anda dinleyen modüllere ulaştırılacağını, bellekte kalıcı ise sonradan sisteme dahil olan modüllere de iletileceğini ve diskte kalıcı ise sistem kapanıp açıldığında bile erişilebileceğini belirler. Bunların dışında sunum sırası, teslim tarihi, sahiplik, yaşam durumu, zaman filtresi
  • 5. iletişim önceliği, öncesi bilgisi, kaynak limiti gibi servis kalitesi özellikleri de mevcuttur. DDS arakatmanı, ilklendirme ve iletişim için nesneye dayalı bir arayüz sunar. Bu arayüzdeki nesnelerden temel olarak “DomainParticipant”, “Type”, “Topic”, “Publisher”, “Subscriber”, “DataWriter” ve “DataReader” örnek olarak verilebilir. Bu nesnelerin birbiri ile ilişkisi Şekil 1’de verilmiştir. Şekil 2. DDS arakatmanı nesneleri “Domain” birbiri ile iletişimde bulunan uygulamaları bağlayan dağıtık bir yapıdır. Dolayısı ile aynı “domain”de bulunan uygulamalar birbirleri ile veri alışverişinde bulunabilirler. “DomainParticipant” nesnesi uygulamaların bir domain’e lokal üyeliğini temsil eder [4]. İletişimde kullanılacak veriler “Type” ile tanımlanır. “Type” ile verinin içeriği ve anahtar alanlar belirlenir. “Topic” nesnesi bir “Type” üzerinden iletişim kurmak için tanımlı isim ve servis kalitelerinden oluşur. Uygulamalar “Topic”lere abone olabilirler veya “Topic” yayımlayabilirler. Veri yayımlamak için öncelikle “DomainParticipant” nesnesi üzerinden “Publisher” nesnesi oluşturulur. “Publisher” nesnesi bütün yayınlar için bir arayüz oluşturur ve yayın için gerekli “DataWriter” nesnesini yaratmaktan sorumludur. Bir “Topic” için veri yayımlamak üzere bir “DataWriter” yaratılır. Bu “DataWriter” nesnesi aracılığı ile veriler arakatmana yazılır. Benzer şekilde verilere abone olmak için “Subscriber” nesnesi yaratılır. Bir “Topic”e abone olmak için “Subscriber” nesnesi üzerinden bir “DataReader” yaratılır. Uygulamalar, “DataReader”lar üzerinden arakatman aracılığı ile dağıtılan ve kendi abone oldukları “Topic”lere ait verilere erişebilirler. DDS arakatmanı veri tipine dayalı bir programlama arayüzü sağlamak amacı ile o tipte iletişimi sağlayan özelleşmiş “DataWriter” ve “DataReader” nesnelerini otomatik üretmeyi ve kullanmayı öngörmüştür. Tanımlanan veri tipi üzerinden kod üreteci
  • 6. kullanılarak veri tipleri için gerekli olan özelleşmiş “TypeSupport”, “DataWriter” ve “DataReader” nesneleri yaratılır (Şekil 3). cd DDS Track Veri Tipi Nesneleri «i nterface» DataWriter DataReader TypeSupport «real i ze» TrackTypeSupport TrackDataWriter TrackDataReader Track + lat: doubl e + lon: double key + track_i d: i nt Şekil 3. DDS Kod Üretecinin Track Veri Tipi için Ürettiği Nesneler 3. MilSOFT DDS ARAKATMANI MilSOFT, Savaş Yönetim Sistemi ve onun altyapısını geliştirmek üzere başlattığı GEMKOMSİS ARGE projesi kapsamında MilSOFT DDS ürününü geliştirmiştir. Geliştirme çalışmaları 2004 yılı başında DDS standardının taslak sürümü üzerinden başlamış ve bu sayede standardın resmi olarak 1.0 versiyonu olarak yayımlandığı Haziran 2004 tarihinden çok daha önce MilSOFT DDS arakatmanının tasarımı oluşturulabilmiştir. Geliştirilen MilSOFT DDS arakatmanı GEMKOMSİS Savaş Yönetim Sistemi uygulamalarının veri alışverişini sağlamak üzere entegre edilmiştir. Bunu takip eden süreçte arakatman yazılımı geliştirilmesi çalışmaları devam etmiş, yayımlanan yeni sürümler aracılığı ile uygulama yazılımları sürekli olarak entegre ve test edilmiş; tespit edilen sorunların giderilmesi ve mevcut yeteneklerin iyileştirmesine yönelik çalışmalar yapılmıştır. Bu çalışmalara paralel olarak DDS’te yapılması gerekli iyileştirmeleri planlayabilmek için, verinin iletim süresi ve toplam kapasite gibi performans parametreleri de devamlı olarak izlenmiştir. 2007 yılı ocak ayı itibarı ile DDS standardının 1.2 versiyonuna uyumlu MilSOFT DDS arakatmanı geliştirme faaliyeti tamamlanmıştır. Geliştirilen DDS arakatmanı OMG standardına göre “Minimum Profile” seviyesini sağlamaktadır [4]. Buna ek olarak Savaş Yönetim Sistemi için gerekli olan ve durum (status) verisini kapanıp/çöken ve yeniden başlayan uygulamalara ileten “Durability Profile” ve alınacak verinin sorgu ile filtrelenmesini sağlayan “Content Subscription Profile”özelliği de MilSOFT DDS’e kazandırılmıştır. MilSOFT DDS arakatmanı gerçek zamanlı sistemlerin dağıtık veri uygulamalarına yönelik ihtiyaçlarını karşılamak üzere C++ programlama dili ile geliştirilmiş olup altyapısında başka bir dağıtım arakatmanını kullanmamaktadır. Ayrıca, gerçek zamanlı sistemlerde gerekli olan uygulamaların sistem başlama zamanından sonra hiç bellek
  • 7. almaması (no dynamic memory allocation after initialization) özelliğini de barındırmaktadır. Şekil 4. MilSOFT DDS Arakatmanı MilSOFT, DDS’in diğer DDS arakatmanları ile protokol seviyesinde uyumlu olması ve olgun bir iletişim protokolüne sahip olması için halihazırda taslak versiyonu yayınlanmış olan RTPS (Real-Time Publish Subscribe) protokolünü de geliştirmiş ve entegre etmiştir[5]. RTPS temelinde UDP/IP üzerinde çalışan bir protokoldür, ancak tasarımı veri iletimi için başka protokolleri de entegre etmeyi mümkün kılmaktadır. RTPS protokolü ile ileride MilSOFT DDS arakatmanına yeni protokoller kolayca entegre edilebilecektir. Ayrıca, RTPS uyumlu diğer DDS ürünleri ile veri alış verişi mümkün olacaktır. MilSOFT, bir taraftan DDS arakatmanını geliştirirken bir yandan da DDS’in dağıtık bir yapıda etkin ve hatasız kullanımını sağlayacak yardımcı araçları da geliştirmiştir. Bu araçlar sırasıyla DDS Otomatik Kod Üreteci ve DDS Spy’dır. 3.1. DDS Otomatik Kod Üreteci (DDS Code Generator – DDS CG) DDS otomatik kod üreteci, uygulama yazılımlarının DDS ile arayüzü için gerekli kodu üretir. Öncelikle veri tipine dayalı bir programlama arayüzü sağlamak için o tipte iletişimi sağlayan özelleşmiş DataWriter ve DataReader nesnelerinin otomatik olarak üretmektedir. Böylece, uygulama yazılımcılarının arakatman ayrıntılarıyla uğraşma zorluğunu ortadan kaldırmaktadır . Bu yaklaşım “Model Driven Development with Generative Programming” yaklaşımına uygundur. DDS CG, sistem içindeki arayüzlerin tek bir araç tarafından geliştirilmesini ve yönetilmesini sağladığından, modüller arası entegrasyonu kolaylaştırmakta ve sistem arayüzlerinin tek bir noktadan kontrolü imkanını vermektedir.
  • 8. Şekil 5. MilSOFT DDS Otomatik Kod Üreteci 3.2. DDS-SPY Aracı Diğer bir yardımcı araç olan DDS-Spy ise sistemde bulunan modülleri ve onların yayımladığı ve/veya abone olunan verileri izlemek için kullanılmaktadır. Ayrıca, test amaçlı olarak ihtiyaç duyulan verilerin kopyala-yapıştır yöntemi ile tekrar sisteme verilebilmesini sağlamaktadır. Bu yönleri ile DDS-SPY, uygulama yazılımcılarına, test mühendislerine ve sistem bakım grubuna büyük kolaylıklar sağlamaktadır. Şekil 6. MilSOFT DDS- Spy aracı 4.0 DDS’İN SİMULASYON UYGULAMALARINDAKİ YERİ HLA ve DDS veri merkezli ve “yayımla/abone ol” esasına dayalı benzer standartlardır[1, 2]. Ayrıca, kullanıcı tarafından tanımlı veri yapıları kullanmaları ve içeriğe göre filtreleme özellikleri gibi benzerlikler taşımaktadırlar. HLA standardı zaman yönetimi, hiyerarşik nesne yönetimi, aynı nesnenin faklı alanlarının farklı uygulamalar tarafından güncellenebilmesi gibi simülasyon dünyası için geliştirilmiş özellikler barındırmaktadır. Öte yandan DDS ise zaman filtresi, sahiplik, çalışırlık durumu (liveliness) gibi zengin servis kalitesi özellikleri ve gerçek zamanlı veri
  • 9. iletimine imkan veren veri modeli ile yüksek performans gerektiren simülatörler için uygun bir arakatman çözümü olmaktadır. RTI ve DDS arakatmanlarının sistem gereksinimlerine göre birlikte kullanımı mümkündür [1,8]. Örneğin, donanım destekli platform simülasyonu için DDS arakatmanı kullanımı gerçek zaman ihtiyaçları ve DDS servis kaliteleri sebebi ile uygundur. Bu sistemlerde periyodik veri yoğun olarak yayımlanmakta ve birden fazla sistem (Hareket kontrol, görüntü üretme, gösterge simülasyonu vs.) tarafından kullanılmaktadır. Bu veri iletişiminin yayımla-abone ol mimarisi ile etkin bir şekilde gerçekleştirilmesi mümkündür. Ayrıca, yüksek frekansta yayımlanan bir veriyi daha az güncelleme yapan bir sistemin zaman filtresi servis kalitesi sayesinde istediği frekansta alması sağlanabilir. DDS arakatmanı bu sistemin içinde kullanılıyorken bu sistemlerin birleştirilerek HLA uyumlu ortak bir muharebe simülasyonunda RTI üzerinden bağlanması mümkündür. Benzer şekilde bir Savaş Yönetim Sistemi DDS üzerinden iletişim sağlarken bu sistemlerin HLA uyumlu simülasyon sistemlerine bağlanması amacı ile RTI kullanılabileceği değerlendirilmektedir. Bu tür sistemlerde HLA ile DDS arakatmanları arasında köprü kurularak veri iletişiminin kolaylıkla yapılabileceği öngörülmektedir. id DDS v e RTI birlikte kullanımı donanim destekli platform simülatörü donanim destekli platform simülatörü Uygulama 1 Uygulama 5 Uygulama 6 Uygulama 2 DDS DDS Uygulama 3 Uygulama 4 Uygulama 7 Uygulama 8 RTI Şekil 7. RTI ve DDS Arakatmanlarının Birlikte Kullanımı DDS arakatmanının RTI yerine kullanılması da bir uygulama alternatifi olabilir. Bu konuda detaylı araştırma yapılması ve uygulamalar ile denenmesine gerek duyulduğu değerlendirilmektedir. 5.0 DDS’in SAVAŞ YÖNETİM SİSTEMLERİNDE SİMÜLASYON AMAÇLI KULLANIMI DDS arakatmanı geliştirilmesi ve mevcut bir SYS içerisinde kullanımı GEMKOMSİS projesi kapsamında gerçekleştirilmiştir. MilSOFT DDS arakatmanı, diğer komuta kontrol altyapı yazılımları, gemi ortak servisleri ve gemi ortak fonksiyonları 2007
  • 10. başında başlanan Sahil Güvenlik Komutanlığı Arama Kurtarma Gemileri için geliştirilecek SYS yazılımının temelini oluşturmaktadır. Yeni sistemler geliştirilirken eğitim amaçlı simülasyon özellikleri de öngörülmektedir. Bu amaçla yapılan simülasyon için DDS arakatmanını öngörmekteyiz. Böyle bir sistem için gerçek zamanlı sistem için bir domain kullanılır iken simülasyon için verilerin ayrı bir domain üzerinden iletilmesi mümkündür. SARSHIP kapsamında geliştirilen SYS yazılımını test etmek ve sistemi eğitim modunda kullanabilmek üzere arayüz protokolü seviyesi simülatörler, senaryo editörü ve oynatıcısı geliştirilmektedir (Şekil 8). Bu kapsamda senaryo oynatıcısından gelen veriler alt sistem simülatörleri tarafından işlenmektedir. Alt sistemlerin arayüz protokolü seviyesi simülasyonu ile, alt sistemin mesaj alışverişi simüle edilmektedir. Oluşturulan bu simülasyon konfigürasyonunda veri iletişimi için DDS tercih edilmiştir. Bunun temel gerekçesi mevcut proje kapsamında geliştirilmiş DDS arakatmanının bu uygulama için uygun bir altyapı sağlamasıdır. DDS arakatmanın veri merkezli yayımla/abone ol mimarisinin simülasyon yapısına uyumlu olması bu teknik çözümün seçilmesinde önemli bir etken olmuştur. id Test Senaryo Üreteci Kendi gem i ve iz bilgileri M ilSOFT DDS (Test v e Simülasyon "Domain") Seyir Radari Kendi gemi Arama Radari Simülatörü Bilgileri Simülatörü Simülatörü RS422/NM EA Ethernet 1553 Nav Radar SIU DDU SIU Search Radar Seyir Kendi gem im iz Aram a Radari ile radari ile ile alakali alakali "T opic"ler alakali "T opic"ler "T opic"ler M ilSOFT DDS (SYS "Domain") «System » CM S Şekil 8. DDS Arakatmanının Simülasyon-SYS Entegrasyonunda kullanımı Örneğin radar simülasyonu için, Senaryo editörü ve oynatıcısında üretilip DDS arakatmanı üzerinden yayımlanan nesnelere ait bilgiler NavRadarSIM tarafından seyir radarı arayüz simülasyonu yapılarak RS422 üzerinden NMEA-0183 formatında NavRadarSIU bilgisayarına aktarılır. NavRadarSIU ise aldığı veriyi Savaş Yönetim Sistemi veri modeli yapısına uygun formata çevirerek iz seviyesinde DDS arakatmanı aracılığı ile sisteme sağlar.
  • 11. 6.0 SONUÇ DDS ve HLA, veri merkezli ve “Yayımla-Abone ol” esasına dayalı standartlardır. Gerçek zamanlı sistemler için tasarlanmış olan DDS arakatmanı simülasyon dünyasında hem kendi başına hem de HLA uyumlu simülasyon sistemleri ile birlikte kullanım alanına sahiptir. MilSOFT, OMG’nin DDS standardına uygun bir DDS arakatmanı geliştirmiştir. MilSOFT, DDS arakatmanını Savaş Yönetim Sistemi yazılımında gerek gerçek zamanlı sistem ihtiyacının karşılanmasında gerekse simülasyon uygulamalarında etkin olarak kullanmaktadır. Bu açıdan DDS arakatmanı HLA arakatmanı olan RTI yerine kullanılabilmektedir. Ayrıca, RTI-DDS arakatmanlarının birlikte kullanımının değişik uygulamalarda mümkün olabileceği görülmektedir. Gerçek sistemlerin dağıtık uygulamaları için DDS mimarisi ve arakatmanı kullanılırken, bu sistemlerin HLA uyumlu simülasyon sistemleri ile birlikte kullanımında / entegrasyonunda RTI kullanılması değerlendirilebilir. Bu kullanım biçimi için her iki arakatmanın ve mimari standardın özellikleri dikkate alınarak sistemlerin uygun şekilde tasarlanması mümkündür. DDS arakatmanının RTI yerine kullanılması konusunda da detaylı araştırma yapılması ve uygulamalar ile denenmesine gerek duyulduğu değerlendirilmektedir. KAYNAKÇA [1] Calvo B., Seisdedos I. , (2006), “SimWare Kernel – Real Time Communication System for Simulation”, Real-time and Embedded Systems Workshop 2006. [2] Joshi R, Castellote G. P.,”A Comparison and Mapping of Data Distribution Service and High-Level Architecture”, www.rti.com. [3] MilSOFT, (2006), “MilSOFT DDS Middleware”, http://dds.milsoft.com.tr [4] OMG, (2006): “Data Distribution Service for Real-Time Systems Ver 1.2”, http://www.omg.org. [5] OMG, (2006), The Real-Time Publish-Subscribe Wire Protocol OMG Revised Submission, http://www.omg.org. [6] Angelo Corsaro, DDS in Air Traffic Control Applications, DDS Information Day, December 2006, Washington, DC USA. [7] Piet Griffioen , TACTICOS CMS: exploiting the full DDS potential, DDS Information Day, December 2006, Washington, DC USA. [8] RTI, National Advanced Driving Simulators & Simulation Center, Customer success story, www.rti.com [9] Whytock. P, (2006), “An Open Standards Approach To Simulator Design”, http://europe.elecdesing.com, Article ID: 12025