Yazılım FMEA: yanlış mantık, eski veri ve sistematik hata biçimleri

Yazılım hata biçimlerini işlev, veri yaşı ve durum geçişleri üzerinden kurun; zaman bütçesiyle birim dönüşümü örneklerini donanım arıza oranı ödünç almadan sınanabilir kontrollere bağlayın.

Bu sayfada

İşlemci, ağ ve program döngüsü sağlıklı görünürken yazılım yanlış sonuç verebilir. Neden hatalı gereklilik, atlanan durum geçişi, eski girdi veya yanlış birimle yorumlanan geçerli görünümlü değer olabilir. Yazılım FMEA, bu sapmaların kontrol edilen sisteme nasıl yayıldığını, hangi koşullarda ortaya çıktığını ve önerilen tespit ile yanıtı hangi kanıtın desteklediğini sorar.

Yalnız yürütülebilir dosyayı değil, işlev ve arayüzü inceleyin

NASA yazılım FMEA’yı yazılım işlevleri, arayüzleri ve sistem sonuçlarının aşağıdan yukarı incelenmesi olarak açıklar. Yararlı sınır “sensör güncellemesini kabul et”, “mühendislik birimini dönüştür”, “komut iznini değerlendir” veya “yedek moda geç” olabilir. Yalnız “yazılım arızalanır” satırı mekanizmayı ortaya çıkarmayacak kadar geniştir.

Her sınırda gerekli çıktı, zamanlama, geçerli girdi alanı ve ilgili işletme durumları korunmalıdır. Başlangıç, normal işletme, bozulmuş işletme, yeniden başlatma ve bakımın sözleşmeleri farklı olabilir. Aynı çıktı bir durumda doğru, diğerinde tehlikeli olabilir. Donanım-yazılım etkileşimini dahil edin; yazılım hata biçimini aşağıdaki fiziksel etkiden ayrı tutun.

Sistematik kusuru etkinleşme koşulundan ayırın

Tasarım veya kod kusuru yayımlanan sürümde kalabilir; belirli girdi, sıra veya yapılandırmayla etkinleşebilir. Programın fiziksel olarak aşınması gerekmez. Tetikleyen koşullar aralıklı olduğundan belirti de aralıklı görünebilir. Kaynak tükenmesi, eşzamanlılık ve bozulmuş donanım girdileri tek yazılım etiketi yerine açık mekanizmalarla ele alınmalıdır.

Donanım bileşeninin sabit rastgele arıza oranı, bu mantık kusuruna doğrudan atanamaz. Varsayımları gerekçelendirildiğinde işletme profili veya istatistiksel yazılım kanıtı değerlendirmeye katkı verebilir; ancak FMEA sayfası kendi başına böyle olasılık modeli üretmez. Her kod yoluna sayısal oluşma oranı uydurmadan gerçekçi etkileri ve kanıt boşluklarını önceliklendirin.

Yararlı satır biçimi, yayılmayı, tespiti ve kanıtı bağlar

GSFC-HDBK-8004 görev ve arayüz hata biçimlerini mekanizma, neden ve etkiden ayırır. Girdi işleyicide bir biçim “eski ölçümü güncel kabul etmek”tir. Olası mekanizma, her mesaj alımında geçerlilik zamanlayıcısını yenilemektir. Yerel etki sahte güncel veri kaydı; sonraki etki eski proses bilgisiyle karar vermektir.

Önerilen kontrol zinciri kesmelidir: güvenilir ölçüm yaşını ve geçerliliği korumalı, yinelenen veya sırası bozuk güncellemeyi nasıl işleyeceğini ve güncellik kaybolunca tüketicinin ne yapacağını tanımlamalıdır. Doğrulama durumunda mesajlar sürerken ölçüm dondurulur. Yalnız ağ canlılık mesajı, gerçek eski veri biçimi tespit edilmeden bu sınamayı geçebilir.

Yaş örneği: yeni alınan mesaj yeni ölçüm değildir

Ortak düzeltilmiş zaman temelinde varsayımsal damgalar kullanın. Son geçerli ölçüm 0 ms’de yapılmış, son mesaj 240 ms’de gelmiş, tüketici 250 ms’de değerlendirmiş olsun. Mesaj alım yaşı yalnız 10 ms; ölçümün kendisi 250 ms yaşındadır. Güncellik zamanlayıcısını mesaj gelişine sıfırlamak bu örnekte 240 ms yaşı gizler.

