• Sonuç bulunamadı

Model Tabanlı Geliştirme Teknolojisi Kullanılarak Geliştirilen Hava Aracı Yazılımlarının Sertifikasyon Sürecine Yönelik Öneriler

N/A
N/A
Protected

Academic year: 2021

Share "Model Tabanlı Geliştirme Teknolojisi Kullanılarak Geliştirilen Hava Aracı Yazılımlarının Sertifikasyon Sürecine Yönelik Öneriler"

Copied!
6
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Model Tabanlı Geliştirme Teknolojisi Kullanılarak

Geliştirilen Hava Aracı Yazılımlarının Sertifikasyon

Sürecine Yönelik Öneriler

Tuğba Saraç

Türk Havacılık Uzay Sanayii, Havacılık Bulvarı No:17, Ankara, Türkiye tsarac@tai.com.tr

Özet. Teknolojik gelişmelerin hızla ilerlemesi, ihtiyaç duyulan ürünler ile ilgili alternatiflerin çoğalmasını ve müşterilerin çok sayıda alternatife daha kolay bir şekilde erişmesini sağlamıştır. Bu durum üreticiler arasında sıkı bir rekabetin oluşmasına neden olmuştur. Artan rekabet koşullarında üreticiler, bir adım öne geçebilmek için müşteri isteklerine daha az zamanda daha hızlı cevap verebilecek yeni teknoloji arayışlarına gitmişlerdir. Bu teknolojilerden birisi de, üreticilere sağladığı takvim ve maliyet avantajı nedeni ile havacılık sanayiinde son dönem-lerde öne çıkan model tabanlı geliştirme teknolojisidir. Model tabanlı geliştirme teknolojisi, geleneksel yazılım geliştirme yaklaşımına alternatif olarak sunulan sistem ve yazılım seviyesindeki faaliyetlerin iç içe geçtiği yeni bir geliştirme tek-nolojisidir. Bu teknolojinin telekomünikasyon gibi emniyet kritik olmayan yazı-lımların geliştirilmesinde kullanımı daha eski olsa da, emniyet kritik olan ve ser-tifikasyon içeren hava aracı yazılımlarının geliştirilmesinde kullanımı oldukça yenidir. Bu çalışmada, MTG teknolojisinin havacılık sektöründe kullanımı, sağ-ladığı önemli avantajlar ve ürün geliştirime süreçlerinde dikkat edilmesi gereken hususlar sunulmuştur. İlave olarak model kapsama analizi ile yapısal kapsama analizi arasındaki fark bir örnek üzerinden anlatılmıştır.

Anahtar kelimeler: Model Tabanlı Geliştirme, Hava Aracı Sertifikasyonu, Model Kapsama Analizi.

Suggestions for the Certification Process of

Air-borne Software Developed Using Model-Based

Development Technology

Tuğba Saraç

Türk Havacılık Uzay Sanayii, Havacılık Bulvarı No:17, Ankara, Türkiye tsarac@tai.com.tr

(2)

Abstract. The rapid improvements of technological developments has led to inc-rease alternatives and to enable customers to access these alternatives more easily and quickly. This has led to an increase in competition among companies. Incre-asing competition conditions have led companies to seek alternative technologies to produce products in less time and less cost. One of these technologies is the model-based development technology, which is very popular due to the time and cost advantages it provides to companies. Model-based development technology is a new development technology used as an alternative approach to the traditio-nal software development approach. Although the use of this technology in the development of non-safety critical software such as telecommunications is older, the use of this technology in the development of safety critical software such as aircraft software is relatively new. In this study, the use of this technology in the aviation, the advantages it provides, the issues that need to be considered during the development processes are explained.

Keywords: Model-Based Development, Airborne Software Certification, Model Coverage Analysis.

1

Giriş

Son yıllarda hızla gelişen teknolojiye paralel olarak, havacılık alanında kazanılan bilgi birikimi, ürün geliştirme süreçlerinde kullanılan yetenekli araçlar, rakip firmaların üret-tiği ürün çeşitliliği ve daha bilinçli müşteri profili sayesinde, daha kabiliyetli ürünler daha ekonomik bir şekilde tasarlanarak üretilebilmektedir. Önceki dönemlerde dona-nımlar aracılığı ile icra edilen birçok hava aracı fonksiyonu günümüz hava araçlarında yazılım ile çok daha hızlı, etkin ve ekonomik bir şekilde icra edilebilmektedir.

