ANKA Programı Yer Kontrol İstasyonu Yazılım Tasarımı ve Süreç Yaklaşımı



Benzer belgeler
Yazılım Mühendisliği Bölüm - 3 Planlama

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Yazılım Mühendisliği 1

Yazılım Mühendisliği Bölüm - 3 Planlama. Cengiz GÖK

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Android e Giriş. Öğr.Gör. Utku SOBUTAY

SU KALITE SİSTEMİ. Türkiye Halk Sağlığı Kurumu

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

BİT in Temel Bileşenleri (Yazılım-1)

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

TIHA System Model Based Software Development Approach

Kaspersky Open Space Security: Release 2. İşletmeniz için birinci sınıf bir BT güvenliği çözümü

PR Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5

VIERO ARAÇ SAYIM SİSTEMİ

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

ESİS Projesi. Kaynaklar Bakanlığı

Eylül 2007 de v1.0 ı yayınlanan SysML sayesinde endüstri mühendislerinin de ihtiyacı karşılanmış oldu.

Mobil Cihazlardan Web Servis Sunumu

VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. VIERO Araç Sayım Sistemi

Pardus. S.Çağlar Onur, 21 Aralık Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Yazılım Mimari Tasarımından Yazılım Geliştirme Çatısının Üretilmesinde Model Güdümlü Bir Yaklaşım

Hazırlayan: Ahmet Alper ÇALIŞKAN Probiz Yazılım Proje Mühendisi

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Hızlı Uygulama Geliştirme (SE 340) Ders Detayları

Büyük Ölçekli bir Gömülü Yazılımın Geliştirme ve Otomatik Test Deneyimi

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

Akıllı Kontrolde Teknoloji Devi SCADA YAZILIMI. Supervisory Control and Data Acquisition. ViewPLUS. Açık, Esnek, Ölçeklenebilir.

SİSTEM MÜHENDİSLİĞİ TASARIMIN SENTEZLENMESİ II

Kurumsal Yönetim Sistemleri Sistemleri

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

Chapter 8 Yazılım Testi. Lecture 1. Chapter 8 Software testing

O P C S T A N D A R D I

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

MerSis. Bilgi Teknolojileri Yönetimi Danışmanlık Hizmetleri

Veri Erişim ve Yönetim Kütüphanesinin Servis Tabanlı Mimari ile Tasarlanması H. Doğan Köseoğlu, S.Bozbey

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ Yazılım Mühendisliği Bölümü

ALICIA Projesi ve SDT A.Ş. nin Katılımı

4. Bölüm Programlamaya Giriş

WINDESKCONCENTO. sıgnum. Kurumsal İş Süreçleri Uygulamaları. windesk.com.tr

Plaka Tanıma. Plaka. Tanıma Sistemi. Sistemi

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Yazılımlarının İncelenmesi

Kamu Güvenliği İçin Acil Çağrı Merkezi Çözümü.

08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Veritabanı Uygulamaları Tasarımı

9.DERS Yazılım Geliştirme Modelleri

Yaz.Müh.Ders Notları #6 1

Aviyonik Sistemler ve Entegrasyon Yetenekleri.

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

BioAffix Ones Technology nin tescilli markasıdır.

TÜBİTAK ULAKBİM ELEKTRONİK İMZA ENTEGRASYONU HİZMET ALIMI TEKNİK ŞARTNAMESİ

Ekin RED EAGLE (OS) GÜVENLİ ŞEHİR TEKNOLOJİLERİ YÖNETİM SİSTEMİ

Ekin RED EAGLE (OS) GÜVENLİ ŞEHİR TEKNOLOJİLERİ YÖNETİM SİSTEMİ

Kamu Güvenliği İçin Acil Çağrı Merkezi Çözümü.

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

STAJ DEVAM ÇİZELGESİ

YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU Kernel çeşitleri

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

IENG 227 Modern Üretim Yaklaşımları

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

Smart Automation, Quality and IT Excellence Solutions - our experience, your success. Versiyon 2.5.

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

DEMİRYOLU SİNYALİZASYONUNDA YERLİ ADIMLAR

