Güç elektroniği, havacılık ve otomotiv mühendisliği gibi riskin yüksek olduğu sektörlerde yazılım hataları yalnızca birer aksaklık değildir; felaketle sonuçlanan donanım hasarlarına yol açabilir veya insan güvenliğini tehlikeye atabilir. Motor kontrolörleri ve uçuş bilgisayarları, giderek daha karmaşık hale gelen gömülü yazılımlara bağımlı hale geldikçe, sağlam, öngörülebilir ve güvenli kod ihtiyacı hiç olmadığı kadar artmaktadır.
İşte tam bu noktada MISRA-C devreye giriyor.
MISRA-C Nedir?
Motor Endüstrisi Yazılım Güvenilirliği Derneği (Motor Industry Software Reliability Association) tarafından geliştirilen MISRA-C, C programlama dili için bir dizi yazılım geliştirme yönergesidir. Başlangıçta otomotiv endüstrisi için oluşturulmuş olsa da, o günden bu yana havacılık, tıbbi cihazlar ve savunma sektörlerindeki gömülü uygulamalar için de altın standart haline gelmiştir.
C, düşük seviyeli bellek erişimi ve yüksek performans sağlayan güçlü bir dildir—gerçek zamanlı güç anahtarlaması yapan mikrodenetleyiciler için mükemmeldir. Ancak, C aynı zamanda oldukça acımasızdır. Başlatılmamış değişkenler, arabellek taşmaları (buffer overflow) ve tanımlanmamış davranışlar derleyiciden kolayca kaçabilir.
"MISRA-C, C dilinin kullanımını güvenli bir alt kümeyle sınırlandırarak, gömülü yazılım hatalarının %90'ına neden olan temel riskleri fiilen ortadan kaldırır."
PMT Electronics'te Neden MISRA-C Kullanıyoruz?
R212 Uçuş Bilgisayarı veya Yüksek Güç Yoğunluklu Motor Sürücülerimiz gibi sistemler geliştirirken öngörülebilirlik en büyük önceliğimizdir. MISRA-C yönergelerine bağlı kalarak şunları sağlıyoruz:
- Güvenilirlik: Kod, tanımsız durumlar olmadan, her defasında tam olarak tasarlandığı gibi davranır.
- Sürdürülebilirlik: Katı kodlama kuralları, kod tabanını okunabilir ve mantıklı hale getirir, böylece herhangi bir mühendisin mantığı belirsizlik olmadan anlamasını sağlar.
- Taşınabilirlik: Derleyiciye özgü tuhaflıklardan kaçınarak, tedarik zincirleri veya müşteri gereksinimleri değiştikçe yazılımımız farklı MCU'lara (Mikrodenetleyici Birimlerine) güvenle taşınabilir.
Sonuç
MISRA uyumlu kod yazmak, daha fazla ön çaba gerektirir. Titiz statik analizler, akran değerlendirmeleri (peer review) ve hızdan ziyade kaliteye kurumsal bir bağlılık talep eder. PMT Electronics'te biz bunu bir engel olarak değil, mühendislik sürecimizin temel bir özelliği olarak görüyoruz.
Sisteminize bir PMT Motor Kontrolörü entegre ettiğinizde, yalnızca sağlam bir donanım elde etmezsiniz; aynı zamanda güvenlik ve güvenilirliğin en yüksek standartlarına göre tasarlanmış bir gömülü yazılıma sahip olursunuz.
Tüm makalelere dön