İklim Değişikliği ile Mücadelenin Temelleri ve Sürdürülebilir Gelecek İçin İlk Adımlar: Ariane Roketleri

1970 yılında imkansızlıkların aşılması, uzay macerasında bağımsızlık isteği ve yeni hedeflerin hayali ile Avrupa’da bir grup mühendis alçak irtifa ve bilimsel misyonlara ait uydu ve aparatlarını uzaya taşımak amacıyla bir fırlatma roketi geliştirmeye başladı. 1979 yılı haziran ayında çalışma, ilk olgun meyvesini verdi ve Ariane 1 roketi bu fırlatmada Fransız bir araştırma uydusu olan CERISE (Cérès et l’Interferométrie à Résonance Infrarouge pour les Sondes Extérieures) yükünü uzaya çıkardı. Uydu, atmosfer araştırmaları ve uzay bilimleri üzerine çalışmalar yapmak amacıyla tasarlanmıştı. CERISE’in topladığı veriler, atmosferdeki aerosol ve gazların dağılımı hakkında önemli bilgiler sağladı. Bu veriler, iklim değişikliği modellerinin geliştirilmesine ve atmosfer dinamiklerinin anlaşılmasına katkıda bulunmuş ve bugün yapılan bir çok iklim değişikliği çalışmasına da halen referans sağlamaktadır.

Aerosoller atmosferde bulunan küçük parçacıklardır ve iklim üzerinde önemli etkilere sahip olabilirler. Aerosol gazları volkanik patlamalar, endüstriyel emisyon ve diğer doğal/yapay kaynaklar ile ortaya çıkabilir ve güneş ışığını yansıtarak dünya yüzeyine ulaşan ışın miktarının azalmasına neden olabilir. CERISE uydusunun kaydettiği aerosol gazlarının dağılımına ait veriler, bilim insanlarının atmosferdeki partiküllerin iklim sistemine olan etkilerini anlamalarına yardımcı oldu. Bu başarı, Avrupa’nın uzay programında önemli bir adım olarak kabul edildi ve gelecekteki Ariane roketlerinin geliştirilmesine zemin hazırladı.

Takvimler 1990 yılını gösterdiğinde galaksilerin oluşumu, karanlık enerji ve evrenin yaşını belirlemeye yönelik önemli gözlemler sağlayacak ve astrofizik alanında devrim yaratacak olan Hubble Teleskobu Amerikan Ulusal Havacılık ve Uzay Dairesi (NASA) tarafından uzaya gönderilmişti.

Geliştirme Sürecinde Karşılaşılan Hatalar En İyi Versiyonun Ortaya Çıkmasını Sağlar

1996 yılı Haziran ayına gelindiğinde Avrupalı geliştirme ekibinin de çalışmaları hız kazanmış ve Ariane 5 roketi geliştirilmişti. 1970 yılında başlayan geliştirme serüveni 26 yıllık sürede sürekli iyileşerek devam etmiş ve bu güne kadar 69 başarılı fırlatma gerçekleştirilmişti. Proje geliştirme ve yazılım tarihine geçecek olan Ariane 5 roketinde 2500 kilogram olan taşıma kapasitesi 10.000 kilograma kadar çıkartılmıştı. Avrupa Uzay Ajansı (ESA), geliştirilen Ariane taşıma roketi ile birlikte Herschel Uzay Gözlemevi ve Planck uydusunu yörüngeye götürecek, nihayetinde evrenin yaşını hesaplayacak bilgileri toplayarak uluslararası bir başarıya imza atacaktı.

Ariane 5, Fransa’nın Guyana bölgesindeki Kourou Uzay Merkezi’nden fırlatıldı. Başlangıçta her şey yolunda gibi görünüyordu. Ancak yaklaşık 37 saniye sonra, roketin yörüngeye yerleşmesi için gerekli olan sistemlerde bir yazılım hatası meydana geldi ve roket, kendi kendini yok etme mekanizması devreye girerek imha edildi. Bu durum tarihin en pahalı yazılım hatalarından biri olarak kayıtlara geçti.