T.C. Başbakanlık Afet ve Acil Durum Yönetimi Başkanlığı AY D E S AFET YÖNETİM VE KARAR DESTEK SİSTEMİ - GENEL TANITIM

TEMSA FABRİKALARINDA İŞ ETÜDÜ UYGULAMASI: MONTAJ AKIŞ KARTI (AOS)

ALGORİTMA VE PROGRAMLAMA I

Veritabanı. Ders 2 VERİTABANI

qscale I2 Low-End SLI

Çimento Operatörleri ve Bakım Personeli için Simulatör sistemi: ECS/CEMulator

HAKKIMIZDA. Misyonumuz; Vizyonumuz;

DSİ kapsamında oluşturulan dağınık durumdaki verilerinin düzenlenmesi, yeniden tasarlanarak tek bir coğrafi veri tabanı ortamında toplanması,

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

PROGRAMLAMA TEMELLERİ

YAZILIM ÜRÜN HATTINDA YETENEK MODELİNDEN ÜRÜN KONFİGÜRASYONUNUN OLUŞTURULMASI

Sanallaştırma Nedir? Bahadır Demircioğlu. Şubat, 2013

T. C. KAMU İHALE KURUMU

ÖNDER BİLGİSAYAR KURSU. Sistem ve Ağ Uzmanlığı Eğitimi İçeriği

Yaz.Müh.Ders Notları #6 1

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

İstemci Yönetimi ve Genel Yazdırma Çözümleri

Synergi Boru Hattı Simülatörü

MerSis. Bilgi Teknolojileri Bağımsız Denetim Hizmetleri

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür.

Bilgisayar İşletim Sistemleri BLG 312

Bilişim Teknolojileri Temelleri 2011

OMOPHORUS Kalite Yönetim Sistemi Yazılımı ULUDAĞ ÜNİVERSİTESİ TEKNOLOJİ GELİŞTİRME BÖLGESİ ULUTEK AR-GE PROJESİ

Film Arşiv Sistemi. Yazılım Tasarım Belgesi

SAMM (Software Assurance Maturity Model) ile Güvenli Yazılım Geliştirme

10.DERS Yazılım Gerçekleştirme

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

Temel Bilgisayar (Basic Computer) Yazılım (Software)

UHeM ve Bulut Bilişim

LAPİS Havacılık ve Elektrikli Araç Teknolojileri Ltd.Şti.

Bilgi Servisleri (IS)

Transkript:

