<!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>ED Model Yapıtaşı Haberleşme Altyapısı</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Aysun Sancar Yılmaz</string-name>
          <email>asancar@aselsan.com.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Betül Baydemir Çankaya</string-name>
          <email>baydemir@aselsan.com.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hande Doğan Köseoğlu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Anahtar Kelimeler: Radar Elektronik Destek, OSGİ</institution>
          ,
          <addr-line>Yazılım Mimarisi, CORBA, ATA, Tasarım Kalıpları, Kullanıcı Arayüzü</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>REHİS-EHGYM</institution>
          ,
          <addr-line>Aselsan A.Ş. , Ankara</addr-line>
        </aff>
      </contrib-group>
      <fpage>439</fpage>
      <lpage>446</lpage>
      <abstract>
        <p>Özet. Elektronik Destek (ED) Model Yapıtaşı, Radar Elektronik Harp projelerinde ihtiyaç olan veri yapısı ortaklığı, kontrol işlemci haberleşme ve eğitim simülasyonu ihtiyaçlarını karşılamak için geliştirilen bir yapıtaşıdır. Yapıtaşı, sistemde bulunan diğer yazılımlarla konfigüre edilebilir olarak OSGI, ATA ve CORBA teknolojileri kullanarak haberleşebilmektedir. Bu çalışmada ED Model Yapıtaşı haberleşme mimarisi aktarılacaktır.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>ED Model Yapıtaşı, radar elektronik destek kullanıcı arayüzü yazılımlarının temel
işlevleri olan yayınların tespiti, yayın parametrelerinin bulunması için yapılan detaylı
tespit, tespit edilen parametrelerin kaydı, yayın parametrelerine göre yayının kimlik
bilgisini belirlemek için kullanılacak veri dosyalarının yönetimi, yayınlar üzerinde
parametre bazlı filtreleme, yayınlara alarm üretme, sistem kalibrasyon işlemleri ve
eğitim simülasyon ihtiyaçlarını kontrol işlemci yazılımı ile haberleşerek karşılayan bir
yapıtaşıdır.</p>
      <p>Benzer ED projelerinde Kİ birimiyle haberleşme ve senaryo yönetimlerinin
ortaklanmasını sağlama, ortak bileşenlerle daha hızlı ürün çıkarma çalışmaları
kapsamında alan analizi çalışmaları yapılmış, bu kapsamda ED Model Yapıtaşı ortak
bir katman olarak ED projelerinde kullanılmak üzere geliştirilmeye başlanmıştır.</p>
      <p>
        Yapıtaşı servis tabanlı mimariye (Service Oriented Architecture) uygun olarak
geliştirilmiştir. Yapıtaşı birbirleri ile haberleşen servislerden oluşmaktadır. Bu
servislerin aranmasını, bulunmasını ve kullanılmasını sağlayan servis platformu
olarak OSGİ (Open Services Gateway Initiative)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] kullanılmıştır. OSGİ platformu
çeşitli hazır yönetim servisleri sunmaktadır. Her bir servis bu yönetim servislerini
kullanarak servis kütüğüne kendi sunduğu servisleri kaydeder. Bu servisleri
kullanacak diğer servisler yine yönetim servislerini kullanarak istedikleri servisleri
servis kütüğünden sorgular, bağlanır ve kullanır. Servis kullanımı nesnelerin
metotlarını çağırmak şeklinde olur.
      </p>
      <p>
        Yapıtaşı içinde geliştirilen bileşenlerin birbiri ile OSGİ altyapısı üzerinden
haberleşmesi yanı sıra veri akışını gerçeklediği kontrol işlemci yazılımı ile
haberleşme ihtiyacı bulunmaktadır. ED Model Yapıtaşı bu haberleşmeyi OSGİ, ATA
(Arayüz Tanımlama Aracı) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] ya da CORBA (Common Object Request Broker
Architecture) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] aracılığı ile gerçekleştirir. Bu makalede ED
haberleşme mimarisi aktarılacaktır.
      </p>
      <p>Model Yapıtaşının
2</p>
    </sec>
    <sec id="sec-2">
      <title>ED Model Yapıtaşının Kapsamı</title>
      <p>ED Model Yapıtaşı, OSGİ ortamında kendini ortama kaydeden java ‘plugin’
