SAFETY CRITICAL BLOG: In the early days, we lived in a physical world. Everything ran in supervisor mode, much like a commune. Unfortunately, with no leader, if was difficult to preserve order and contain errant and malicious code, so chaos and mischief ensued. A bad pointer was all that was needed to bring the most sophisticated equipment to its knees, witness the Mars Rover and its maddening encounter with that nettlesome rock.
Safety Critical Blog: With our fighting forces asked to do more with less, cost containment has become an imperative for Department of Defense (DoD) program managers and defense contractors, not only for initial procurement, but long-term maintainability and upgradability. Cost containment has become especially critical for software development, which is the primary driver of enhanced avionics functionality.
Multicore, hyperthreading, Dynamic Frequency Scaling (DFS), and DMA are modern processor features aiming to optimize average-case execution times. Such optimizations can result in challenges for safety-critical software designers, who must focus on worst-case behavior, though. However, these issues can be successfully mitigated.
Migrating today's complex military and commercial avionics systems can be quite a daunting proposition, but several steps can be taken to alleviate some of the headache.
As defense industry software developers transition from Ada to Java and upgrade their hardware, they must do so in a way that protects existing application software. Mixed language development tools that support real-time and safety-critical Java as well as stalwarts such as Ada and C provide a seamless upgrade path that enhances productivity while preserving legacy code.