ANKA Programı Yer Kontrol İstasyonu Yazılım Tasarımı ve Süreç Yaklaşımı Barış Kayayurt 1 Celal Küçükoğuz 2 İhsan Yayla 3 Ahmet Yapıcı 4 1,2,3,4 Aviyonik Yazılım Mühendisliği Müdürlüğü, TAI, Ankara 1 e-posta: bkayayurt@tai.com.tr 3 e-posta: iyayla@tai.com.tr 2 e-posta: ckucukoguz@tai.com.tr 4 e-posta: ayapici@tai.com.tr Özetçe İnsansız Hava Araçları (İHA), bilhassa insan veriminin düşeceği uzun süreli görevlerde veya riskli ortamlarda; insan faktörünü tehdit ortamından yalıtmak üzere kullanılagelmektedir. Dünyada gelişen İHA sistemleri ve bu sistemlerin üstlendiği görevler her geçen gün gelişim ve farklı alanlara dağılım gösterirken, doğal olarak ülkemizde de İHA sistemlerine artan bir ilgi söz konusu oluşmuştur. İnsansız hava araçlarının gerek sayı gerekse çeşitlerindeki artış, insansız hava aracı platform ve kontrol yazılımlarının büyüklüklerinin ve karmaşıklık seviyelerinin artmasını beraberinde getirmiştir. Bu bildiride tanıtılmakta olan ANKA Yer Kontrol İstasyonu (YKİ) Yazılımları, entegre olarak çalışan gerçek zamanlı ve gerçek zamanlı olmayan yazılımları içermekte ve Integrated Modular Avionics (IMA) mimarisi ve model tabanlı tasarım ve geliştirme gibi günümüz aviyonik yazılım geliştirme standartlarına uymaktadır. ANKA YKİ yazılımının hava aracı yönetiminden sorumlu olan gerçek zamanlı kısımları, Integrated Modular Avionics (IMA) mimarisinde tasarlanmıştır. Gerçek zamanlı işletim sistemi üzerinde koşmakta olan bu yazılım çoğunlukla model tabanlı (SCADE [1], VAPS[2]), ve bununla birlikte daha az miktarda da elle geliştirilmiş kod içermektedir. YKİ Yazılımının gerçek zamanlı olmayan kısımları için ise nesneye yönelik tasarım ve kodlama yöntemleri kullanılmıştır. Gerçek zamanlı yazılımlarla gerçek zamanlı olmayan yazılımların aralarındaki veri değişimi UDP (Universal Datagram Protocol)) protokolü üzerinden gerçekleştirilmektedir. Bu bildiride YKİ genel mimarisi, ANKA YKİ yazılım geliştirme ortamı, kullanılan araçlar, süreçler ve standartlar konularında bilgilendirme yapılacaktır. 1. Giriş Yazılım her geçen gün daha da karmaşıklaşan örnekleriyle gündelik hayatımızın vazgeçilmezleri arasında yerini almıştır. Yazılımlar gündelik hayatımızda sıkça kullandığımız masaüstü uygulamalardan sınırlı kaynaklara sahip uç cihazlarda koşan gömülü yazılımlara kadar çok çeşitli bir yelpazede bulunmaktadır. Temelde uçuşla ilgili tüm yazılımları bünyesinde barındıran aviyonik yazılım da bu alanda güvenlik-kritiklik, süreç ve standartlarıyla ön plana çıkan bir alandır. Dünyada gelişen İHA sistemleri ve bu sistemlerin üstlendiği görevler her geçen gün gelişim ve farklı alanlara dağılım gösterirken, doğal olarak ülkemizde de İHA sistemlerine artan bir ilgi söz konusu oluşmuştur. Bu yönüyle bakıldığında İHA sistemleri için aviyonik yazılım geliştirme, en önemli faaliyet alanlarından biri olarak görünmektedir. Bu bildiride, genelde İHA yer kontrol istasyonlarında yazılım geliştirme, özelde ise ANKA Geliştirme Programı ndaki Yer Kontrol İstasyonu Yazılım geliştirme yaklaşımı anlatılacaktır. Bildirinin 2. Bölümünde İnsansız Hava Araçlarında yer kontrol istasyonu yazılım geliştirme tanıtılırken, 3. Bölümünde ANKA Geliştirme Programındaki YKİ yazılım geliştirme mimari, süreç ve araçları tanıtılacaktır. Bildirinin Sonuç bölümünde ise ANKA geliştirme deneyiminden elde edilen sonuçlar özetlenecektir. 2. İnsansız Hava Araçlarında Yer Kontrol İstasyonu Yazılımları İnsansız hava araçları son yıllarda ülkemizde de artan bir önem göstermekte ve yaygınlaşmaktadır. Yer kontrol istasyonu insansız hava aracının yerden yönetiminin sağlandığı, pilotun uçağı göstergelerden yönettiği, operatörün görevle ilgili fonksiyonları yerine getirdiği sistemin önemli bir parçasıdır. Bu yönüyle bakıldığı zaman yer kontrol istasyonunda koşan yazılım en az hava aracındaki yazılım kadar kritik ve önemli olarak görülmektedir. Farklı üreticiler tarafından yapılan yer kontrol istasyonlarında uçaktaki ile benzer özellikler taşıyan gerçek zamanlı gömülü yazılımlardan Windows masa üstü uygulamalarına kadar farklı mimari ve teknolojilere sahip yazılımlar koşmaktadır. Farklı üreticilerin ürettiği Yer Kontrol istasyonları ve uçak sistemleri arasında birlikte çalışılabilirliği (interoperability) sağlamak için bir takım uluslararası standartlar geliştirilmiştir. Bunların en önemlisi NATO STANAG 4586 standardıdır. Bu standart Yer kontrol istasyonları için üst seviye bir mimari ve yer kontrol istasyonunun dış arayüzleri için mesaj standartlarını tanımlar [3]. Bunun yanında yerde kokpit görevi görmesi ve uçağı yönetmesi bakımından uçuş kritik kategorisine giren YKİ yazılımları gittikçe artan bir şekilde RTCA-DO-178B rehber dokümanına uygun olarak geliştirilmeye başlanmıştır. RTCA- DO-178B IEEE-12207, Mil-Std-498 gibi yazılım süreç standartlarına emniyet boyutunu ekleyen bir rehber dokümandır. DO-178B dokümanı yazılımlar için emniyet kritiklik seviyesini [4] ve her bir yazılım emniyet kritiklik seviyesi için uyulması gereken hedefler ve gerçekleştirilmesi gereken aktiviteleri tanımlar. 284