Üretici ve tüketici saatleri farklıysa yaş karşılaştırması sınırlı eşzamanlama hatası veya eşdeğer güvenilir yaş sağlayan protokol gerektirir. Güvenilmeyen zaman damgası yalnız mevcut olduğu için geçerli sayılmamalıdır. Kaynak zaman dönemi, sıra ve kalite anlamı kaydedilmeli; yeniden gönderim yeni ölçümden ayrılmalıdır. Bunlar ekran etiketine bırakılacak varsayımlar değil, arayüz gereklilikleridir.

Yanıt bütçesi: tespit ve fiziksel tamamlanmayı dahil edin

Tanımlı yedek yanıtın son geçerli ölçümden itibaren 150 ms içinde tamamlanması gerekliliği varsayılsın. Yaş eşiği H = 100 ms; bağıl saat hatası nedeniyle yaşı en fazla eksik değerlendirme 5 ms; tüketici tarama gecikmesi 30 ms; çıktı ile aktüatör tamamlanması 40 ms olsun. Koruyucu sınır H + 5 + 30 + 40 = 175 ms’dir; gereklilik 25 ms aşılır.

Bu varsayımlarda cebirsel en büyük eşik 150 − 5 − 30 − 40 = 75 ms’dir. H = 70 ms seçimi 145 ms verir ve 5 ms bütçe bırakır. Bu gerçek zaman aşımı seçimi değildir; normal veri geliş zarfı, zamanlama dalgalanması, saat arızası ve gereksiz tepkiler de sınanmalıdır. Gereklilikler çelişirse küçük sayıyı tamamlanmış çözüm ilan etmek yerine zamanlama veya mimari yeniden tasarlanmalıdır.

Özgün eski veri örneğinde ölçüm 0 ms, alım 240 ms, değerlendirme 250 ms’dir; alım yaşı 10 ms, ölçüm yaşı 250 ms olur. Varsayımsal 150 ms tamamlanmış yanıt bütçesi, 100+5+30+40=175 ms zinciriyle aşılır. 70 ms yaş eşiği 145 ms verir, 5 ms bütçe bırakır; sınırlar ve normal güncelleme uygunluğu ayrıca geçerlidir.
Özgün belirlenimci arayüz ve zamanlama örnekleri. Damgalar düzeltilmiş ortak referansı kullanır; ayrı yanıt bütçesi sınırlı saat hatası, tarama gecikmesi ve aktüatör tamamlanmasını içerir. Sayılar yazılım arıza oranı veya gerçek ekipman için zaman aşımı önerisi değildir.

Yanlış birim aralık kontrolünden geçebilir

Ayrı belirlenimci örnekte 1000 kPa girdi, 1 bar = 100 kPa olduğundan 10 bar’a çevrilir. Hatalı 1000’e bölme ise 1 bar üretir. Gösterim amaçlı 8 bar alarm eşiğinde doğru değer eşiği aşar, yanlış değer aşmaz. İkisi de geniş sayısal giriş aralığında kalabileceğinden yalnız “sayı makul” kontrolü kusuru kaçırabilir.

FMEA biçimi “basınç sensörü hatalı” değil, yanlış ölçekleme veya birim yorumudur. Neden arayüz sözleşmesi uyuşmazlığı veya dönüşüm hatası olabilir; etki tüketiciye bağlıdır. Kanıt; birimi tanımlı gereklilikleri, sınır ve temsilî dönüşüm sınamalarını, gösterilen veya kullanılan mühendislik büyüklüğünün uçtan uca doğrulamasını içermelidir. 8 bar öğretim eşiğidir, ekipman ayarı değildir.

Durum ve sıra hataları zamansal senaryo gerektirir

Yeniden başlatma boyunca kalan eski komut, varsayılan dala düşen geçersiz mod veya fiziksel tamamlanma sanılan alındı bildirimi işlev sözleşmesini bozabilir. Geçiş önkoşulları, izin verilen çıktılar ve başarısız geçişten sonraki durum tanımlanmalıdır. Evrensel güvenli yedek değer yoktur; durdurma, tutma veya kontrol devri sistem tehlike analizine bağlıdır.

Küçük sıra örneği de yaygın hatayı önler. 16 bit sayaçta 65535’ten 0’a ileri modüler artış (0 − 65535) mod 65536 = 1’dir; değişmeyen sayaç 0 verir. Basit “yeni sayı eskiden büyüktür” kontrolü geçerli taşmayı reddeder. Modüler hesap da yeniden başlatma dönemleri, tekrar oynatma veya büyük boşluklar için tek başına yeterli değildir; açık protokol kuralları ve sınamalar gerekir.

