31
Avionics Software Design Guidelines Implementing Requirements Specification Model Conclusion Avionic Software Certification and Regulation Kyle DeBates University of Minnesota, Morris April 20th, 2019 1 / 31

Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Avionic Software Certification and Regulation

Kyle DeBates

University of Minnesota, Morris

April 20th, 2019

1 / 31

Page 2: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

What are Avionics?

2 / 31

Page 3: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Introduction

The avionics industry currently lacks an explicit and transparentdesign methodology

Commercial guidelines direct the design process, however they donot determine how to design avionics

A clear need for generalized design methodology as systemscomplexity increases, which this research aims to provide

3 / 31

Page 4: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Outline

1 Avionics Software Design GuidelinesDO-178C and Design Assurance LevelsTerminology for Proposed Software DevelopmentMethodology

2 Implementing Requirements Specification ModelMethodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

3 Conclusion

4 / 31

Page 5: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

DO-178C Commercial Avionics Guidelines

The DO-178C is the third and newest revision of the industryguidelines for commercial aviation software approval [BKPK15]

Defines expected functionality and safety requirements as well asrequirements to avoid common errors

Used to establish compliance of avionics components and fullsystems of components for commercial airline use

5 / 31

Page 6: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

DO-178C Terminology

System and Safety Requirements Allocated to Software (SRATS)are the required goals for software design

This is reflected in the Design Assurance Levels (DALs)prioritization hierarchy

These assurance levels are heavily influenced by Contributions toFailure Conditions (CFCs)

6 / 31

Page 7: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

Design Assurance Levels (DALs)

Five distinct Design AssuranceLevels of DO-178C:

Level A 71 Obj CatastrophicLevel B 69 Obj HazardousLevel C 62 Obj MajorLevel D 26 Obj MinorLevel E 0 Obj No Effect

[Rus11]

Controllable variable: Datavalues manipulated arbitrarily bysoftware

Monitorable variable: Datavalues recorded in operationalenvironment

7 / 31

Page 8: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

Terminology for Proposed Software DevelopmentMethodology

System functionality categorizedto emulate Design AssuranceLevels:

High Level Requirements(HLRs)

Architectural Design Layer

Low Level Requirements(LLRs)

8 / 31

Page 9: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

DO-178C Vs. Software Development Methodology

Primary Differences:

SRATS are the general requirements of any system to achievedesired functionality

CFCs define possible issues precluding the failure of anysystem component

HLRs are used to specify the how and what of the operationalrequirements of SRATS

Architectural Layer is abstracted to assure necessaryinterconnectivity and further exhaustion of SRATS

LLRs are the specific software classes and methods required toactualize the HLRs with the proper outlined architecture

9 / 31

Page 10: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

DO-178C Vs. Software Development Methodology

Primary Differences:

SRATS are the general requirements of any system to achievedesired functionality

CFCs define possible issues precluding the failure of anysystem component

HLRs are used to specify the how and what of the operationalrequirements of SRATS

Architectural Layer is abstracted to assure necessaryinterconnectivity and further exhaustion of SRATS

LLRs are the specific software classes and methods required toactualize the HLRs with the proper outlined architecture

10 / 31

Page 11: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

DO-178C Vs. Software Development Methodology

Primary Differences:

SRATS are the general requirements of any system to achievedesired functionality

CFCs define possible issues precluding the failure of anysystem component

HLRs are used to specify the how and what of the operationalrequirements of SRATS

Architectural Layer is abstracted to assure necessaryinterconnectivity and further exhaustion of SRATS

LLRs are the specific software classes and methods required toactualize the HLRs with the proper outlined architecture

11 / 31

Page 12: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

DO-178C Vs. Software Development Methodology

Primary Differences:

SRATS are the general requirements of any system to achievedesired functionality

CFCs define possible issues precluding the failure of anysystem component

HLRs are used to specify the how and what of the operationalrequirements of SRATS

Architectural Layer is abstracted to assure necessaryinterconnectivity and further exhaustion of SRATS

LLRs are the specific software classes and methods required toactualize the HLRs with the proper outlined architecture

12 / 31

Page 13: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

DO-178C and Design Assurance LevelsTerminology for Proposed Software Development Methodology

DO-178C Vs. Software Development Methodology

Primary Differences:

SRATS are the general requirements of any system to achievedesired functionality

CFCs define possible issues precluding the failure of anysystem component

HLRs are used to specify the how and what of the operationalrequirements of SRATS

Architectural Layer is abstracted to assure necessaryinterconnectivity and further exhaustion of SRATS

LLRs are the specific software classes and methods required toactualize the HLRs with the proper outlined architecture

13 / 31

Page 14: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing High Level Requirements

1 HLRs are defined by naturallanguage

2 Refine SRATS to eliminateambiguity and envelopoperations requirements

3 Refer to SRATS for clarity ifHLRs become convoluted