Aviyonik endüstrisindeki gelişmelere paralel olarak Yer Kontrol istasyonu yazılımlarında Integrated Modular Avionics (IMA) yazılım tasarımı ve model tabanlı tasarım da sıklıkla kullanılmaya başlanan tasarım metodları olarak göze çarpmaktadır. Model tabanlı yazılım geliştirme yaklaşımının başlıca avantajları [5] de verilmektedir. 3.1. ANKA Sistemi 3. ANKA YKİ Yazılımları ANKA Geliştirme Programı, Medium Altitude Long Endurance (MALE) sınıfı bir İnsansız Hava Aracı (İHA) sisteminin milli olanaklarla geliştirilmesini hedefleyen bir programdır. Şekil 1 de yer alan ANKA sistemi; 30.000 ft maksimum irtifada 24 saat süre ile keşif gözetleme görevi yapmak üzere tasarlanmış bir Hava Aracı ve 200 km yarıçap içerisinde Hava Aracının takip ve kontrolünün yapılabildiği Yer Kontrol İstasyonu temel bileşenlerinden oluşmaktadır. Şekil 1 : ANKA Sistemi telemetri/telekomut sorgulama, pilot kamerası video geri oynatım, YKİ bilgisayarları açma/kapama alt işlev ve ekranlarına sahiptir. Yine SYY konfigürasyon biriminin altında yer alan Test Bakım yazılımından Yer Kontrol İstasyonu ve hava aracında yer alan ekipmanların uçuş öncesi kontrolleri yapılabilmektedir. Test Dump Yazılımı (TDY): Uçak ve yer sistemlerinden alınan test verilerinin izlenebildiği ve grafiklerinin görüntülenebildiği gerçek zamanlı olmayan yazılımdır. Bu yazılım Yer Kontrol İstasyonu istemci bilgisayarları ve Mühendislik Test İstasyonu bilgisayarlarında koşmakta, ve ağırlıklı olarak uçuş test mühendisleri tarafından uçağa ait verileri izlemekte kullanılmaktadır. Veri Yönetim Sistemi Yazılımı (VYS): Veri kayıt işlevleri içeren gerçek zamanlı olmayan yazılımdır. Bu yazılım Yer Kontrol İstasyonu ndaki sunucu bilgisayarlarda koşmaktadır. Sunucu üzerindeki cluster yapısı sayesinde iki sunucuda yedekli olarak çalışmaktadır. Uçuş sırasındaki tüm telemetri, telekomut ve içsel dahili test verileri bu yazılım tarafından veritabanı ve dosya sistemine kaydedilmektedir. Görev Planlama Yazılımı (GPY): Görev planlama ve takip işlevleri içeren ve harita fonksiyonları barındıran gerçek zamanlı olmayan yazılımdır. 3.3. Gerçek Zamanlı Hava Aracı Kontrol Yazılımı Tasarımı Gerçek zamanlı HAKY yazılımının üzerinde koştuğu Hava Aracı Kontrol Bilgisayarı (HAKB) sistemde yedekli olacak şekilde iki adet bulunmaktadır. HAKB yedekliliği hot backup adı verilen yedekleme yöntemi ile iki bilgisayarda aynı yazılım bileşenlerinin simetrik olarak koşturulması şeklinde gerçekleştirilmektedir. Gerçek zamanlı yazılım bileşenleri ile gerçek zamanlı olmayan yazılım bileşenleri arasındaki iletişim UDP protokolü ile sağlanmakta; uygulama seviyesinde ise mesajlaşma abone ol-yayınla tasarım örüntüsüne uygun olacak şekilde yazılım bileşeninin almak istediği mesajlara abone olması ve yayınlanan mesajların bu bileşenlere iletilmesi şeklinde yapılmaktadır. 3.2. YKİ Yazılımlarına Genel Bakış ANKA sistemi Yer Kontrol İstasyonu yazılımları hava aracının yerden kontrolü ve takibini sağlayan gerçek zamanlı yazılımlar ile görev planlama, veri kayıt ve sorgulama, test verisi izleme gibi gerçek zamanlı olmayan işlevleri içeren yazılım konfigürasyon birimlerinden oluşmaktadır. YKİ yazılımlarını oluşturan yazılım konfigürasyon birimleri şunlardır: Hava Aracı Kontrol Yazılımı (HAKY): Uçağı yerden kontrol eden ve takibini sağlayan gerçek zamanlı gömülü yazılımdır. HAKY yazılımı ile ilgili detaylı bilgi 3.3. başlığı altında verilmektedir. Sistem Yönetimi Yazılımı (SYY): Yazılım durum izleme, veri sorgulama ve yönetim işlevlerini içeren gerçek zamanlı olmayan yazılımdır. SYY yazılımı kendi içinde kullanıcı yönetimi, içsel dahili test sonucu sorgulama, Şekil 2 : HAKY Bölüntü Mimarisi Gerçek zamanlı yazılım olan HAKY yazılımında yazılım bölüntüler (partition) halinde IMA mimarisine uygun olacak şekilde tasarlanmıştır. HAKY bölüntü mimarisi Şekil-2 de verilmektedir. Bölüntü mimarisi uygulama üzerinde zaman 285