Özgün komut-durum ve arayüz inceleme matrisi

Durum ve sapmaGerekli davranış ve ayırt edici sınama
ÇALIŞMA + eski geçerli veriYeni alım, ölçüm yaşını sıfırlamamalıdır. Sınırlı güncellik koşulu sağlanmayınca tanımlı koruyucu yanıt istenir; fiziksel tamamlanma zaman bütçesi içinde doğrulanır.
ÇALIŞMA + yanlış birimİzin koşulu değerlendirilmeden basınç, anlaşılmış birim sözleşmesiyle yorumlanır. 1000 kPa uygulanıp 10 bar sonucu sınanır; uyuşmayan sözleşme açık gerekliliğe göre reddedilir veya işlenir.
BAŞLATMA → ÇALIŞMA + yasak geçişGerekli ilk değerleme veya izin yokken komut ÇALIŞMA durumunu etkinleştirmemelidir. Reddedilen ve izin verilen geçişler, kesinti sonrası yeniden başlatma dahil ayrı sınanır.
ÇALIŞMA + atlanmış koruma dalıDöngü ve gözetleyici sağlıklıyken tanımlı tehlikeli girdi koşulu uygulanır. Gerekli durdurma isteği ve sonuçtaki güvenli durum kanıtı yine oluşmalıdır; gereklilik-sınama izlenebilirliği eksik koruma dalını açığa çıkarır.

Dört satır özgün gereklilik örnekleridir; evrensel güvenli durum seçimleri değildir. NASA’nın yazılım tehlikeli gereklilik rehberi, analizden türeyen her koruyucu davranışın izlenebilir ve doğrulanabilir olmasını destekler; gerçek izinli durumlar, geçiş öncelikleri ve fiziksel yanıt sistem için tanımlanmalıdır.

Gözetleyici yalnız gözlediği şeyi kanıtlar

Döngü gözetleyicisi, kendisini güncelleyen yürütme yolunun durduğunu tespit edebilir. Yanlış sonucu, eski kaynak verisini veya zamanında çalışan anlamsal hatayı tespit etmek zorunda değildir. Benzer biçimde sağlama toplamı, değerin güncel veya doğru ölçekli olduğunu kanıtlamadan aktarım bütünlüğünü gösterebilir. Her tespit mekanizmasının hangi gözlenebilir belirtiyi kapsadığını adlandırın.

NASA tehlikeli gereklilik rehberi, analizden türetilen kontrolleri doğrulama kanıtına bağlar. Buradaki örneklerde yararlı sınamalar; iletişim sürerken eski veriyi tutar, en kötü zamanlama hizalanmasını uygular, sayaç taşmasıyla yeniden başlatmayı geçer ve bütün tüketici yolu boyunca birimi doğrular. Rapor yalnız “hata işleme sınandı” dememeli; derleme, yapılandırma, koşullar ve gözlenen yanıtı tanımlamalıdır.

Analizi değişikliklere ve açık varsayımlara bağlı tutun

Her satır; işlev ve biçimi, başlatıcı koşulu, yerel ve sistem etkisini, tespiti, telafi eylemini, sorumluyu ve kanıt bağlantısını korumalıdır. Gereklilik, veri biçimi, zamanlayıcı dönemi veya kitaplık değişince etkilenen satırlarla arayüzler yeniden ele alınmalıdır. Düzeltme, özellikle ilk değerleme ve toparlanmada bir yolu kaldırırken başka yol oluşturabilir.

Yazılım FMEA, yazılımın neyi yanlış yapabileceğini ve sistemin nasıl yanıtlayacağını düzenli sorar. Gereklilik incelemesini, statik analizi, bütünleştirme sınamalarını ve sistem tehlike analizini tamamlar; yerlerine geçmez veya tüm kusurların yokluğunu kanıtlamaz. Pratik sonuç; zamanlama ve veri anlamı fiziksel sonuca kadar taşınmış açık hata mekanizmaları ve doğrulanabilir kontrollerdir.

Kaynaklar

  1. NASA Software Engineering Handbook, Version D — 8.05 Software Failure Modes and Effects Analysis.
  2. NASA GSFC-HDBK-8004 — Guideline for Failure Modes and Effects Analysis and Risk Assessment (2024).
  3. NASA Software Engineering Handbook, Version D — SWE-192 Software Hazardous Requirements.