Complying with DO-178C and DO-331 using Model-Based Design



Similar documents
The Impact of RTCA DO-178C on Software Development

Automating Code Reviews with Simulink Code Inspector

Best practices for developing DO-178 compliant software using Model-Based Design

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Subject Software Aspects of Certification

Advisory Circular. U.S. Department of Transportation Federal Aviation Administration

Certification Authorities Software Team (CAST) Position Paper CAST-3

Product Development Flow Including Model- Based Design and System-Level Functional Verification

Certification Authorities Software Team (CAST) Position Paper CAST-9

SAFE SOFTWARE FOR SPACE APPLICATIONS: BUILDING ON THE DO-178 EXPERIENCE. Cheryl A. Dorsey Digital Flight / Solutions cadorsey@df-solutions.

CERTIFICATION MEMORANDUM

Schnell und effizient durch Automatische Codegenerierung

Certification Authorities Software Team (CAST) Position Paper CAST-10

IBM Rational Rhapsody

Best Practices for Verification, Validation, and Test in Model- Based Design

Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist.

WORKSHOP RC EVI Integração de Sistemas Junho de 2011 Eng. Nelson José Wilmers Júnior

F-22 Raptor. Agenda. 1. Motivation

Development of AUTOSAR Software Components within Model-Based Design

Design & Manufacture Seminar SOFTWARE SECURITY & DESIGN ASSURANCE JAYSON ROWE SENIOR ENGINEER AVIONICS

ENEA: THE PROVEN LEADER IN SAFETY CRITICAL AVIONICS SYSTEMS

Andrew J. Kornecki Embry Riddle Aeronautical University Daytona Beach, FL

Creating Competitive Advantage: The role for ALM in the PLM world

The new software standard for the avionic industry: goals, changes and challenges

AC REUSABLE SOFTWARE COMPONENTS

CERTIFICATION MEMORANDUM

RTCA DO-178B/EUROCAE ED-12B

Certification Authorities Software Team (CAST) Position Paper CAST-26

Critical Systems and Software Solutions

Integrating MATLAB into your C/C++ Product Development Workflow Andy Thé Product Marketing Image Processing Applications

Parameters for Efficient Software Certification

SCADE SUITE SOFTWARE VERIFICATION PLAN FOR DO-178B LEVEL A & B

DO-178B compliance: turn an overhead expense into a competitive advantage

Software Development Tools for Safety-Critical, Real-Time Systems Handbook

Certification Authorities Software Team (CAST) Position Paper CAST-13

Requirements Engineering Management Findings Report

DO-254 Requirements Traceability

IBM Rational Rhapsody

WIND RIVER RTCA DO-178 SOFTWARE CERTIFICATION SERVICES

DO-178B/C Differences Tool

Certification of a Scade 6 compiler

Software Review Job Aid - Supplement #1

Qualtech Consulting Inc.

Understanding Compliance with Automatic Dependent Surveillance Broadcast (ADS-B) Out

Interactive Guidance for Safety Critical Avionics

Date: 9/30/15 AC No: Initiated by: AFS-300 Change: 0

Converting Models from Floating Point to Fixed Point for Production Code Generation

The Comprehensive and Fully Compliant Certification Solution. Certification Services

How To Understand The Requirements Of The Software Safety Handbook

ALS Configuration Management Plan. Nuclear Safety Related

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Why it may be time to consider Certified Avionics for UAS (Unmanned Aerial Vehicles/Systems) White paper

Making model-based development a reality: The development of NEC Electronics' automotive system development environment in conjunction with MATLAB

Reverse Engineering Software and Digital Systems

Efficient and Faster PLC Software Development Process for Automotive industry. Demetrio Cortese IVECO Embedded Software Design

Qualifying Software Tools According to ISO 26262

Entwicklung und Testen von Robotischen Anwendungen mit MATLAB und Simulink Maximilian Apfelbeck, MathWorks

Certification Authorities Software Team (CAST) Position Paper CAST-18

Using CMM with DO-178B/ED-12B for Airborne System Development

Advisory Circular. U.S. Department of Transportation Federal Aviation Administration. AC No: Change: Date: 06/22/2011 Initiated by: AFS-460

Methodological Handbook. Efficient Development of Safe Avionics Software with DO-178B Objectives Using SCADE Suite

Software Development with Real- Time Workshop Embedded Coder Nigel Holliday Thales Missile Electronics. Missile Electronics

White Paper 40-nm FPGAs and the Defense Electronic Design Organization

9/14/ :38