determinizmi sağlamakta ve bellek koruması ile farklı bölüntülerde çalışan uygulamaların birbirine olumsuz etkisi olmamasını garanti etmektedir. 3.5. YKİ Yazılım Geliştirme Araçları YKİ yazılım geliştirme ortamında kullanılan araçlar Tablo- 1 de verilmektedir. HAKY yazılımında bölüntüler arasında veri iletişimi amacıyla UDP, Shared Memory, Integrity Connection ve VME veri iletim yöntem ve protokolleri kullanılmaktadır. Yazılım mimarisinde veri iletim fonksiyonları ayrı kütüphaneler olarak geliştirilmiş olup iş fonksiyonlarını içeren yazılım parçalarından izole edilmiştir. Aynı zamanda işletim sistemine özgü fonksiyonlar da ayrı bir kütüphane olarak tasarlanmış ve uygulanmıştır. Bu yöntem sayesinde veri iletişim ya da işletim sistemi seviyesindeki değişiklikler sadece ilgili katmanı etkileyecek, diğer uygulama parçaları bundan etkilenmeyecektir. 3.4. YKİ Yazılım Geliştirme Metodolojisi YKİ gerçek zamanlı yazılımları elle (manuel kodlama) ve model tabanlı tasarım ve otomatik kod üretme yöntemlerinin bir arada kullanılmasıyla geliştirilmiştir. Manuel kodlama için C programlama dili kullanılmış olup model tabanlı tasarım aşağıda detayları verilen SCADE Suite ve Virtual Applications Prototyping System (VAPS) araçları ile gerçekleştirilmiştir. C dili donanıma yakınlığı, yüksek performansı ve yaygın kullanımı ile gerçek zamanlı güvenlikkritik yazılımlar için halen endüstri standardı olma özelliğini korumaktadır. Yazılım içinde genel entegrasyon, alt seviye girdi-çıktı (I/O) yönetimi, çizelgeleme (scheduling) ve mesaj iletişim gibi fonksiyonlar bu dil kullanılarak manuel olarak kodlanmıştır. Diğer taraftan, [5] da belirtilen avantajlarının da değerlendirilmesiyle yazılımda mümkün olan bölümlerde model tabanlı tasarım ve geliştirme kullanılmıştır. HAKY yazılımının kullanıcı arayüz bileşenlerinin yaklaşık %90 lık bölümü VAPS geliştirme aracı kullanılarak ve kullanıcı arayüz harici bileşenlerin de yaklaşık %70 lik bölümü SCADE geliştirme aracı kullanılarak geliştirilmiştir. Geliştirilen modellerden üretilen kaynak kodlar herhangi bir değişiklik yapılmadan derlenerek hedef ortamda çalışan uygulamalar üretilmektedir. Model tabanlı geliştirilen yazılım bileşenlerinde ortaya çıkan düzeltme/güncelleme ihtiyaçları doğrudan ilgili modeller üzerinde yapılmakta ve kod üretimi tekrarlanarak yapılan değişiklikler uygulamalara yansıtılmaktadır. YKİ gerçek zamanlı olmayan yazılımları nesneye yönelik tasarım ve programlama yöntemi kullanılarak gerçekleştirilmiştir. Bu yöntemde öncelikle yazılım gereksinimlerinden türeyen tasarım modelleri (sınıf, aktivite, sıralama diyagramları) Geliştirme Ortamı ve Araçları başlığı altında verilen tasarım araçları ile modellenmiş; daha sonra bu tasarım modelleri kodlanarak hedef ortama taşınmıştır. Gerçek zamanlı olmayan YKİ yazılımları C# programlama dili ile Microsoft.NET platformunda geliştirilmiştir. Yazılım Adı Esterel SCADE Presagis VAPS Tablo 1 : Yazılım Geliştirme Araçları IBM Rational Doors Enterprise Architect GreenHills Multi Microsoft Visual Studio Eclipse Tortoise SVN Fonksiyonu Model tabanlı tasarım Model tabanlı grafik tasarım Gereksinim Yönetim Tasarım Konfigürasyon Yönetimi Aşağıda sertifiye edilebilir kod üreten model tabanlı yazılım geliştirme araçlarından kısaca bahsedilmiştir. SCADE Suite Esterel Technologies firmasının bir ürünü olan SCADE Suite; aviyonik, ulaşım, enerji gibi sektörler için güvenlik-kritik gömülü yazılımların geliştirilmesinde yaygın şekilde kullanılan model tabanlı bir yazılım geliştirme aracıdır. SCADE aracı kullanılarak geliştirilen yazılım bileşenleri için yazılımın sağlaması gereken durumlar ve durumlar arası geçiş koşulları Durum Makineleri (State Machine) aracılığıyla modellenmekte ve her bir durum içerinde yapılması gereken işlemler için Blok Diyagramlar geliştirilmektedir. HAKY yazılımı içinde geliştirilmiş örnek bir Durum Makinesi Şekil- 3 de, örnek bir Blok Diyagram ise Şekil-4 de verilmiştir. Şekil 3 : Örnek Durum Diyagramı 286