Bununla birlikte, daha kabiliyetli hava araçları beraberinde daha karmaşık sistemleri de getirmiştir. Projelerde sıklıkla görülen takvim ve maliyet baskısı ile birlikte, bu kar-maşık sistemlerde çalışan yazılımların geliştirme ve doğrulama süreçleri de hataya daha açık hale gelmiştir. İlave olarak, geleneksel yazılım geliştirme yaklaşımı ile geliştirilen emniyet kritik yazılımları doğrulamak için harcanan süre toplam proje süresinin %50’si ile %70’i arasındadır [1]. MTG teknolojisi ile sistemin hataları erken aşamalarda yaka-lanabildiği ve kod otomatik olarak üretilebildiği için ürünler daha kısa zamanda geliş-tirilebilmekte ve modelleme araçlarının simülasyon avantajları da kullanılarak sistem davranışı, farklı koşullarda henüz kod dahi üretilmeden projenin erken aşamalarında test edilebilmektedir [1].

MTG teknolojisinin sertifikasyon içeren hava araçlarında kullanımı ile ilgili kurallar ilk kez 2008 yılında Avrupa Sivil Havacılık Otoritesi (EASA) tarafından yayımlanmış-tır [2]. 2011 yılında RTCA (Radio Technical Commission for Aeronautics) tarafından yayınlanan 178C dokümanının 331 eki ile bu kurallar son halini almıştır. DO-178C dokümanı, hava aracında kullanılacak yazılımların, yaşam döngüsü süreçlerini, bu süreçlerin amaçlarını ve üretilecek verileri anlatmaktadır [3].

MTG teknolojisi telekomünikasyon veya sertifikasyon içermeyen hava araçlarında kullanımı daha eski olsa da, sertifikasyon içeren hava aracı yazılımlarında kullanımı yenidir. Havacılık sektöründe ortalama proje sürelerinin 3-4 yıl olduğu düşünülürse,

(3)

kuralları ilk kez 2008 yılında tanımlanan MTG teknolojisi ile geliştirilerek sertifiye edilen çok fazla hava aracı olmaması normaldir. MTG teknolojisi, Airbus A380 uça-ğında, uçuş kontrol sistemleri, oto pilot, uçuş ikaz sistemleri, yakıt yönetimi, iniş ta-kımı, buzdan korunma sistemi, elektriksel yük analizi sistemlerinin ve bu sistemlerin içinde yer alan yazılımlarında geliştirilmesinde kullanılmıştır [4].

2

MTG Teknolojisi ve Başlıca Avantajları

Model, analiz, doğrulama, simülasyon, kod oluşturma veya bunların kombinasyonu için kullanılmak üzere, sistemden yazılıma akacak öğelerin soyut gösterimidir [5]. MTG teknolojisi ise, sistem davranışlarının ve/veya yazılım gereksinimlerinin, model-lerle ifade edilebildiği bir geliştirme teknolojisidir [5]. MTG teknolojisi ile modelleme aracında geliştirilen sistemin doğrulama çalışmalarına, daha yazılım kodu üretilmeden başlanabilmekte, sistemdeki hatalar ve olası performans iyileştirme ihtiyaçları projenin erken fazlarında tespit edilebilmektedir. MTG teknolojisinin bir başka avantajı da, oto-matik kod üretmeye imkan vermesi ve üretilen kodun hava araçlarında kullanılarak ser-tifiye edilebilmesidir. MTG teknolojisi ile otomatik üretilen kod, DO-331 rehber dokü-manına uygun geliştirilirse hava araçlarında kullanılarak sertifiye edilebilir. Bu tekno-lojide, sistem seviyesinden hazırlanan modellerden direkt kaynak kod üretilebildiği için, üst seviye ve alt seviye yazılım gereksinimleri, yazılım mimarisi ve kodun oluştu-rulmasına gerek kalmaz. Bu verileri oluşturmak ve gözden geçirmek için ayrılan süre, sistemin farklı koşullardaki davranışını ve uçuş emniyetini etkileyebilecek durumları incelemek için kullanılabilir. Ayrıca, bu aşamalarda oluşabilecek insan hataları da azal-tılmış olur [4].