The evolving ARINC 653 standard and it s application to IMA

Applying 4+1 View Architecture with UML 2. White Paper

DO-178C: A New Standard for Software Safety Certification

Software Development Principles Applied to Graphical Model Development

Integrating System Safety and Software Assurance

1. Software Engineering Overview

MODELING AND SIMULATION

PCB Project (*.PrjPcb)

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Merging Safety and Assurance: The Process of Dual Certification for Software

FLIGHT TRAINING DEVICES

TÜ V Rheinland Industrie Service

Improving Embedded Software Test Effectiveness in Automotive Applications

Understanding DO-254 Compliance for the Verification of Airborne Digital Hardware

A Framework for Software Product Line Engineering

State of California. Contents. California Project Management Office Project Management Framework. Project Management. Framework.

ARINC 653. An Avionics Standard for Safe, Partitioned Systems

Digital Systems Design! Lecture 1 - Introduction!!

System Development and Life-Cycle Management (SDLCM) Methodology. Approval CISSCO Program Director

Improving Interoperability in Mechatronic Product Developement. Dr. Alain Biahmou, Dr. Arnulf Fröhlich, Dr. Josip Stjepandic

Simulink Modeling Guidelines for High-Integrity Systems

Introduction to a Requirements Engineering Framework for Aeronautics

TERMS OF REFERENCE RTCA Special Committee 228 Minimum Performance Standards for Unmanned Aircraft Systems (Rev 2) REQUESTORS:

The role of integrated requirements management in software delivery.

Meeting DO-178B Software Verification Guidelines with Coverity Integrity Center

Introduction to MATLAB Gergely Somlay Application Engineer

Agreement on International Civil Aviation (Sops 11/1949), Annex 19 Safety Management) Modification details

Quality Assurance Manual for Flight Procedure Design

Software Process for QA

Safety-Critical Systems: Processes, Standards and Certification

Repair Station Training Program

Introduction to Digital System Design

AN EVALUATION OF MODEL-BASED SOFTWARE SYNTHESIS FROM SIMULINK MODELS FOR EMBEDDED VIDEO APPLICATIONS

Model Based Software Development for DDG 1000 Advanced Gun System

Certification Cost Estimates for Future Communication Radio Platforms

A DATA AUTHENTICATION SOLUTION OF ADS-B SYSTEM BASED ON X.509 CERTIFICATE

Transcription:

12AEAS-0090 Complying with DO-178C and DO-331 using Model-Based Design Bill Potter MathWorks, Inc. Copyright 2012 The MathWorks, Inc. ABSTRACT This paper addresses how recently published revisions of aircraft certification documents affect developers using Model-Based Design. It focuses on SAE ARP4754A and RTCA DO-178C, in particular RTCA DO-331, the Model-Based Development and Verification Supplement to DO-178C and DO-278A. The previous version of the software standard, RTCA DO-178B, lacked guidance on modern development and verification practices such as Model-Based Design, object-oriented technologies, and formal methods. The core DO-178C document is a relatively minor update to the previous DO-178B standard, but the technology supplements nevertheless provide new guidance in how to adapt these modern technologies on a DO-178C project. The supplements may add, delete, or modify objectives in the core DO-178C standard for the applicable technology. Conversely, if the technology does not affect an existing DO-178C objective, then the objective is used as is. ARP4754A addresses the complete aircraft development cycle, from systems requirements through systems verification. It covers requirements, integration, and verification for three levels of abstraction: aircraft, systems, and item. An item is defined as a hardware or software element having bounded and well-defined interfaces. According to the standard, aircraft requirements are allocated to system requirements, which are then allocated to item requirements. DO-178C addresses the complete software development cycle, from software requirements to software verification. The system processes and software processes are related, in that system requirements are allocated to software requirements. Both ARP4754A and DO-178C address this allocation step. When models are used as part of the software development life cycle, even if these models are developed in the systems processes, DO-331 becomes applicable to the development and verification of those models. With Model-Based Design, engineers develop and simulate system models comprising hardware and software using block diagrams and state charts. They then automatically generate, deploy, and verify code on their embedded systems. This approach lets system, software, and hardware engineers collaborate using the same tools and environment to develop, implement, and verify systems. Developers of complex systems need to leverage this technology and be mindful of the governing standards such as ARP4754A, DO- 178C, and DO-331. INTRODUCTION This article highlights the recently updated commercial aviation standards and how they affect developers using Model-Based Design. ARP4754A and DO-178C are the focus, especially DO-331, the Model-Based Development and Verification Supplement to DO- 178C. THE EXISTING STANDARDS Few industries place more importance on verification or prescribe more process guidance than commercial aviation. The FAA and its European equivalent, EASA, provide guidance using standards such as ARP4754 for aircraft systems and DO-178B for flight software. Other standards, such as DO-254 for hardware and DO-278 for ground or space-based software, are also used. Page 1 of 7