lerinden oluşmaktadır. Bu yapıtaşını kullanacak uygulamalar OSGİ ortamından
servisleri çekerek kullanıma alır. Yapıtaşının temel görevleri radar elektronik harp
destek projelerinde yer alan tespit, teşhis, kalibrasyon, kayıt, kimliklendirme kaynağı,
alarmlama, filtreleme ve ortak çalışma mesajlaşması (ED sisteminin diğer sistemlerle
haberleşmesi) gibi genel ed işlemlerini gerçeklemek (görev modu), bu yeteneklere ek
olarak da ortam simülasyonu yapmaktır. (eğitim modu)</p>
      <p>Şekil 1'de ED Model servislerinin yer aldığı projenin çalışma ortamı
gösterilmektedir. OSGİ çerçevesinde bulunan kullanıcı arayüzü servisleri ED model
servislerini ortamdan alarak kullanırlar. Radeh Yönetim Servisi mod geçişlerini
yöneten servis olarak bir üst katmanda konuşlandırılmıştır. Bütün servis dış arayüzü
“RadehModelCekirdek” servisi üstünden sunulmaktadır. Bu sayede bağımlılıklar tek
bir elden yönetilir.</p>
      <p>OSGi Çerçevesi</p>
      <p>CESMO Haberleşme Servisi</p>
      <p>Kullanıcı Arayüzü Servisi
Seyrusefer</p>
      <p>Radeh Yönetim Servisi
yayın listesi
RADEH Servisleri</p>
      <p>Filtre Model Servisi</p>
      <p>Alarm Model Servisi</p>
      <p>Log Servisi</p>
      <p>RadehModelCekirdek
Tespit Model</p>
      <p>Servisi</p>
      <p>Detaylı Tespit
Model Servisi</p>
      <p>Taktik Kayıt Model</p>
      <p>Servisi</p>
      <p>Kim. Kaynağı Model</p>
      <p>Servisi</p>
      <p>Kalibrasyon Model</p>
      <p>Servisi</p>
      <p>OrtakÇalışma Model Servisi
Kİ Servisleri</p>
      <p>OrtakÇalışma Model Kİ</p>
      <sec id="sec-2-1">
        <title>TespSiteMrvoisdiel Kİ</title>
        <p>Detaylı Tespit Kİ
Servisi
Taktik Kayıt Kİ
Servisi</p>
      </sec>
      <sec id="sec-2-2">
        <title>Kim.SKearyvnisaiğı Kİ</title>
        <p>Kalibrasyon Kİ</p>
        <p>Servisi
Şekil 1. ED Model Yapıtaşı Çalışma Ortamı Genel Görünümü</p>
        <p>Kİ servisleri diye gösterilen kısım ise ED Model Yapıtaşının haberleştiği kontrol
işlemci arayüzünü belirtmektedir. Her bir kontrol işlemci arayüzü için bir bağlantı
kurulmaktadır. Şekil 2'de ED Model Yapıtaşının hem kendini kullanan Kullanıcı
Arayüzü hem de kontrol işlemci yazılımı ile kurduğu genel haberleşme yapısı
gösterilmektedir.
leri</p>
        <sec id="sec-2-2-1">
          <title>Kullanıcı Arayüzü Bileşen</title>
        </sec>
        <sec id="sec-2-2-2">
          <title>ED MODEL</title>
        </sec>
        <sec id="sec-2-2-3">
          <title>OSGİ</title>
          <p>OSGİ,
CORBA,
ATA</p>
        </sec>
        <sec id="sec-2-2-4">
          <title>Kontrol İşlemci Arayüzü</title>
          <p>Şekil 2. ED Model Yapıtaşı Genel Haberleşme Yapısı
3</p>
          <p>ED Model Yapıtaşı elektronik harp projelerinde yer alan ortak kontrol işlemci (Kİ)
haberleşme ve senaryo ihtiyaçlarının ortaklanması amacıyla gerçeklenmeye
başlamıştır. Proje ilk defa hayata geçirildiğinde Kİ haberleşmesi CORBA altyapısı ile
yapılacağı için ilk sürüm olarak CORBA altyapısı kullanılmıştır. Makalede Faz 1
olarak bahsedilen altyapı ED Modelin CORBA kullanılarak yapılan tasarımıdır.
3.1</p>
          <p>CORBA</p>
          <p>
            CORBA , Object Management Group (OMG) tarafından oluşturulan farklı
platformlardaki sistemlerin haberleşmesi için geliştirilmiş ortak bir dildir. İşletim
sisteminden, dilden ve donanımdan bağımsız bir şekilde iletişimi sağlar. Bu
özellikleri sayesinde farklı ortamlarda koşabilen ve farklı dillerde geliştirilmiş
olabilen projeye özel kontrol işlemci yazılımlarının dış arayüz ile haberleşme
senaryolarında CORBA kullanılmıştır. CORBA, ‘IDL’[
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] (interface definition
language) adı verilen mesajların yazılı olduğu dosyaları kullanır. Bu dosyalar ‘idl’
derleyicileri tarafından derlenip kodlamada kullanılacak kaynak kodlar oluşturulur.
ED Model Yapıtaşı java ortamında geliştirildiği için ‘idl’ derlemesi sonucu oluşan
java dosyaları ilk aşamada kullanıma alınmıştır.
          </p>
          <p>Bu ‘idl’ dosyalarının diğer bir özelliği de Faz 2'de gerçeklenen ATA ve OSGİ