Yapılan araştırmalar fırlatma sırasında bir veri tipi hatası meydana geldiğini gösteriyordu. Ariane 5 roketinin fırlatma sistemi yazılımı, roketin bir önceki versiyonu olan Ariane 4 geliştirmesinden gelen kodlarla oluşturulmuştu. Fakat Ariane 5, bir önceki versiyondan daha güçlü motorlara ve daha yüksek taşıma kapasitesine sahipti. Roketin hız bilgisi, bir önceki versiyonda tamsayı (integer) formatında işleniyordu. Ariane 5’te ise daha büyük ve hassas bir format olan kayan nokta (floating-point) sayılara dönüşmesi gerekiyordu. Bu dönüşüm sırasında hız verileri beklenmedik bir şekilde büyüdü ve bir değişkenin sınırlarını aştı. Hız verisinin negatif veya çok yüksek bir değere ulaşması sistemin çökmesine yol açmıştı. Bu “küçük” hata 500.000.000$ ve geliştirme sürecinin 5 yıl daha uzamasına mâl olmuştu. Tabii ki roketin kendisi ve projenin gecikmesinin yanı sıra güvenilirlik ve itibar kaybı gibi daha geniş etkileri de olmuştu.

Gelinen nokta, yetersiz yazılım test sürecine önemli bir örnek teşkil etti. Yeni bir roketin gereksinimlerine uygun olarak tamamlanmayan yazılım testleri sistemin ihtiyaçlarına cevap verememişti. Belki yeterli vakit olmaması belki de önceki sistemden gelen kodlara olan güven duygusu ile birim ve entegrasyon testlerinin gerçekleştirilmemesi bu 37 saniyenin tarihin en pahalı yazılım hatalarından biri olarak anılmasına neden oldu.

2024 yılı Temmuz ayında son jenerasyonu başarılı bir şekilde fırlatılan Ariane 6 roketi ile Avrupa Uzay Ajansı (ESA), 50 yılı aşan geliştirme süreci tecrübesiyle hızlı bir şekilde değişen ticari fırlatma hizmeti pazarında varlığını tazeledi. Bunun yanı sıra kazanılan tecrübelerin sürece olan katkısı bir kez daha küresel ölçekte kanıtlanmış oldu.

Geliştirilen yüksek teknoloji ürünü bir uzay fırlatıcısı da olsa bir fiziksel geçiş kontrol cihazı da olsa üretim tecrübesi ile harmanlanan bir test süreci Ariane örneğinde olduğu gibi tüm sistemlerin ihtiyacıdır. BioAffix ekosistemi geliştirilirken de aynı hassasiyet benimsenmektedir.

BioAffix Geçiş Kontrol Sistemlerinde Test Süreçleri

Geçtiğimiz günlerde 24.2. versiyonu yayımlanan BioAffix yazılımları, her yazılım yaşam döngüsü periyodunda çeşitli testlere tabi tutulmaktadır. Edinilen bilgi ve bulgular ışığında bir sonraki yazılım versiyonunun mümkün olan en az yazılım hatası ile kullanıcılara sunulması için tüm BioAffix ekipleri titiz bir şekilde çalışmaktadır. Versiyon geçişlerinde kritik hataların yaşanmaması için yazılımın en küçük parçalarına (fonksiyonlar ve metotlar) birim testleri (unit test) uygulanır. Birim testleri, yazılım geliştiriciler tarafından yazılmakta, yürütülmekte ve otomatikleştirilmektedir. Bu testlerin yapılma amacı hata ayıklama (debugging) sürecinin ve kod kalitesinin artırılmasıdır.

Entegrasyon Testleri ile Modüller Arası Uyum

BioAffix yazılımlarına yeni eklenen özelliklere birim testleri uygulandıktan sonra entegrasyon testleri yapılmakta (integration test) ve farklı bileşenlerin bir araya geldiklerinde olması gerektiği gibi çalıştığı kontrol edilmektedir. Entegrasyon testleri modüller arasındaki etkileşimleri kontrol etme amacıyla yapılmaktadır. Örnek olarak; OSDP (Open Supervised Device Protocol) alt yapısı kullanarak haberleşen BioAffix cihazları, durum bilgilerini anlık olarak bağlı bulundukları kontrol paneline bildirebilmekte ve ana kumanda panelinden direkt komut alabilmektedir.