These standards, however, are more than a decade old and are showing their age. For example, they lack guidance on modern development and verification practices such as Model-Based Design, object-oriented technologies, and formal methods. This led FAA and EASA to work with aircraft manufacturers, suppliers, and tool vendors including MathWorks to update standards based on modern technologies. Rather than significantly modify the standards, they created technology supplement documents. Table 1 Aircraft certification documents and recent updates Document Release Focus SAE ARP4754A 12/01/2010 Aircraft Systems RTCA DO-178C 12/13/2011 Airborne Software RTCA DO-254 04/19/2000 Airborne Electronic Hardware RTCA DO-278A 12/13/2011 CNS/ATM Software RTCA DO-330 12/13/2011 Software Tool Qualification RTCA DO-331 12/13/2011 Model-Based Development and Verification Supplement RTCA DO-332 12/13/2011 Object-Oriented Technology Supplement RTCA DO-333 12/13/2011 Formal Methods Supplement TRANSITIONING TO NEW STANDARDS ARP4754A ARP4754A addresses the complete aircraft development cycle from requirements through verification. It discusses requirements, integration, and verification for three levels of abstraction: aircraft, systems, and item. An item is defined as a hardware or software element having bounded and well-defined interfaces. According to the standard, aircraft requirements are allocated to system requirements, which are then allocated to item requirements. This last point in ARP4754A, addressing the allocation of system requirements to hardware and software components, is significant to aircraft manufacturers and their suppliers. In the past, some suppliers may have claimed that subsystem development was beyond the scope of ARP4754, even for complex subsystems containing hardware and software, but not anymore. ARP4754A also more clearly refers to DO-178 and DO-254 for item design. In fact, the introductory notes in ARP4754A acknowledge that its working groups coordinated with RTCA Special Committee 205 (SC-205) / EUROCAE WG-71 to ensure that the terminology and approach being used are consistent with those being developed for the update to DO-178B / ED-12B for consistency with ARP4754A. The FAA issued Advisory Circular 20-174 in September 2011, formally recognizing ARP4754A as an acceptable method of establishing a development assurance process. DO-178C Not surprisingly, one of the first new changes in DO-178C is an explicit mention of ARP4754A in Section 2 System Aspects Relating to Software Development, which serves to further align the standards. This section discusses those aspects of the system life cycle processes necessary to understand the software life cycle processes. System life cycle processes can be found in other industry documents (for example, SAE ARP4754A). Page 2 of 7

Clarification updates like this one aside, DO-178C does not differ significantly from DO-178B, at least at first glance. In fact, a casuall reader might miss an item mentioned in Section 1.4: How to Use this Document. One or more supplements to this document exist and extend the guidance in this document to a specific technique if a supplement existss for a specific technique, the supplement should be used to add, delete, or otherwise modify objectives, activities, explanatory text, and software life cycle data in this document to address that technique, as defined appropriately in each supplement. In other words, the big changes are captured in the supplemental documents, specifically those listed in Table 1, such as RTCA DO- are 331, Model-Based Development and Verification Supplement to DO-178C and DO-278A. It should be noted that neither the FAA nor EASA have formally recognized DO-178C/ED-12 at this time. These authorities expected to accept these documents in late 2012 or early 2013. INTRODUCTION TO MODEL-BASED DESIGN With Model-Based Design, engineers develop and simulate system models composed of hardware and software using block diagrams and state charts as shown in Figures 1 and 2. They then automatically generate, deploy, and verify code on their embedded systems. With MATLAB and Simulink from MathWorks, engineers generate C, C+ ++, Verilog, and VHDL code for implementation on MCU, DSP, FPGA, and ASIC hardware. This lets system, software, and hardware engineers collaborate using the same tools and environment to develop, implement, and verify systems. Developers of complex systems may leverage all the technologies listed above and be mindful of the governing standardss such as those listed in Tablee 1. Figure 1 Autopilot system model withh controller and plant Figure 2 Autopilott controller model for software A key benefit of Model-Based Design is early verification. Verification starts as soon as models are created and simulated using tests based on high-level requirements. This verification can be accomplished on a desktop computer, withoutt the need for the target hardware or software. Page 3 of 7