altyapısı için ortak kullanım dili sağlayacak olmasıdır.
3.2</p>
          <p>İlk Tasarım</p>
          <p>Bu mimaride, her bir Kİ bağlantısı CORBA üzerinden bağlantı kurup yönetir.
Yapıtaşının haberleşme seçeneği mevcut kontrol işlemci yazılımlarının CORBA
bağlantısını destekleyecek şekilde tasarlanmıştır.</p>
          <p>Bir ED Model servisinin Kİ yazılımı ile haberleşmek için kullandığı tasarım kalıbı
Şekil 3’te gösterilmektedir.</p>
          <p>Şekil 3. ED Model Yapıtaşı Faz 1 Haberleşme Tasarım Kalıbı</p>
          <p>Bu tasarım kalıbına göre Kİ yazılımından mesaj alan sınıf “ModelSunucu” sınıfıdır
ve servis sınıfı olan “ModelSınıfı” sınıfını “IModelIcArayuz” arayüz sınıfı üzerinden
bilmektedir, doğrudan bir bağlantı kurulmamıştır. Benzer şekilde “ModelSınıfı” sınıfı
Kİ yazılımına mesaj göndermek amacıyla “IGomuluAdaptor” arayüzünü
kullanmakta, bu arayüzü gerçekleyen “GomuluAdaptor” sınıfına doğrudan bir erişimi
bulunmaktadır.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>ED Model Haberleşme Altyapısı (FAZ 2)</title>
      <p>ED Model Yapıtaşı bileşeninin farklı elektronik harp projelerinde farklı Kİ
bileşenleri ile haberleşme ihtiyacı doğmuştur. Makalede Faz 2 olarak bahsedilen ED
Model Yapıtaşı , OSGİ ve ATA arayüzleri ile Kİ haberleşmesini de gerçekleyecek
şekilde genişletilmiştir.
4.1</p>
      <p>OSGİ, yeniden kullanılabilirliği destekleyen modüler yapıda bir mimari ile java
uygulamaları geliştirmeyi sağlayan bir çerçevedir.</p>
      <p>Ed Model Yapıtaşı, OSGİ çerçevesi kullanılarak geliştirilmiştir. ED projelerinde,
zamanla değişen istekler ve ortamlar sonucunda kontrol işlemci yazılımları gömülü
kartlardan Windows ortamına alınmış, yazılım geliştirici ekibin de tecrübelerine
dayanarak OSGİ kullanılarak geliştirilmeye başlanmıştır. Kİ yazılımının OSGİ'de
geliştirilmesi sonucu, bu yazılımla haberleşecek ED Model Yapıtaşı yazılımının da
OSGİ arayüzü olması istenmiştir.
4.2</p>
      <p>ATA</p>
      <p>
        Arayüz Tanımlama Aracı (ATA), dağıtık birimler üzerinde çalışan yazılım
bileşenlerinin arayüzlerini bir arayüz modeli ile tanımlayan, tanımlanan arayüz
modeli üzerinden, ara katman kaynak kodu, arayüz dokümanı ve arayüzü test etmek
için çalıştırılabilir bir test aracı üreten Eclipse tabanlı bir araçtır. ATA, tanımlanmış
bir ATA arayüz modeli üzerinden ara katman kodu, çalıştırılabilir bir test aracı ve
yazılım arayüz tasarım tanımı dokümanı üretebilmektedir. Oluşturulan ara katman
kodu RPC[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] (Remote Procedure Call) mantığı ile çalışan bir katmandır. Oluşturulan
kod haberleşme protokolünden bağımsızdır. Üretilen ara katmanın kullanım yöntemi
Şekil 4’te verilmiştir.
Şekil 4. ATA Kullanım Yöntemi
Üretilen ara katmanın kullanılması için kullanıcının tek yapması gereken dış
arayüzden gelen mesajları ve senaryoları gerçeklemesidir.
4.3
      </p>
      <p>Haberleşme Tasarımı
class tespit</p>
      <p>ATA_ModelSunucu</p>
      <p>ModelSunucu
-Model
«interface»
IModelIcArayuz</p>
      <p>IEDModel-_inTsetsapnicte
