In the past, companies specializing in both military and commercial aviation were given several years to run their products through the litany of tests and certifications required to then reach the market.
As software becomes more complex, it becomes hard to manage the design of that software at the code level. Object oriented programming (C++, Ada, and Java) and modeling (UML, mathematical, and so on) simplify the development of complex software by enabling designers to conceptualize, architect, and encapsulate their design at a higher level.
While DO-178C was published in 2012, with an Advisory Circular (AC) following in 2013, it continues to breathe life into the software development, coding, verification, configuration management, quality assurance, and liaison process of engineers creating software — and not only for airliners and business aircraft.
In the dynamic landscape of military technology, policy acts as a catalyst for innovation, driving investment, research, and development towards strategic objectives.
DO-178B Process Objectives: DO-178C recognizes that to ensure correctness, control and confidence in software, functional safety must be addressed systematically throughout the software life cycle.
DO-178B and DO-178C are crucial standards for developing airborne software systems.
In section 6.4.2 DO-178C states that requirements-based test selection should include both “normal
range test cases and robustness (abnormal range) test cases”.
Is the reuse of avionics software feasible or even recommendable in automotive applications? This was one of the questions the research project VirtuOS tried to straighten out.
DO-178C, Software Considerations in Airborne Systems and Equipment Certification is the primary standard used to approve all commercial software-based aerospace and military/defense systems.
The RTCA and its new standard, DO-178C, will bring safety-critical software development into the modern era, adding support for advanced techniques such as UML and mathematical modeling, object-oriented programming and formal methods