TRANSITIONING TO NEW STANDARDS USING MODEL-BASED DESIGN ARP4754A ARP4754A recommends the use of modeling and simulation for several integral process activities, including requirements capture and requirements validation. ARP4754A Table 6 recommends analysis, modeling and simulation (tests) for validating requirements at the highest Development Assurance Levels (A and B). For Level C, modeling is listed as one of several recommendations. While ARP4754 made similar recommendations, ARP4754A provides more insight and states that an accurate environment model, such as the plant model shown in Figure 1, is an essential part of a system model. Model use for requirements validation typically uses a model of the environment of a system being developed, which is interfaced to a prototype of a design solution for those requirements. An environment model that is representative of the environment of the system being developed provides a high degree of functional coverage in exercising either a simulated or real system. Also new with ARP4754A is that a graphical representation or model can be used to capture system requirements. It also notes that a model can be reused later for software and hardware design. Models used to capture requirements and then directly used to produce embedded code (Software or HDL) come within the scope of DO-178B/ED-128 and DO-254/ED-80 from the time that certification credit is to be taken until the software or hardware is returned to the system processes for system verification. If you do use models to capture requirements, ARP4754A recommends you consider the following: 1. Identify the use of models/modeling 2. Identify the intended tools and their usage during development 3. Define modeling standards and libraries DO-178C AND DO-331 A long standing issue with DO-178B for practitioners of Model-Based Design is the uncertainty in mapping DO-178B objectives to Model-Based Design artifacts. Addressing this mapping was a main goal of the DO-178C subgroup (SG-4) focused on Model-Based Design. No single mapping sufficed, so several mappings are provided in DO-331. Some include the concept of a specification model but that approach is not typically employed by Simulink users. The other concept of a design model is a more natural mapping for Simulink users. It is important to note that a single model cannot be classified as both a specification model and a design model, and this is explained in detail within DO-331. Table 3 shows popular mappings of life-cycle data to model usage based on DO-331, Section MB.1.6.3. Table 3 - Example mappings of life-cycle data to model usage Process that generates lifecycle data Model-Based Design Example 1 Model-Based Design Example 4 Model-Based Design Example 5 System Requirement and System Design Processes allocated to software from which the model is developed from which the model is developed Page 4 of 7

Software Requirement and Software Design Processes from which the model is developed Design Model Design Model Design Model Software Coding Process Source Code Source Code Source Code The essence of this table is the following: (1) A model can be used for design (of the system, the software, or both) and should be developed using requirements external to the model (e.g., a textual document or requirement database). (2) Source code can be generated directly from the design model (by hand or automatically). Of course, with 125 pages, DO-331 has a lot more to offer than that, but this table ties together the basic concepts of Model-Based Design for system and software development. Example 5 does this particularly well in that it shows that a model used initially for system design is elaborated and reused for software design and code generation. It should be noted that DO-331 applies to models, even when code is developed manually from the model without the use of an automatic code generator. For example, the controller shown as a component in the system model in Figure 1, and by itself as a software model in Figure 2, is used during system design, reused as an entry point for software design, elaborated during detailed software design (for example by discretizing continuous time blocks and changing double-precision data to single-precision), and then used as input for embedded code generation. The test cases used for system requirement validation likewise are reused on the model, source code, and executable object code to perform functional testing and collect coverage metrics. Engineers may choose any of the mappings specified in DO-178C. However, the approach in Example 5 of using and reusing models for systems and software design along with code generation has provided Simulink and Embedded Coder users significant benefits, including reduced cost and improved quality. Many engineers will appreciate that this same approach is now clearly acknowledged as an acceptable means to certification by the guidance offered in the governing standards. DO-331 introduces two important techniques, simulation and model coverage analysis, that may be used with Model-Based Design to satisfy objectives for design models. DO-178C calls out reviews, analyses, and testing as appropriate verification techniques for requirements, design, source code, and executable object code. DO-331 adds simulation as a valid technique to verify models, and this specific type of analysis capability is available when using modeling tools. For some, but not all, objectives for high and lowlevel requirements, DO-331 allows the use of simulation to satisfy objectives in place of traditional reviews and analysis. In fact, simulation can be more effective than reviews in determining correctness, because simulation provides a means of predicting the dynamic behavior of a system. But use of simulation does require some extra effort, for example the simulation cases must be treated similarly to test cases in that they need to be reviewed against the higher level requirements from which the model was developed. Model coverage analysis is also a new technique called out in DO-331, and in fact this analysis is a required activity when using design models. One of the concerns raised by the certification authorities during the development of DO-178C and DO-331 was that past projects using Model-Based Design sometimes had vague requirements associated with very complex models. This raised the concern that unintended functionality could be introduced into the system during the model development process. Model coverage analysis is performed during model simulation and the simulation cases must be based on the requirements from which the model is developed. This is similar to how code coverage is performed; it is done using test cases based on the software requirements, not on the code itself. DO-331 contains examples of the types of model coverage metrics that should be considered for the analysis. Some commercial modeling products, such as Simulink Verification and Validation, provide model coverage tools that can be used for this activity. Page 5 of 7