#ModelSunucu</p>
      <p>Kİ yazılımı ile haberleşen ED Model servislerinde kullanılan ortak bir haberleşme
tasarım kalıbı bulunmaktadır. Bu tasarım kalıbı Şekil 5’te verilmektedir. Bu tasarım
kalıbında “GomuluAdaptor” sınıfı sunucu nesnesine mesaj göndermek amacıyla
kullanılacak olan sınıftır. “GomuluAdaptor” sınıfı, gönderilecek mesajları içeren
“IGomuluAdaptor” arayüz sınıfı üzerinden model sınıfı tarafından kullanılacaktır.
Sunucu nesnesinden gelen mesajları alacak sınıf ise “ModelSunucu” sınıfıdır.
“ModelSunucu” sınıfı “IModelIcArayüz” arayüz sınıfı üzerinden model sınıfına
mesajları aktarır.</p>
      <p>GomuluAdaptor sınıfından türeyen 3 adet sınıf bulunmaktadır. Bu sınıflarda ATA,
CORBA ve OSGI haberleşmesi için özelleşmiş kodlar bulunmaktadır. ED Model
servisleri konfigürasyondan ayarlanan haberleşme tipine göre ilgili “GomuluAdaptor”
nesnesi yaratılır. OSGI ve CORBA haberleşmesi için aynı nesne türleri
kullanılmıştır. CORBA tarafından kullanılan sınıflar ortaklık sağlaması açısından
OSGI haberleşmesinde de tercih edilmiştir. ATA haberleşmesi için gelen ve giden
mesajlar ayrı bir sınıf kümesi için tanımlanmış, bu sebeple sunucu tarafı ATA için
yeniden yazılmıştır. “ATA_ModelSunucu” sınıfına gelen mesajlar CORBA sınıf
tiplerine çevrilerek bundan sonra olan akış aynı olacak şekilde tasarım yapılmıştır.</p>
      <p>ATA haberleşmesi için yapılan bu değişikliğin ana sebebi, haberleşme sağlanan Kİ
bileşenin ATA sınıf tiplerini kullanmasıdır. OSGI haberleşmesi için OSGI’de
geliştirilen Kİ yazılımı da ‘idl’den üretilen CORBA sınıflarını kullanmaktadır.</p>
      <p>ED Model Yapıtaşı, 2008 yılından beri değişen ekiplerle beraber farklı ED
projelerinde kullanıma alınmıştır. Projelerdeki ihtiyaçlar ve talepler doğrultusunda
kendini son teknolojilere uygun olarak güncellemiş, şu an aktif olarak 5 projede
kullanıma alınmıştır. Bu projelerden biri ATA arayüzünü, 3 tanesi de OSGİ
arayüzünü kullanmaktadır. Bir projede de CORBA ile idamesi devam etmektedir. Kİ
ile haberleşmeler ‘idl’ arayüzü kullanılarak ortaklanmaktadır. Kullandığımız tasarım
kalıbı sayesinde yeni bir mesaj eklendiğinde ‘idl’ değişikliği yapılır, bu ‘idl’
değişikliği ATA için ayrıca derlenir, ‘idl’ için üretilen kodlar ve ATA için üretilmiş
yine ‘idl’den derlenen ‘jar’ projeye eklenerek haberleşmede değişen kısım hızlıca
eklenebilmektedir. Bütün türetilmeler ‘idl’ üzerinden olduğu için yapılacak hatalar
minimum düzeye indirgenmiştir.</p>
      <p>Kullandığımız mimari ED Model Yapıtaşı için yeni bir altyapı ile Kİ
haberleşmesini destekleyecek durumdadır. “GömülüAdaptor” sınıfından türeyen yeni
bir sınıf yazmak hem mevcut yapıyı bozmayacak, hem de yeni bir haberleşme
entegrasyonunu sağlayacaktır.</p>
    </sec>
    <sec id="sec-4">
      <title>Kaynaklar</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>1. www.osgi.org, OSGI Web Sayfası</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>2. www.corba.org, CORBA Web Sayfası</mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>B.</given-names>
            <surname>Kekeç</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Karadeniz</surname>
          </string-name>
          , “Arayüz Tanımlama Aracı”, UYMS,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>4. www.omg.org, Object Management Group Web Sayfası</mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>A.D. Birrell</surname>
            ,
            <given-names>B.J.</given-names>
          </string-name>
          <string-name>
            <surname>Nelson</surname>
          </string-name>
          , ”
          <article-title>Implementing remote procedure calls”</article-title>
          ,
          <source>ACM Transactions on Computer Systems 2</source>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>