1) What is DO-178B?
Software Considerations in Airborne Systems and Equipment Certification is a guidance document that focuses on software processes and objectives to comply with in these processes.
a)Developed by RTCA (RadioTechnical Commission for Aeronautics) a group composed of industry and Federal Aviation Administration (FAA) representatives.
b) A software process used primarily in FAA certified applications that attempts to ensure that any software used in airborne applications is safe.
c)FAA mandates that any software system installed on commercial aircraft must meet DO-178B objectives.
2) What is Software Life Cycle Process?
Software Life Cycle process is
iii)Software Quality and Certification
d)Life Cycle definition.
3) What is Software Planning Process?
a)Process activities, plans,standards are defined.
b)Software Life Cycles,Development Environment, Methods, Toolsare defined,
c)Transition criteria betweenprocesses are established.
d)All Objectives on DO-178B Guidelines, Table A-1
a)Plan for Software Aspects of Certification.
b)Software Development Plan.
c)Software Verification Plan.
d)Software Quality Assurance Plan.
e)Software Configuration Management Plan.
f)Software Requirements Standards.
g)Software Design Standards.
h)Software Coding Standards.
4) What is software Development Process?
a)Software high-level requirements, architecture, low-level requirements, source code, and executable object code are developed
b) All Objectives on DO-178B Guidelines, Table A-2
Life Cycle Processes:
a) Software Requirements Process
b) Software Design Process
c) Source Coding Process
d) Source Integration process
a) Software Requirements Data
b) Software Design Description (HLD & LLD)
c) Source Code (and other configuration files)
d) Executable Object Code
5) What is software Verification process?
Software Verification includes
c) development of test cases and procedures
d) execution of test procedures
The purpose of software verification process is to detect and report errors that may have been introduced during the software development processes. Removal of the errors is an activity of the software development processes.
The Verification process provides traceability between the implementation of the software requirements and verification of those requirements
The traceability between software requirements and the test cases is accomplished by requirements-based coverage analysis.
The traceability between the code structure and the test cases is accomplished by structural coverage analysis
a) The relevant Process outputs to be reviewed.
b) The inputs used for generating the process output
c) Software Verification Plan
d) The relevant review checklist
a) Review record/ Defect Record
b) Analysis Reports.
6) What is software Configuration Management Process?
a) Configuration items identified.
b) Problems reported.
c) Changes controlled and reviewed.
d) Archival, retrieval, release managed.
e) Load control managed.
f) All Objectives on DO-178B Guidelines, Table A-8
a) SCM Records.
b) Software Configuration Index
c) Problem Reports
d) Software Life Cycle Environment Configuration Index
7) What is software Quality assurance process?
a) Processes comply with approved plans and standards.
b) Transition criteria for software life cycle processes are satisfied.
c) All Objectives on DO-178B Guidelines, Table A-9
d) Software conformity review is conducted.
e) Software life cycle processes are complete.
f) Software life cycle data is complete.
g) Executable Object Code is controlled and can be regenerated.
a) Software Quality Assurance Records.
8) What is Certification liaison process?
a) Establish communication and understanding between applicant and certification authority (at start).
b) Agreement on means of compliance is obtained (at start).
c) Compliance substantiation is provided (at end).
d) All Objectives on DO-178B Guidelines, Table A-10
a) Plan for Software Aspects of Certification (? certification authority at start).
b) Software Configuration Index (? certification authority at end).
c) Software Accomplishment Summary (? certification authority at end).
d) Availability of all Software Life Cycle Data and producing up on request.
9) What is all the coverage of requirement based testing of all the levels?
Level A: Modified Condition Decision Coverage (MCDC) + Level B.
Level B: Decision Coverage+ Level C.
Level C: Statement Coverage.
Levels D & E: Not needed.
Levels A-C: Data and Control Coupling.
10) Why Structural coverage analysis is performed?
Structural Coverage Analysis is performed to determine if any un-covered code is due to:
a) Inadequate requirements-based tests: fix them!
b) Inadequate requirements: fix them!
c) Dead code: remove it!
d) Deactivated code: show that it can’t be inadvertently executed.
11) What is RTCA?
Radio Technical Commission for Aeronautics. RTCA,Inc. is a private, not-for-profit corporation that develops consensus-based recommendations regarding communications, navigation, surveillance, and air traffic management system issues. RTCA functions as a Federal Advisory Committee.
12) What is FAA?
Federal Aviation Administration, the organization responsible for controlling air traffic safety in the United States. FAA lists DO-178B as a means of compliance that is acceptable to the regulators of software in the avionics community.
13) What is EUROCAE?
European Organization for Civil Aviation Equipment. It is the European equivalent of RTCA. EUROCAE documents are considered by Joint Aviation Authorities as means of compliance to Joint Technical Standard Orders and other regulatory documents.
14) What is JAA?
Joint Aviation Authorities in Europe.The JAA and the FAA work together to create air traffic safety standards.
15) Who is DER?
A DER, Designated Engineering Representatives, is an experienced engineer designated by the FAA to approve engineering data used for certification. A DER evaluates processes for compliance with certification objectives. He ensures process complies by assessing plans and procedures for compliance.There are no DER in the JAA context.
16) What are failure conditions and Software levels?
DO-178B defines five software levels based on severity of failure .Each level is defined by the failure condition that can result from anomalous behavior of software. The software level is determined after system safety assessment and the safety impact of software is known
17) Failure Conditions and Categories?
Catastrophic: Failure conditions which would prevent continued safe flight and landing.
Ex. Flight Control System
Hazardous/Severe-Major: Failure conditions which would reduce the capability of the aircraft or the ability of the crew.
Ex. – Cabin Air Conditioning and Temperature Control System
Major: A significant reduction in safety margins or functional capabilities, a significant increase in crew workload.
Ex: Integrated Cooling System (ICS) & Forward Cargo Air Conditioning (FCAC).
Minor: Failure conditions involve crew actions that are well within their capabilities and significantly reduce aircraft safety.
Ex: In-Flight Entertainment System of any commercial aircraft in service
No Effect: Failure conditions which do not affect the operational capability of the aircraft or increase crew workload.
Ex. Vending machine on aircraft.
18) Does DO-178B can be applied for both Civil and Military aircraft application?
The guideline applies only for commercial aircraft’s and there are separate military standards but and at times defense may use it.
19) Who decides on the level of software to be qualified?
System Safety assessment department within an equipment manufacturing organization would provide the first level inputs on the same. This in itself is a detailed process.
20) What is Requirement process?
The software requirements process uses the outputs of the system life cycle process to develop the software high-level requirements. These high level requirements include Functional, performance, interface and safety-related requirements.
a) System requirements allocated to software
b) Safety requirements allocated to software including software level
c) Hardware definitions/interfaces and system architecture
d) Clarifications received from time to time on requirements during the requirement phase.
e) Software development plan
f) Software requirement standards
a) Software Requirements Specifications which defines the Software High Level Requirements and identifies the Derived High Level Requirements.
b) Establishment of traceability to System Requirements
21) What is Design Process?
The design description is definition of the software architecture and the low-level Requirements that will satisfy the software high-level requirements. This data should Include
§ Description of software architecture defining the software structure
§ Data flow and control flow of the design
§ Resource limitations, scheduling procedures and inter-processor/task communication
§ Partitioning methods and means of preventing partition breaches
a) SRS (Requirement data and other document)
b) Software Development Plan
c) Software Design Standard
d) High Level Design (software architecture)
e) Review feedback
a) Detailed Design Document defines software Low Level Requirements that will satisfy Software High Level Requirements. Derived Low Level requirements are identified separately.
b) Updated Traceability.
22) What is Coding Process?
In the software coding process, the Source Code is implemented from the software Architecture and the low-level requirements.
a) Software Development Plan
b) High-level design (SW Architecture)
c) Detailed design (Low-level requirement)
d) Coding standards and guidelines
a) Software Identification, including name and date of revision
b) Compiler instruction
c) Linking and loading data.
23) What are the Different Stages of Involvements(SOI) ?
a) Software Planning review Stage of Involvement (SOI) #1
b) Software Development review – Stage of Involvement (SOI) #2
c) Software Verification review Stage of Involvement (SOI) #3
d) Final Certification review – Stage of Involvement (SOI) #4
24) What is CC1 and CC2 ?
If an item, artifact is CC1 then it must have all those attributes in the table in section 7. Meaning it needs to have baselines, change management, etc.
If an item/artifact is CC2 then it doesn’t need all of those items. It really only needs to be retained. Simply put a CC1 item needs to be tracked where as a CC2 item needs to be stored.Typically a CC2 items tends to be “one-shots” like meeting minutes, reports, problem reports themselves, etc.Whereas CC1 items tend to be documents that need to be maintained, tracked and base lined. Is it a big deal in DO178B, well yes. If you don’t maintain the CC1 data as per the table, one isn’t following the process and hence can’t build the substantiation data required.
25) What is ATA number?
a) The ATA(Air Transport Association) 100 Chapter numbers was a common referencing standard for all commercial aircraft documentation.
b) This commonality permits greater ease of learning and understanding for pilots, aircraft maintenance technicians, and engineers alike
26) What is the Difference between Level A & Level B
2. Source to Object code verification,(Refer 188.8.131.52 b in DO178B.PDF)
27) Why Derived Requirements ?
We build systems to meet the requirements of our users. As we build systems, we take our user’s requirements and derive more requirements from them. Derived requirements are lesser than user requirements.It is easy, however, to forget this relationship, and this can cause many problems for our projects.
A derived requirement is something that we infer or derive from a user requirement. (For this article, let’s use the term user for the customer, user, and client. Let’s also use the term “user requirement” for something that the user wants.)
For example, suppose a user requirement is “the system must work outdoors, 12 months a year in Minnesota.”
Several derived requirements are (1) the system must work in temperatures below 10 degrees F and (2) the system
must work in the snow. We derive these requirements by delving into the details of the user requirement.
28)What are Planning Documents ?
The Planning documents are
- Plan for Software Aspects of Certification – PSAC
- Software Development Plan – SDP
- Software Verification Plan -SVP
- Software Configuration Management Plan – SCMP
- Software Quality Assurance Plan -SQAP
- Software Build/Integration Plan