TOOL QUALIFICATION CONSIDERATIONS The factors used to determine if a tool needs to be qualified have not changed from DO-178B to DO-178C. Section 12.2.1 of DO- 178C states: Qualification of a tool is needed when processes of this document are eliminated, reduced or automated by the use of a software tool without its output being verified as specified in Section 6. For example, a modeling tool does not need to be qualified as long as the output of the tool (the model) is verified per DO-331 model verification objectives. If an automatic code generator is used, and the generated code (tool output) is reviewed then qualification is not necessary. If, however, the code review is to be eliminated then the code generator must be qualified. With Model-Based Design there are numerous tools available to perform model checking and model verification. If these tools are used for credit, then they must be qualified. For example, a model coverage tool used to perform model coverage analysis would need to be qualified just as code coverage tools need to be qualified. Tool vendors, including MathWorks, provide tool qualification kits for those tools that can be used for certification credit. Examples of qualifiable tools from MathWorks for both model verification and code verification are: Simulink Report Generator Simulink Verification and Validation (Model Advisor and Model Coverage) Simulink Code Inspector Polyspace products SystemTest OBJECT-ORIENTED TECHNOLOGY AND FORMAL METHODS With Model-Based Design it is possible to also use object-oriented technology and formal methods. For example, an automatic code generator could be used to generate C++ code, or a formal methods tool such as Simulink Design Verifier could be used to prove properties within a model. Additionally, the Polyspace formal methods tools could be used to find vulnerabilities in C++ code or to detect certain run-time errors in C or C++ code. In this case DO-332 and DO-333 may also apply. It is not the intent of this paper to detail the use of those technologies, but it is important to note they can be used concurrently. SUMMARY/CONCLUSIONS Since the original publication of DO-178B in 1992, the use of modeling and simulation has become the norm for many commercial and military projects. In fact, many systems built using these technologies have been certified under DO-178B. Unfortunately, engineering organizations and the certification authorities have been somewhat inconsistent with the application of this technology and the approval of systems developed using it. With the release of ARP4754A, DO-178C and DO-331, there is now guidance on how to use modeling and simulation in a robust and effective manner that both software practitioners and certification authorities can understand. REFERENCES 1. SAE ARP4754A Guidelines for Development of Civil Aircraft and Systems, dated December 2010 2. RTCA DO-178B Software Considerations in Airborne Systems and Equipment Certification, dated December 1, 1992 3. RTCA DO-278 Guidelines for Communication, Navigation, Surveillance and Air Traffic Management (CNS/ATM) Systems Software Integrity Assurance, dated March 5, 2002 4. RTCA DO-254 Design Assurance Guidance for Airborne Electronic Hardware, dated April 19, 2000 5. RTCA DO-178C Software Considerations in Airborne Systems and Equipment Certification, dated December 13, 2011 6. RTCA DO-278A Guidelines for Communication, Navigation, Surveillance and Air Traffic Management (CNS/ATM) Systems Software Integrity Assurance, dated December 13, 2011 7. RTCA DO-330 Software Tool Qualification Considerations, dated December 13, 2011 8. RTCA DO-331Model-Based Development and Verification Supplement to DO-178C and DO-278A, dated December 13, 2011 9. RTCA DO-332 Object-Oriented Technology and Related Techniques Supplement to DO-178C and DO-278A, dated December 13, 2011 10. RTCA DO-333 Formal Methods Supplement to DO-178C and DO-278A, dated December 13, 2011 Page 6 of 7

CONTACT INFORMATION Bill Potter MathWorks Email: bill.potter@mathworks.com Phone: 623-433-8801 ACKNOWLEDGMENTS DEFINITIONS/ABBREVIATIONS FAA EASA MCU DSP FPGA ASIC HDL Federal Aviation Administration European Aviation Safety Agency Micro Controller Unit Digital Signal Processor Field Programmable Gate Array Application Specific Integrated Circuit Hardware Description Language APPENDIX Page 7 of 7