Transitioning to RTCA DO-178C/DO-278A

advertisement
As seen in
A
Foliage
White
Paper
Transitioning to RTCA DO-178C/DO-278A:
A Business Manager Brief
Hoyt Lougee, Engineering Director at Foliage
Published August 2012
Abstract
With the release of the new development guidance for certifiable aviation software,
RTCA DO-178C/DO-278A, executives and business managers for manufacturers of both
airborne and ground-based systems are examining the short- and long-term impacts on
their certifiable-product development approaches with respect to cost, schedule, and
risk. Although the changes within DO-178C/DO-278A proper are relatively few,
manufacturers can expect critical wide-ranging business impacts on their current
certifiable aviation software development. More significant are the four detailed
supplements intended to address 20 years of technology and process progress since the
last major revisions of development guidelines.
The new guidance represents a significant change in the FAA’s posture towards
regulated software development with DO-178C/DO-278A tightening some previously
established controls, while also establishing concrete guidance for greater flexibility in
development approaches. This flexibility, however, must be carefully examined,
weighing potential business costs and benefits, to establish the most efficient certifiable
product-development approach. This white paper discusses these shifts from the
business perspective, providing business management visibility into the emerging
challenges and opportunities associated with the updated guidance.
Introduction
The FAA released DO-178B, Software Considerations in Airborne Systems and Equipment
Certification, 20 years ago to provide guidance on the development of FAA certifiable
airborne software1. Since then, the software development world has matured
significantly, with advances in technologies and processes providing new opportunities
for manufacturers to streamline development and tackle increasingly complex systems.
For example, today, state-of-the-art software development often involves the use of
advanced model-driven development with the corresponding benefit of automated
code generation. Prior to the release of DO-178C, the FAA often scrutinized closely the
certification of a product developed in this manner, requiring additional meetings, white
papers, and presentations, which added—from the business planning perspective—
significant risk. Indeed, more often than not, the introduction of model-driven
A
Foliage
White
Paper
development resulted in confusion, stalled product completion, and delayed time to
market.
Much of this progress, therefore, has been problematic in the certifiable-software
development domain. The general guidance provided by DO-178B/DO-278 often served
only to muddle matters further—with disagreements on the acceptability and treatment
of emerging technologies and processes among the various aircraft component
manufacturers, individuals within the FAA Aircraft Certification Offices (ACOs), and their
Designated Engineering Representatives (DERs).
The result: industry has been hobbled in its ability to effectively plan and execute
certifiable-software development, and has not kept pace with the state of the art in
software engineering at large. In fact, the only dependable attribute of certifiablesoftware development seems to be the consistency of missed schedules and burst
budgets, at times attributed to the shifting interpretations and dated guidance. The
benefits of new tools, techniques, and processes—as leveraged successfully in noncertifiable-software development—have been at best elusive, at worse unavailable, as
the certifiability overhead has taken its toll.
In 2001, to address common industry and certification-authority questions, RTCA
released DO-248B, Final Report for Clarification of 178B “Software Considerations in
Airborne Systems and Equipment Certification.” This report addressed DO-178B errata,
as well as provided more detail on specific issues in the form of FAQs. Still,
interpretation remained problematic and continued to hinder the ability of
manufacturers to plan with confidence the cost and schedule impact of the certification
efforts.
To fully address industry’s concerns and emerging technology, the FAA, in partnership
with the aviation industry, set out to update the guidance in 2004. In December of 2011,
updated guidance was released:
 RTCA DO-178C, Software Considerations in Airborne Systems and Equipment
Certification
 RTCA DO-278A, Guidelines for Communications, Navigation, Surveillance, and