[?]14 / 31

Page 15: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing High Level Requirements

1 HLRs are defined by naturallanguage

2 Refine SRATS to eliminateambiguity and envelopoperations requirements

3 Refer to SRATS for clarity ifHLRs become convoluted

[?]15 / 31

Page 16: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing High Level Requirements

1 HLRs are defined by naturallanguage

2 Refine SRATS to eliminateambiguity and envelopoperations requirements

3 Refer to SRATS for clarity ifHLRs become convoluted

[?]16 / 31

Page 17: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing Software Architecture

1 Establish what softwarecomponents will benecessary for each HLR

2 Identify the necessaryinterdependencies andrequired interfaces betweencomponents

3 Establish software classhierarchies within each HLRscomponents

17 / 31

Page 18: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing Software Architecture

1 Establish what softwarecomponents will benecessary for each HLR

2 Identify the necessaryinterdependencies andrequired interfaces betweencomponents

3 Establish software classhierarchies within each HLRscomponents

18 / 31

Page 19: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing Software Architecture

1 Establish what softwarecomponents will benecessary for each HLR

2 Identify the necessaryinterdependencies andrequired interfaces betweencomponents

3 Establish software classhierarchies within each HLRscomponents

19 / 31

Page 20: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing Low Level Requirements

1 Define expected behavior ofeach software class for theirsoftware components

2 Use HLR guidelines to refineambiguous softwarerequirements

3 Determine if moreinformation is necessary toimplement source code andrefine where necessary

20 / 31

Page 21: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing Low Level Requirements

1 Define expected behavior ofeach software class for theirsoftware components

2 Use HLR guidelines to refineambiguous softwarerequirements

3 Determine if moreinformation is necessary toimplement source code andrefine where necessary

21 / 31

Page 22: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Establishing Low Level Requirements

1 Define expected behavior ofeach software class for theirsoftware components

2 Use HLR guidelines to refineambiguous softwarerequirements

3 Determine if moreinformation is necessary toimplement source code andrefine where necessary

22 / 31

Page 23: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

State Machines in Unified Modeling Language

A state machine is a mathematical model of computation

Every state has a previous state, destination states, and thenecessary conditions to change states

Unified Modeling Language is used to visualize system design

UML state machines represents the status of a system

23 / 31

Page 24: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Example of LLR in UML Notation

HLR-6: Hydraulic Circuit Pressure Requirement 30,000kPa -35,000kPaInitiate Verify Within Operating Range LLRHLR-4: Terminate and Revert RequirementHLR-12: Hydraulic System Failure RequirementElse HLR-6 terminates successfully

24 / 31

Page 25: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Example of LLR in UML Notation

HLR-6: Hydraulic Circuit Pressure Requirement 30,000kPa -35,000kPaInitiate Verify Within Operating Range LLRHLR-4: Terminate and Revert RequirementHLR-12: Hydraulic System Failure RequirementElse HLR-6 terminates successfully

25 / 31

Page 26: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Example of LLR in UML Notation

HLR-6: Hydraulic Circuit Pressure Requirement 30,000kPa -35,000kPaInitiate Verify Within Operating Range LLRHLR-4: Terminate and Revert RequirementHLR-12: Hydraulic System Failure RequirementElse HLR-6 terminates successfully

26 / 31

Page 27: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Methodology to Establish Level RequirementsUse of State Machines for Enveloping Software Scenarios

Example of LLR in UML Notation

HLR-6: Hydraulic Circuit Pressure Requirement 30,000kPa -35,000kPaInitiate Verify Within Operating Range LLRHLR-4: Terminate and Revert RequirementHLR-12: Hydraulic System Failure RequirementElse HLR-6 terminates successfully

27 / 31

Page 28: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Conclusions

The lack of transparency in avionics industry design methodologyand documentation are shortcomings in current design practices

An explicit and generalized design methodology similar to what aspresented outlines the importance of a transparent requirementsspecification model

28 / 31

Page 29: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Acknowledgements and Special Thanks

I’d like to give thanks to:

Family and friends

Computer Science Professors and Colleagues

Audience

29 / 31

Page 30: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

References

Erik Blasch, Paul Kostek, Pavel Paces, and Kathleen Kramer,Summary of avionics technologies, IEEE Aerospace andElectronic Systems Magazine 30 (2015), 6–11.

John Rushby, New challenges in certification for aircraftsoftware, Proceedings of the Ninth ACM InternationalConference on Embedded Software (New York, NY, USA),EMSOFT ’11, ACM, 2011, pp. 211–218.

30 / 31

Page 31: Avionic Software Certi cation and Regulation€¦ · John Rushby, New challenges in certi cation for aircraft software, Proceedings of the Ninth ACM International Conference on Embedded

Avionics Software Design GuidelinesImplementing Requirements Specification Model

Conclusion

Discussion

Questions?

31 / 31