![Page 1: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/1.jpg)
Michał Nowak (AdaStar, Poland)Adrian Hoe (AdaStar Informatics, Malaysia)
Safety-Critical Systems and The Benefits of
using Ada
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 2: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/2.jpg)
• What is it
• Characteristics
• Areas of use
• Standards and Methodologies
• Developing a safety-critical system
Safety-critical system
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 3: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/3.jpg)
Safety-Critical System What is it?
A computer, electronic or electromechanical system whose failure may cause injury or death to human beings.
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 4: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/4.jpg)
Safety-critical system
Characteristics
• Large and complex software
• Predictable, deterministic and precise
• Dependable (trustworthy, reliable)
• Often real-time or hard real-time
• Long-life software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 5: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/5.jpg)
Safety-critical systemCharacteristics: large and complex
• Realizes complex algorithms
• Redundancy
• Multitasking
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 6: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/6.jpg)
Safety-critical systemCharacteristics: predictable, deterministic and precise
State A
State B
Conditions
If the program is in State A and specified conditions occur, the program will go to State B and we always know what is State B.
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 7: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/7.jpg)
Safety-critical systemCharacteristics: dependability
• Availability (ready for use every time when needed)
• Reliability (continuation of service while used)
• Safety (does not have catastrophic effects on environment)
• Security (preserves confidentiality)
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 8: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/8.jpg)
Safety-critical systemCharacteristics: long-life software
Runs without stop (crash) for all the time it is supposed to run.
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 9: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/9.jpg)
Safety-critical systemAreas of use
• Command and Control (airports, railways)
• Avionics (civil and military)
• Power plants
• Medical systems
• Space shuttles (manned and unmanned)
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 10: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/10.jpg)
Safety-critical systemAreas of use (cont.)
• Trains, cars
• Telecommunications
• Information systems
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 11: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/11.jpg)
Safety-critical systemStandards and Methodologies
• DO-178B (Airborne civil avionics)
• IEC 880 (Nuclear power plants)
• IEC 601-4 (Medical systems)
• GAMP (Pharmaceutical)
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 12: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/12.jpg)
Safety-critical systemDeveloping a safety-critical system
• Write and validate necessary documentation
• Following the design specified in documentation implement the required functionality or reuse existing code
• Identify all hazard conditions and specify the way to mitigate each condition
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 13: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/13.jpg)
Safety-critical systemDeveloping a safety-critical system (cont.)
• Perform code review to check whether the code complies to design
• Write a set of tests that verify whether the software behaves as expected
• Perform coverage analysis
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 14: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/14.jpg)
Safety-critical systemDeveloping a safety-critical system (cont.)
Managing the errors
• Keep database of all errors found together with description of problem, conditions of occurrence and fixes
• First document the error, correct documentation or design, then correct the code
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 15: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/15.jpg)
• Readability
• Modularity
• Portability
• Strong-typing
• Standardization
• Specialized annexes
• Validated compilers (and runtime)
Benefits of Ada:
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 16: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/16.jpg)
Use of Ada to develop safety-critical software
Readability (creation stage)
• Code review stage
• code is easy to read and understand - does not contain any “magic” symbols
• notation often translates 1:1 to pseudo-language description of algorithms
• existing errors are easier to locate
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 17: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/17.jpg)
Readability (conclusions)
• More errors caught in shorter time
• Increased reliability
• Shorter development time
• Better code maintenance
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 18: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/18.jpg)
Modularity (creation stage)
• In most cases direct transformation from design phase to implementation phase (UML, HOOD)
• Code reuse
• Coding: each module can be assigned to a different programmer
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 19: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/19.jpg)
Modularity (conclusions)
• Increased reliability
• coding phase does not introduce new errors during transformation from design phase
• reused modules were previously tested
• Shorter development time
• reused modules were previously tested
• coding can be done concurrently, without waiting for previous modules to complete
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 20: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/20.jpg)
Portability
• Increased reliability
• reused code is already tested
• Shorter development time
• Easier maintenance
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 21: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/21.jpg)
Strong-typing (creation stage)
• Many errors caught during compilation
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 22: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/22.jpg)
Strong-typing (conclusions)
• Increased reliability
• Shorter development time
• no need to search for errors that were already found
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 23: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/23.jpg)
Standardization (creation stage)
• Design phase (no need to consider new libraries and environments)
• Programmers can easily move to another project
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 24: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/24.jpg)
Standardization (conclusions)
• Increased reliability
• the results of operations and runtime behavior is specified
• previously trained programmers gained experience
• Shorter development time
• no spending time for studying and learning new libraries
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 25: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/25.jpg)
Specialized annexes
• Annex C - Systems Programming
• Annex D - Real-time Systems
• Annex E - Distributed Systems
• Annex F - Information Systems
• Annex G - Numerics
• Annex H - Safety And Security
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 26: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/26.jpg)
Conclusions
• Ada helps to increase reliability of software
• Ada helps to shorten life cycle cost
Use of Ada to develop safety-critical software
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 27: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/27.jpg)
Use of Ada to develop software
• Your software does not have to be safety critical to be programmed in Ada
• You may have all benefits that Ada has in safety-critical programs for everyday coding
Copyright © 2004-2008 AdaStar (adastar.pl).Copyright © 2004-2008 AdaStar Informatics (adastarinformatics.com), AdrianHoe.com.
![Page 28: Safety-Critical Systems and The Benefits of Using Ada](https://reader033.vdocuments.us/reader033/viewer/2022052910/559ae2ec1a28aba0798b45a8/html5/thumbnails/28.jpg)
Thank you!