Air Traffic Management (CNS/ATM) Systems Software Integrity Assurance
In addition, supplements were released to provide a detailed treatment of four
critical areas:
1. RTCA DO-330
Software Tool Qualification Considerations
2. RTCA DO-331
Model-Based Development and Verification Supplement to DO-178C and
DO-278A
A
Foliage
White
Paper
3. RTCA DO-332
Object-Oriented Technology and Related Techniques Supplement to DO178C and DO-278
4. RTCA DO-333
Formal Methods Supplement to DO-178C and DO-278
This guidance offers a more effective roadmap for certifiable-software
development, lowering risks and providing a dependable basis for cost/schedule
projection. The initial path forward, however, will not be easy. The guidance must
be carefully studied, and, for the specifics of each certifiable product manufacturer,
its impacts assessed and detailed plans developed. The certification authorities
should then approve these plans prior to the start of the development effort. Only
then can manufacturers be confident that the new guidance will work for them,
enabling advances in technology and process to yield cost, schedule, and riskmitigation benefits; while preventing costly misinterpretations and 11th-hour
roadblocks.
What Has Changed?
In the big picture, two types of changes have occurred:
1. Clarification of original guidance
2. Detailed guidance related to major shifts in technology/process
Both areas will have significant impact on the way certifiable-software development is
managed.
Clarifications
Ironically, a major clarification within DO-178C/DO-278A doesn’t concern the software
development process directly. Instead, the clarification relates to the certifiablesoftware development interaction with the higher-level system processes, as detailed in
the newly revised ARP4754, Guidelines for Development of Civil Aircraft and Systems.
The potential impact of these clarifications must not be underestimated. The
certification authorities are looking to tighten up this interaction with formal, iterative,
closed-loop data flow among the system, hardware, and software processes.
Across the aviation industry, addressing the information flow between systems and
software, especially with respect to interfaces, requirements allocation, and safetyrelated requirements has varied. The information flow has ranged from a cursory,
after-the-fact treatment to a very formal, detailed multi-stage analysis—including
elaborate System Safety Analysis, Functional Hazard Analysis, Functional Failure Path
Analysis, and Failure Modes and Effects Analysis. A manufacturer’s understanding of
where its organization stands in this continuum, relative to the new guidance, will be
A
Foliage
White
Paper
critical in planning and risk management of its next certifiable-software development
efforts. Very few organizations will emerge without having to modify their processes at
all.
The updated guidance also provides direction on the oversight of suppliers, establishing
formal expectations for auditable supplier compliance and oversight. Interestingly, the
traditional and logical interpretation of DO-178B already allowed for certificationauthority oversight into a supplier’s applicable certifiable-software development
processes, so alignment to the revised DO-178C supplier-oversight processes should not
be significant. Opening up the manufacturer-supplier relationship to detailed oversight
planning with certification authority audits will, however, introduce the need for
documented coordination and may drive additional geographically distributed supplier
audits—first by the manufacturer and then by the certification authorities (and/or their
designees).
Another significant change in the existing guidance is the introduction of a Parameter
Data Item File, a data set that can influence the behavior of the software without
modifying the executable object code. Formal guidance is now provided in the
development, control, and verification of this data, which may, or may not, align well
with a manufacturer’s current practices—and may have a significant impact on the
planning, development, verification, and configuration management of the certifiable
product.
The expectations for traceability have been clarified also. Traceability is the backbone of
a certifiable-software development process, and, if performed or reworked after the
fact, can be incredibly expensive and error prone. Although most organizations will have
little impact from the refinement of the traceability guidance, a careful up-front review
of the expectations will be necessary to confirm alignment.
To summarize, there is little doubt that the revisions to DO-178B/DO-278 will impact an
organization’s certifiable development efforts—the only question is how (and how
much). A careful and thoughtful gap analysis must be a priority, sooner rather than
later, to understand and accommodate the impact—providing a solid basis on which to
plan the next certifiable-software development effort.
Supplements
As discussed earlier, the revision to the guidance is not limited to clarification; also
included are four new, complex addendums to address the state of the art and practice
in software development.
1. RTCA DO-330, Software Tool Qualification Considerations
Advances in technologies are typically associated with promises of significant efficiency
gains, driven by ever more prolific and complex tools. Tool guidance has migrated from
DO-178B/DO-278 to a separate detailed addendum, which describes a significantly more
A
Foliage
White
Paper
complex treatment of tools—driving the treatment of tools to more closely align with
the treatment of certifiable software.
For example, DO-178B/DO-278 addressed the acceptability and qualification of tools
within the certifiable-software development environment with a simple partition into
Development tools and Verification tools. Development tools were to be developed
with the same rigor as the certifiable software, whereas Verification tools only required
basic testing against documented requirements. In contrast, DO-330 identifies five Tool
Qualification Levels (TQLs) based on the tool use and its potential impact to the
software life cycle process, with the level of tool qualification rigor varying according to
the TQL.
Overall, manufacturers can expect the tool qualification burden to be higher, with
additional expectations/formality across the “development” tool spectrum, and a slight
additional bump on certain “verification” tools.
Establishing a process for certifiable-software development and selecting the associated
tools can be a daunting task, with large costs and risks associated with both short- and
long-term impacts. Therefore, with respect to the cost/benefit tradeoffs of the adoption
of tools and tool suites to be used, each manufacturer should always first consider the
impacts of the revised tool-qualification guidance with respect to both the long-term
(multiple product development efforts), before addressing their short-term immediate
project needs.
The associated tool selections/qualifications made will need to be detailed and justified
in the planning documentation for each instantiation of a certifiable-software
development effort. That said, the new guidance does address the reuse of previously
qualified tools, with formalization of a common-sense adoption of existing qualification
data for demonstrably similar applications (and TQLs). With this formalization and an
understanding of the rigor required—tool strategies can and should be developed with
more confidence.
As with the clarification impact discussed above, all certifiable-software development
organizations will be affected by the new tool qualification guidance, with the size of the
impact and the ease of adoption critically dependent on timely planning.
2. RTCA DO-331, Model-Based Development and Verification Supplement to DO-178C
and DO-278A
DO-178C/DO-278A defines a model as an abstract representation of a set of software
aspects of a system that is used to support the software development or software
verification processes. Ultimately, this generally translates into the use of specific
methods and tools in describing requirements, auto-generating code and tests, and
analyzing/simulating requirements, architecture, and/or executable code.
A
Foliage
White
Paper
Certifiable-software development is inherently expensive, especially at higher-criticality
levels. Though comprised of best (albeit conservative) development practices, in
general, putting together a formal auditable configuration can be an overwhelming task.
As a result, many tools are available to reduce the development/verification burden
through automation and analysis—some specific to certifiable-software development;
some not.
In the certifiable software arena, industry has pushed hard for the acceptance of modelbased development and a clear path to certifiability. With the promise of faster, more
reliable development, many tool suppliers are fielding tools for a wide variety of
purposes—each facing the formidable challenge of certification-authority acceptability.
These tools typically are quite expensive, especially when considering the costly toolqualification packages necessary for adoption into certifiable-software development.
Prior to the release of DO-178C, however, the guidance has been murky with respect to
the model-based development qualification/certification hurdles that must be
addressed. The introduction of DO- 331, however, is a mixed blessing to the modelbased development proponents. The new guidance clearly establishes the model-based
development expectations, but these expectations include some very specific
constraints, which enabled the retention of the original DO-178B/DO-278 breakdown
between high-level requirements (the Specification Model), and low-level requirements
and architecture (the Design Model).
One of the historic complaints of the certifiable-software development process was the
complexity of the guidance, with its many nuances and a seemingly endless learning
curve. The certification authorities, however, have been unmoved: only those capable of
understanding the complex guidance established to provide flight-worthy confidence
are allowed to play in the certifiable-software development game. The guidance
associated with DO-331 is no exception. The guidance is complex, the concepts are not
straightforward, and early adopters will face an uphill battle as the interpretations are
wrung out.
Therefore, although model-based development can provide benefit, a full
understanding of the guidance and expected impacts of initial adoption on a certifiablesoftware development program will be necessary to truly understand the costs and
benefits of migrating to model-based development. Note that the processes described,
however, were not developed out of whole cloth. Many companies have already
incorporated model-based development under the DO-178B/DO-278 guidance.
Although these companies may have to modify their approaches to suit the new
guidance; they have, in fact, laid a solid groundwork for model-based development.
Even though adoption of model-based development is associated with challenges, it will
quickly become a basic cost of playing in the certifiable product development arena—as
manufacturers leverage the efficiency and associated competitive advantage that
model-based development will bring.
A
Foliage
White
Paper
In summary, model-based development can and will provide benefit to the certifiable
product development community—with graphical building blocks and auto-code
generation able to reduce the overall complexity of the software development. The
costs and benefits, however, must be carefully analyzed and weighed. Business
management must temper its expectations of an immediate return for the adoption of
model-based development. Longer-term investment (in tools, processes, and training)
will be required to fully benefit from the new technology and processes—and will be
necessary to maintain competitive product costs and time-to-market.
3. RTCA DO-332, Object-Oriented Technology and Related Techniques Supplement to
DO-178C and DO-278A
Object-oriented technology (OOT) is not new, with early representation stretching back
to the 1960s and 1970s. Neither the release of DO-178B in 1992 nor the release of DO278 in 2002 addressed the unique considerations and challenges represented by OOT
and languages. Instead, the guidelines were loosely based on the more traditional and,
at the time, more widely-used structured-design methodologies. In the 20 years after
the release of DO-178B, OOT has overtaken structured design, from academic treatment
and training to application in the development of complex and life-critical safety
systems. In fact, OOT reigns supreme in nearly all domains, except, however, in
certifiable airborne applications.
In late October 2004, after a handful of manufacturers fielded object-oriented airborne
applications using the ill-fitting existing guidance, the FAA2 co-sponsored the ObjectOriented Technology in Aviation (OOTiA) project with the National Aeronautics and
Space Administration (NASA) to address the challenges and constraints associated with
the incorporation of OOT in a development process intended to meet the extreme rigors
of FAA certifiable-software development. The resulting four volumes set the stage for
the adoption of OOT, including ramifications on DO-178B/DO-278, best practices, and
explicit guidance for certification authorities and their designees.
After seven years, however, the prevalence of object-oriented technology in aviation
still doesn’t reflect the overall adoption in industry as a whole. With the promises of
greater efficiency, the proliferation of object-oriented toolsets, and the growing
population of engineers whose primary academic training was in OOT, the question of
why object-oriented technology hasn’t taken hold is, indeed, enigmatic.
The answer lies in the difficulties inherent in meeting the extreme expectations for
developing and verifying deterministic, verifiable software that forms the backbone of
FAA guidance. Being able to address the challenges related to object-oriented
complexities; such as hierarchical encapsulation, polymorphism, dynamic memory
management, and virtualization; did not seem to be worth the effort in an already riskrich certifiable-product development context.
The new guidance, DO-332, supersedes the OOTiA, and provides a more concise
treatment of the application of object-oriented technology into aviation software;
A
Foliage
White
Paper
however, the fundamental issues remain, with the constraints and additional hoops
necessary to incorporate OOT still present. What is changing is the context. More and
more manufacturers are biting the bullet and shifting to object-oriented technologies,
establishing a clearer path to certifiability. Possibly even more significant, academia is
increasingly deemphasizing structured methodologies, with structured design given only
a brief nod as an introduction to the industry-favored object-oriented methodologies.
Hiring and retaining engineering staff who will be satisfied working on the older
technology will become increasingly challenging.
The question remains: should you make the jump to object-oriented technologies?
Many factors will contribute to the calculus necessary to make the ultimate decision,
including the cost of migration from your existing, instantiated platforms—not
forgetting the associated retooling and retraining costs. The maturity of your staff will
be a significant variable, aligning growth and maintenance considerations as engineers
retire or leave, and must be replaced in a cost-effective manner. Cash flow and schedule
constraints must also enter into the equation, with short-term migration impacts
weighted against long-term stability and gain. Furthermore, a complete understanding
of the guidance, its ramifications, and possible solutions will be critical in understanding
the overall tradeoff: the true cost versus benefit of adopting OOT for your certifiable
product development.
For many, the migration to OOT is inevitable, a necessary step to keep pace with the
competition and maintain a solid foundation for future staffing. For the business
manager, the timing of the migration— based on a clear view of the costs and
benefits—will be the critical decision.
4. RTCA DO-333, Formal Methods Supplement to DO-178C and DO-278A
DO-333 defines formal methods as mathematically based techniques for the
specification, development, and verification of computer systems. In other words,
formal methods define a defensible formal process to model, describe, or verify some
aspect of certifiable software. DO-333 suggests that formal methods can provide value
to the certifiable-software community in many areas. Formal methods can allow precise
and systematic communication among engineers—as well as providing verification
confidence in freedom from exceptions and deadlocks, bounds on stack size during
execution, and so forth.
Formal methods are described as two types of activities: modeling and analysis, with the
model representing a given set of software aspects, which can then be used for analysis,
simulation and/or code generation. Although the establishment of a formal model has
intrinsic value in providing a systematic treatment of some aspect of software
development, e.g., requirements development, the analysis of a formal model can
provide significant value to the certifiable-software development process.
Formal methods were briefly introduced in DO-178B, but, in general, haven’t been
considered sufficiently mature to provide widespread benefit. In the 20 years since the
A
Foliage
White
Paper
introduction of DO-178B, tools and techniques have advanced sufficiently to establish
formal methods as a readily available tool in an aviation software development toolkit.
Note that, with respect to analysis, the new guidance really represents a formal
notification of the tightening of the certifiability guidance. For example, worse-case
stack analysis has always been a necessary consideration of a certifiable-software
development; but greater leeway in its justification, planning, and documentation has
been enjoyed by the certifiable software engineering community. With the release of
DO-178C, the FAA will demand more of the certifiable software developers with respect
to formal and detailed treatment of the analyses presented as part of the certifiablesoftware verification efforts.
Therefore, the new guidance on formal methods must be approached with caution.
Acceptable analytical verification performed in the past may no longer meet FAA
muster. Formal methods— consisting of formal logic, discrete mathematics, and
computer readable language—may be required. Simple documentation of experienced
engineering judgment may no longer be considered sufficient.
In summary, the new guidance on formal methods will impact your established,
business-as-usual certification practices, as well as establish formal expectations for
migrating to new, advanced model-based techniques and tools. Understanding the
associated impacts with both gap analyses and detailed projections will be necessary to
both shore up existing practices and support an effective migration to more competitive
model-based certifiable software processes.
Conclusion
Without question, the new guidance adopted by the FAA will impact established
certifiable-software development processes. Manufacturers will need to modify their
existing practices to accommodate the revised guidance. Although the benefits from the
adoption of new technologies and tools will be significant; expectations, especially in
the short term, must be tempered by a clear vision of the challenges associated with
migration and early adoption. Manufacturers must carefully consider both short- and
long-term costs and benefits. A comprehensive and detailed gap analysis—together
with a well-considered certifiable-development process roadmap—will be necessary for
a certifiable product manufacturer to prepare for an effective treatment of the revised
guidance. Avoiding costly rework, while effectively leveraging new technologies, is the
key to remaining competitive. The time to plan is now; the costs of delay can be
dramatic.
1
2
Note that DO-278, Guidelines for Communications, Navigation, Surveillance, and Air Traffic
Management (CNS/ATM) Systems Software Integrity Assurance, was released 10 years later,
tightly tied to the content of DO-178.
Handbook for Object-Oriented Technology in Aviation (OOTiA, Volume 1 Handbook Overview,
Revision 0, October 26, 2004; Section 1.1.2 Background
Download