2.1 MTG Teknolojisinde Dikkat Edilmesi Gereken Hususlar ve Öneriler

MTG teknolojisinde kod genellikle modelden otomatik olarak üretildiği için yazılı-mın davranışı modele bağlıdır. Model sistemi tam olarak temsil etmiyor veya hata içe-riyor ise, modelden üretilen yazılım da beklenen fonksiyonu icra etmez. Bu teknolojide geliştirilecek modelin anlatan yazılı gereksinimler mutlaka olmalıdır [2]. Model, bu ge-reksinimlere göre geliştirilmeli ve soru listeleri kullanılarak tecrübeli sistem/yazılım mühendisleri tarafından yeterli sürede gözden geçirilmelidir.

MTG teknolojisi ile üretilecek yazılım hava araçlarında kullanılacak ise bu araçların kalifiye olması gerekir [3]. İnsan tarafından yapılan bir yazılım aktivitesi, araç tarafın-dan yapıldığı için insan tarafıntarafın-dan tekrar yapılmıyor ise veya araç aktiviteyi otomatik-leştiriyor ise ve aracın ürettiği çıktı gözden geçirilmiyor ise bu aracın kalifiye edilmesi gereklidir. Örneğin bir yazılım testinin geçti / kaldı kararını, beklenen değer ile hesap-lanan değeri karşılaştırarak bir araç veriyor ise, bu aracın kalifiye edilmelidir.

Sistem mühendislerinin modelleme yaptığı araçlar ile yazılım mühendislerinin oto-matik kod üretimi için kullandıkları araçlar genellikle farklıdır. Sistem mühendislerinin kullandığı araçların kalifiye edilmesi zor ve pahalıdır. Geliştirilecek sistemin ve yazılı-mın yapısına göre modelleme, kalifiye olmayan ve dolayısıyla ürettiği kod hava

(4)

ara-cında kullanılamayan araçlarda da yapılabilir. Geliştirilen modelden otomatik kod üre-tilecek ise, modellerin kalifiye bir araca aktarılması ve aktarımın sorunsuz olduğunun doğrulanması gerekir. Şekil 1’de sertifikasyon içeren projelerde MTG teknolojisinin kalifiye olan/olmayan araçlar ile kullanımlarına yönelik tavsiyeler verilmiştir.

Şekil 1. Araçların Kalifikasyon Durumuna Göre Yapılabilecek Aktiviteler MTG teknolojinin kullanımında dikkat edilmesi gereken bir diğer önemli nokta da modelin konfigürasyon ve değişiklik yönetim süreçlerdir. Modellerin nasıl isimlendiri-leceği, modelin geliştirildikleri gereksinimler ile modelden üretilen kod arasındaki uyumluluğun nasıl takip edileceği gibi konular yazılım planlarında tanımlanmalıdır.

Yazılımın hava aracında yükleneceği hedef ortam ile simülasyon ortamı (kullanılan donanım, işlemci, işletim sistemi gibi) tamamen aynı olmayabilir. Bu nedenle, kaynak kodun hedef bilgisayar ile uyumluluğu, modellerin model standardına uyumluluğu ve kurulan izlenebilirliklerin doğruluğu model simülasyonu ile gösterilemez [5].

Organizasyondaki araç alt yapısına bağlı olarak, modelden otomatik kod üretimi gibi, simülasyon durum ve prosedürleri de modelden otomatik olarak üretilebilir. An-cak burada dikkat edilmesi gereken önemli bir husus vardır. Hem kaynak kod, hem de simülasyon durum ve prosedürleri aynı modelden üretilirse gözden geçirme esnasına tespit edilemeyen modeldeki olası bir hata, hatalı modelden otomatik olarak üretilmiş simülasyon prosedürleri ile yakalanamayabilir. Bu nedenle, simülasyon test durum ve prosedürleri modelden otomatik olarak üretilse bile, bu prosedürlerin modelin üzerinde olan yazılı gereksinimler ile mutlaka izlenebilirlikleri kurulmalıdır.

2.2 Yapısal Kapsama Analizi ve Model Kapsama Analizi Karşılaştırması