Şekil 4 : Örnek Blok Diyagram Araç tarafından üretilen kodun güvenilirliği sayesinde geliştirme ekibi geleneksel geliştirme yöntemlerinde önemli zaman alan programlama hatalarının düzeltilmesi, programlama dilinin etkin kullanımı gibi konular için enerji harcamak zorunda kalmamakta ve tüm dikkatini yazılımın işlevselliğine ve performans özelliklerine yöneltebilmektedir. VAPS Presagis firmasının bir ürünü olan VAPS, gömülü sistemlerde ve özellikle aviyonik projelerinde grafik tabanlı insan makine arayüz uygulaması üretmek için yaygın olarak kullanılmakta olan bir geliştirme aracıdır. Temel grafik bileşenler hiyerarşik yapıda gruplanarak Şekil 5 te bir örneği verilen, HAKY insan makine arayüzünden alınmış, karmaşık grafik nesneler üretilmekte ve bu sayede kullanıcı arayüz ekranlarında yer alan Attitude Direction Indicator, Kadran, Metin Kutusu gibi göstergeler yaratılmaktadır. Şekil 5 : Örnek Gösterge VAPS tasarım aracı ile görsel bir ortamda tasarlanan Düğme, Anahtar, Potansiyometre gibi girdi nesneleri Metin Alanı, Yükseklik Göstergesi, Etiket, Kadran, ADI gibi çıktı nesnelerine veri besleyecek şekilde kurgulanmaktadır. Tasarlanan modellerin çalışma-zamanı davranışları aracın benzetim özelliği kullanılarak girdi nesneleri aracılığıyla geliştirme ortamında gözlenmekte, beklenmeyen davranış ve hatalar hedef ortam için kod üretmeye ihtiyaç kalmadan belirlenmektedir. Hedef ortamda hata ayıklamak ile kıyaslandığında bu yaklaşım geliştirme ve hata düzeltme zamanından önemli ölçüde tasarruf edilmesini sağlamaktadır. 3.6. YKİ Yazılım Süreçleri YKİ yazılımları RTCA DO-178B rehber dokümanı baz alınarak oluşturulan TAI yazılım süreçlerine uygun olarak geliştirilmiştir. Yazılım üç artırım halinde geliştirilmiş ve her bir artırımda aşağıda belirtilen süreç adımları tekrarlanmıştır. Yazılım geliştirmede aşağıdaki alt süreçler uygulanmıştır : Planlama : Yazılımla ilgili planlama faaliyetleri bu alt süreçte gerçekleştirilmiş, Yazılım Geliştirme Planı, Yazılım Doğrulama Planı, Yazılım Konfigürasyon Yönetim Planı, Yazılım Kalite Güvence Planı hazırlanmış, gözden geçirilmiş ve yayımlanmıştır. Gereksinim : Yazılıma ait üst seviye gereksinimler bu alt süreçte gerçekleştirilmiştir. Bu süreç sonunda Doors ortamında yazılım gereksinimleri oluşturulmuş, gözden geçirilmiş ve yayımlanmıştır. Sistem gereksinimleri ile yazılım gereksinimleri arasındaki izlenebilirlik Doors ortamında kurulmuştur. Tasarım : Yazılıma ait tasarım bu alt süreçte gerçekleştirilmiştir. Yazılım tasarımında öncelikle yazılım konfigürasyon birimleri belirlenmiş, daha sonra bunlar arasındaki arayüzler belirlenerek akışlar ortaya çıkarılmıştır. Her bir yazılım konfigürasyon biriminin detay tasarımları yapılmış; gerçek zamanlı yazılımlar için bölüntü çizelgeleme süreleri (milisaniye olarak), tüm yazılımlar için mesaj ara bellek büyüklükleri hesaplanmıştır. Bu süreç sonunda Yazılım Tasarım Tanımları dokümanı oluşturulmuş, gözden geçirilmiş ve yayımlanmıştır. Yazılım tasarımı ile gereksinimler arasındaki izlenebilirlikler kurulmuştur. Gerçekleştirim/Kodlama : Yazılıma ait model tabanlı tasarım/kodlama faaliyetleri bu alt süreçte gerçekleştirilmiştir. Tasarım sürecinde detay tasarımları yapılan yazılım birimleri elle kodlama/model tabanlı tasarım yöntemleri ile gerçekleştirilmiştir. Bu süreç sonunda yazılıma ait elle oluşturulan kaynak kodu gözden geçirilmiş ve yayımlanmıştır. Model tabanlı tasarım bileşenlerine ait kod otomatik olarak üretilmiştir. Bu kod kalifiye olduğu için buna ait ayrıca bir gözden geçirme yapılmamıştır. Entegrasyon : Yazılım geliştirmede sürekli entegrasyon ilkesine bağlı kalınarak yazılımlar arasında ve yazılımlarla donanım arasında geliştirme evresi boyunca entegrasyon sağlanmıştır. Bu yöntem sayesinde yazılımın sonunda ayrıca bir entegrasyon süresi ihtiyacı oluşmamış, geliştirme boyunca entegre olarak test edilmiş olan yazılım parçaları doğrulamaya daha az hatayla teslim edilmiştir. Doğrulama : Yazılım konfigürasyon parçaları bu süreçte doğrulanmış, bu amaçla test durumları yazılarak gözden geçirilmiş ve yayınlanmıştır. Doğrulamada DO-178B nin vurguladığı bağımsız doğrulama ilkesine bağlı kalınmıştır. Konfigürasyon Yönetimi : Tüm yazılım alt süreçleri boyunca gerçekleştirilen konfigürasyon işlevleri bu süreç bünyesinde ele alınmıştır. Bu kapsamda bütün yazılım ürünlerinin (kod, modeller, dokümanlar) versiyon kontrolde tutulması sağlanmış; projede yapılan bütün gözden geçirmeler kayıt altına alınmış ve versiyon kontrolde saklanmış; yazılımlara ait resmi sürümler konfigürasyon yöneticisi tarafından, hazırlanan dokümana uygun olarak yapılmıştır. 287

