Top Banner
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.
28

Safety-Critical Systems and The Benefits of Using Ada

Jul 07, 2015

Download

Software

Adrian Hoe

An introduction to the benefits of using Ada to develop safety-critical systems.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Safety-Critical Systems and The Benefits of Using Ada

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

Thank you!