Yapısal Kapsama Analizi (YKA) yazılım test koşularından sonra, yazılım testi ile kod içinde çalışmayan kod blokları olup olmadığını tespit edebilmek için kaynak kod üzerinde yapılan analize denir [3]. Model kapsama analizi (MKA) ise, en seviyedeki

(5)

yazılı gereksinimlerine göre hazırlanan simülasyon prosedürleri ile yapılan testlerde çalıştırılamayan model elemanı olup olmadığını tespit etmek için kullanılır [5]. Çalış-tırılamayan model elemanı demek, doğrulanamayan sistem gereksinimi demektir. MKA analizinin asıl amacı, çalıştırılamadığı için doğrulanamayan sistem gereksinim-lerini tespit etmektir [5]. YKA kaynak kod üzerinden yapılırken, MKA model üzerin-den yapılır. Ürün geliştirme yaşam döngüsüne bakıldığında MKA, YKA’dan çok daha erken aşamada yapılmaktadır. Bu sayede eksik bir kapsama var ise, bu eksiklik gele-neksel yazılım geliştirme yönteminde yazılım testlerinden sonra yapılabilen YKA aşa-masında tespit edilirken MTG teknolojisinde modeller geliştirildikten sonra tespit edi-lebilir. Kavram olarak birbirine yakın olan bir iki analizlerin farkını açıklamak üzere aşağıda bir örnek verilmiştir. Verilen örneğin temel amacı, MKA’dan farklı olarak YKA’nın geliştirilen/üretilen koda göre değişebileceğini vurgulamaktır.

Bir hava aracındaki en önemli fonksiyonlardan birisi, pilota hava aracının yön ve durum bilgisini gösterme fonksiyondur. Kritik fonksiyonlar genellikle olası cihaz arı-zası, sensör arızası gibi arızalara karşı sistem seviyesinde yedeklenir. Bu örnekte, hız bilgisini sağlayan 3 farklı cihaz olduğu, bu cihazlardan gelen ve limit içinde olan hız verilerinin ortalaması ile hava aracının hızı hesaplanmıştır. Modele ait yazılı gereksi-nimlerden birisi aşağıda verilmiştir:

Aşağıdaki koşullar sağlandığında; a. Cihaz #1 geçerli bir veri sağladı ise b. Cihaz #2 geçerli bir veri sağladı ise c. Cihaz #3 geçerli bir veri sağladı ise aşağıdaki işlemler yapılacaktır;

a. Ortalama_Hiz değerine, geçerli verilerin ortalamasını ata b. Hesaplanan Ortalama_Hiz değerini ekranda göster

Bu cihazların normal koşullarda [0,100] değerleri arasında veri gönderdiği ve bu aralıkta olan verilerin “geçerli”, onun dışındaki verilerin ise, “geçersiz” olduğu varsa-yılmıştır. Böyle bir örnekte geliştirilen doğru bir model, limitler içinde gelen girdiler ile simüle edildiğinde tüm model elemanları çalışacağı için %100 model kapsaması sağlanacaktır. MTG teknolojisinde kod genellikle otomatik üretilse bile, kodun el ile geliştirildiği MTG uygulamaları da mevcuttur (Bknz. DO-331, Tablo 1-1, Example 3). Bu örneğe ait Şekil 2.’de verilen kod yazılmış olsun. Kod incelendiğinde “else” blo-ğunda, sensörlerin tamamından geçerli bir değer gelmediği durumlar için hız değerinin sıfır olarak atandığı görülmektedir. Bu kod, yazılım mühendisi tarafından sensörlerden geçerli bir veri gelmediği durumda sistemin davranışını tanımlamak üzere eklenmiş bir kod olup, bu davranış gereksinimde tanımlı değildir. Bu nedenle gereksinim bazlı ha-zırlanan simülasyon prosedürlerinde bu senaryoya yönelik adım olmaz. Dolayısıyla li-mit içinde verilen test girdileri ile yapılan testler ile “else” bloğu test edilememiş, bir başka deyişle eksik yapısal kapsama oluşmuş olur. Bu örnekten de görülebileceği gibi, %100 model kapsaması sağlansa bile yapılan kodlamaya göre %100 yapısal kapsama sağlanamamış olabilir. YKA ile test edilmemiş kod blokları tespit edilerek gerekli dü-zeltmeler yapılmalıdır. Aksi halde, test edilmemiş kod blokları uçuş emniyetini olum-suz yönde etkileyebilir.