Kalite Güvence : Tüm yazılım alt süreçleri boyunca gerçekleştirilen yazılım kalite güvence işlevleri bu süreç bünyesinde ele alınmıştır. Yazılımın tüm evrelerinde sürece uygunluk ve yazılımın kalite nitelikleri kalite güvence temsilcisi tarafından yapılan denetimlerce denetlenmiş, bulunan bulgular kayıt altına alınarak gerekli düzeltmeler yapılmıştır. 4. Sonuçlar İnsansız Hava Aracı kullanım alanlarının giderek arttığı günümüzde bu sistemlere ait yazılımların zaman ve maliyet gibi ölçütlerinin yanında güvenlik kritik olma ihtiyaçları ön plana çıkmaktadır. Bu bildiride ANKA Geliştirme Programı kapsamında geliştirilen Yer Kontrol İstasyonu yazılım yaklaşımları ve kullanılan araçları tanıtılmıştır. Yer Kontrol İstasyonu yazılım geliştirme deneyiminden elde edilen sonuçlar şu şekilde sıralanabilir : Yazılımın, DO-178B rehber dokümanı baz alınarak oluşturulan yazılım süreçlerine uygun olarak geliştirilmesi başlangıçta zaman ve maliyeti artırsa da yazılımın daha planlı ve daha az hatayla ortaya çıkmasına yardımcı olmaktadır. ANKA Programındaki kullanım tecrübesi, geleneksel yöntemler ile kıyaslandığında model tabanlı geliştirme yaklaşımının üretilen yazılımların güvenilirliğine ve geliştirme ekiplerinin üretkenliğine önemli katkı yaptığını göstermektedir. IMA (Integrated Modular Avionics) mimarisinde öngörülen bölüntü yapısının kullanılması yazılım parçalarının bağımsız olarak geliştirilebilmesi ve doğrulanabilmesini sağlamakta; yazılımın modülerliği ve genişlemesine imkan vermektedir. 5. Teşekkür Yazılım geliştirme çalışmalarını birlikte yürüttüğümüz değerli grup arkadaşlarımıza, ve yazılımın geliştirilmesinde bizden desteklerini esirgemeyen tüm yöneticilerimize katkıları için teşekkür ederiz. 6. Kaynakça [1] Esterel Technologies, SCADE Suite, http://www.esterel-technologies.com/products/scadesuite/ [2] Presagis, VAPS, http://www.presagis.com/products_services/products/emb edded/hmi_modeling_and_display_graphics/ [3] Nato, Nato Stanag 4586 http://www.cdlsystems.com/index.php/stanag4586 [4] Panicker, S., Applying DO-178B For IV & V of Safety Critical Software http://www.scribd.com/doc/46780104/applying-do178b [5] Krasner, J., Model Driven Development of Certifiable Software: A Best Practice for Safety-Critical Applications, http://embeddedforecast.com/ 288