Aksaklığa katlanır yazılımda güvenilirlik çözümlemesi
- Global styles
- Apa
- Bibtex
- Chicago Fullnote
- Help
Abstract
m ÖZET Yazılım geliştirme sürecinde, yazılımın yıkılmamasını (failure) sağlayacak gerekli önlemler alınarak, güvenilirlik (reliability) artırılmaya çalışılır. Tüm çabalara rağmen, yazılımın giderilemeyen bazı aksaklıkları (faults) içermesi olasıdır. Belirli koşullar altoda yazılım işletilirken, içerdiği aksaklıklar hataya (error) ve yıkılmaya dönüşecektir. Güvenilirliğin çok üst düzeyde olması beklenen yazılım sistemlerinde, özellikle, yaşam-kritik (life-critical) uygulamalarda, hataların neden olabileceği yıkılmaları önlemek için N-versiyon pogramlama (N-version programming) ve Kurtarma bloğu (Recovery block), aksaklığa katlanır yazılım (Fault-tolerant software) sunmak için önerilmiş yaklaşımlardır. Her iki yaklaşımın güvenilirlik çözümlemeleri, genelde versiyonların/modüllerin bağımsız bir biçimde yıkıldığı varsayımına dayanır. Bu tez çalışmasında, literatürde verilen bağımsızlık varsayımına dayalı kurtarma bloğu ve n-versiyon programlama yaklaşımlarının güvenilirlik modellemeleri gözden geçirilerek içerdikleri eksiklikler tartışılmış; modellemeler iyileştirilmiş; olayların (events) birbirini karşılıklı dışlaması (mutually exclusive) konusuna yer verilmiş ve olayların birbirine a bağımlı olması durumu ele alınarak 'bağımlı yıkılma' (dependent failure) parametresi modellemeye katılmıştır (Bağımlılık, iki ya da daha fazla versiyonun/modülün ortak hatalar içermesi olasılığıdır). Gerçek zamanlı veri edinmek ve görüntülemek için mikrobilgisayar üzerinde gerçekleştirilen yazılımda, kurtarma bloğunun kullanımı tanıtılmıştır. Yazılımda, periyodik olarak gelen veriler, ana belleğe aktarılır, ekranda izlenir ve zaman uyumsuz bir kesilme (olay) ile ikincil belleğe depolanır. Periyodik bir süreçte, zaman uyumsuz (asynchronous) kesilmelerin neden olabileceği yıkılmalara karşı ileriye dönük hata kurtarmanın (forward error recovery) gerekliliğine ve kamuna yer verilmiştir. Anahtar Sözcükler: N- Versiyon Programlama, Kurtarma Bloğu, Bağımlı Yıkılma, Yazalım Güvenilirliği, Gerçek-Zamanlı Yazılım, İleriye Dönük Hata Kurtarma IV ABSTRACT In software development life cycle (fault prevention phase), precautions are taken to increase software reliability in order to prevent software failure. Despite all of the efforts, software is likely to consists of some residual faults. While software is executed under specific circumstances these faults give rise to errors and software failure. In situations in which software reliability is expected extremely high (ultrareliable), two approaches, In version Programming and Recovery Block, have been proposed to present fault-tolerant software in especially life-critical software. Generally, reliability analyses of both approaches depend on the assumption that versions/modules will fail independently. In this thesis, reliability analyses given in literature for N-version Programming and Recovery Block is reviewed. The deficiency of these analyses is also discussed and improved. By examining the subject of mutually exclusive events, a 'dependent failure1 parameter is introduced to the reliability model in case those events are a-dependent (the probability of that two or more versions/modules have common faults). The use of recovery block is demonstrated in a software implemented on a microcomputer. In the software, the data coming in periodic time interval is buffered into the main memory, monitored on the terminal sequentially and then stored in the secondary memory when a asynchronous event happens. In a periodic process, the necessity of forward error recovery and its verification is given against failures that can be caused by asynchronous events. Keywords: N-version Programming, Recovery Block, Dependent Failure, Software Reliability, Real Time Software, Forward Error Recovery.
Collections