(6)

Şekil 2. Ortalama hız değerini hesaplayan örnek kod

3

Sonuç

Son yıllarda oldukça popüler olan MTG teknolojisi ile geliştirilen hava aracı yazılım-ları, DO-331 rehber dokümanında verilen kurallar sağlandığında hava araçlarında kul-lanılarak sertifiye edilebilmektedir. Bu çalışmada, kullanıcılarına takvim ve maliyet avantajı sağlayan bu teknolojinin kullanımı ile ilgili önemli bulunan konular kısaca açıklanmıştır. MTG teknolojisi kullanımı ile ilgili karar verirken, yazılımın sertifikas-yon ihtiyacı, emniyet kritiklik seviyesi, yazılım ve sistem ekibinin kullanılacak araçlar ve DO-331/DO-178C ile ilgili tecrübesi, geliştirilecek yazılımın yapısı, karmaşıklığı, şirketin sahip olduğu araç altyapısı ve bu araçların kalifikasyon durumları değerlendi-rilmelidir. Özellikle daha önce bu teknoloji sertifikasyon içeren projelerde kullanıl-madı ise, mümkünse danışmanlık alınması tavsiye edilmektedir. Projenin başında DO-331 dokümanında belirtilen amaçların ve yaşam döngüsünde karşılaşılabilecek olası problemlerin yazılım ve sistem ekibi ile birlikte tartışılması ve proje takvimine MTG teknolojisi ile ilgili tüm aktivitelerin (model gözden geçirme aktivitesi ve MKA aktivi-tesi gibi) eklenmesi tavsiye edilmektedir.

Kaynakça

1. Mats P.E. Heimdahl, Safety and Software Intensive Systems: Challenges Old and New, IEEE, 2007

2. EASA, Software Aspects of Certification, SWCEH-002 Issue 1, May 2008

3. RTCA, “DO-178C Software Considerations in Airborne Systems and Equipment Certifica-tion”, 2011.

4. Rierson L, “Developing Safety-Critical Software”, pp. 340-380, January 2013

RTCA, “DO-331 Model-Based Development and Verification Supplement to DO-178C and DO-278A”, 2011

Şekil

Şekil 1. Araçların Kalifikasyon Durumuna Göre Yapılabilecek Aktiviteler  MTG teknolojinin kullanımında dikkat edilmesi gereken bir diğer önemli nokta da  modelin konfigürasyon ve değişiklik yönetim süreçlerdir

Referanslar

Benzer Belgeler

TİYATROSU Saat RUMELİHİSARI Saat YEDİKULE Saat GÜLHANE PARKI Saat. 20 İST.O EVL.SENF.O RK AÇILIŞ KONSERİ

Farklı rezervasyon sistemleri için kullanılması amaçlanan bu sistem, kullanıcıların iş modellerini görsel ara yüzler ile tanımlamalarına ve bu tasarımdan web

“Yatık Emine”, “Çiçek Emine”, “Sarı Bal” gibi kadınlar “uygunsuz takımından”dır.. Zavallı delikanlı parayı yiyip bitirince Reji kolcusu yazılmış

Araştırmadan elde edilen son bulguya göre lise öğrencilerinin okul iklimi algıları ile okula bağlılıkları birlikte analiz edildiğinde öğrencilerin akademik

Gıda Teknolojisi dersinin amacı gıda maddelerinin üretim aşamaları ve her aşamada gıda kalitesi ve gıda güvenliği açısından dikkat edilmesi

Sakatat taze olarak tüketime sunulabildiği gibi, et ürünlerinde de hammadde olarak kullanılmaktadır....

İzleme : Belirlenen kritik kontrol noktalarının kontrol altında olup olmadığını ve kritik limitlerin aşılıp aşılmadığını saptamak ve gerektiğinde düzeltici

Türkiye deki linyitlerin nem oranları genel ola rak yüksektir. Dünyada nem oranı % 15 ve daha düşük olan linyitler, değerli linyitler olarak işlem görmektedir. Bu