Çevresel cihazlara (Peripheral Device) gönderilecek komutlar çıkışları açma/kapatma, alarm sesi çalma, uyarı ışıklarının renklerinin değişmesi gibi işlevler olabilir. Gönderilen komutlar işlendikten sonra cihazların davranışları sistem akışında belirlendiği şekilde normale dönmelidir. Bu durumda gönderilecek komutlar ve alt yapısına birim testi uygulanırken gönderilen komutların OSDP çevresel cihaz tarafından işlenmesi, normal sistem akışına dönmeleri ve işlevlerini yerine getirmeleri entegrasyon testleri ile doğrulanmaktadır.

Sistem Testleriyle Güvenirliği Sınamak

Her yeni yazılım versiyonunda sistem testleri (system test) yazılımın işlevselliğini, güvenilirliğini ve performasını kontrol etmek amacıyla yapılır. Gerçek kullanıcı senaryoları ile temellendirilen bu testler BioAffix Donanım ve Yazılım Test takımı tarafından titizlikle yapılmaktadır. BioAffix sistemleri sahip olduğu yüksek entegrasyon ve uyum kabiliyeti ile mevcutta kullanılan yaygın tüm sistemler ile uyum içerisinde çalışabilmektedir. Buradan hareketle sistemin her bir özelliğinin çalışırlığı kontrol edilmektedir. Sistem testi içerisinde kullanılabilirlik testleri yapılarak yazılımın kullanıcı dostu (User Friendly) olmayan işlevleri değerlendirilerek iyileştirmeler yapılması amacıyla paydaşlarına geri dönüşler verilmektedir. Düzeltilen her hata sonrası ve eklenen yeni özelliklerle birlikte regresyon testi yapılarak işlevlerin çalışırlığı yeniden doğrulanmaktadır. Sistem testleri içerisinde güvenlik testi de yer alır. Yazılımın güvenlik açıkları ve veri koruma önlemleri test edilir. Özellikle BioAffix yazılım ve donanımları gibi yüksek güvenlik ihtiyacı ve hedefi ile çalışan sistemler için bu test adımları büyük önem arz etmektedir. Bu yazının başlarında bahsettiğimiz yazılım tarihine geçmiş Ariane 5 roketi örneğinde olduğu gibi küçük/büyük kritik hataların meydana gelmemesi için yapılan testler belirli süreçler ile düzenlenir. Test planlama, test senaryoları ve vakıalarının hazırlanması, test ortamlarının gerçek saha ortamlarına benzer olarak oluşturulması, hata raporlama, düzeltme ve sonuçların değerlendirilmesi bunlardan bazılarıdır.

Bir başka test adımı kabul testidir (acceptance test). Yazılımın kullanıcı gereksinimlerini karşıladığını doğrulamak için yapılmaktadır. Kabul testi gerçek kullanıcılar tarafından yapılır. BioAffix yazılımlarının gelişimi için yazılım geliştirme yaşam döngüsü içerisinde kullanıcılardan gelen değişiklik ve iyileştirme talepleri (change request) toplanmakta ve değerlendirmektedir. Buna göre sistemde iyileştirme ve geliştirmeler yapılarak yeni versiyonlar hazırlanır. Kullanıcılar kabul testi ile yazılımın günlük iş süreçlerinde nasıl çalıştığını değerlendirirler. Kabul testi içerisinde Operasyonel Kabul Testi (Operational Acceptance Testing OAT) de yer almaktadır. Operasyonel kabul testleri yazılımın yedekleme, kurtarma, veri göçü gibi operasyonel senaryolarını kapsamaktadır. BioAffix yazılımlarında iletişim süreçleri şifreli ve yüksek güvenlik ile gerçekleşmektedir. Tüm kritik veriler şifreli bir şekilde kullanıcıların veri tabanlarına aktarılır ve yalnızca yetkili kullanıcılar tarafından görülebilir ve düzenlenebilir.

Dört ayda bir yayınlanan BioAffix elektronik posta bültenine abone olarak yeni gelişmeler hakkında bilgi sahibi olabilirsiniz.