Designed for software engineers, managers, and quality assurance engineers interested
in learning more about safety critical programming.
Prerequsite
Programming experience with a general familiarity of a high level language (Ada, C, C++, JOVIAL, Fortran) is expected.
What You'll Learn
Understanding general programming issues,
how to perform code reviews, coding style guidelines, programming techniques and
how to use an ARINC-653 compliant RTOS are key elements for the success
of your safety critical project.
General programming issues
Performing code reviews are essential
Coding style guidelines
use meaningful types
Validate parameters and data retrieved from external devices
How representation clauses can help and harm the application
Use redundancy and compare results in critical algorithms using external data sources
Structures which can give better performance (how to structure a loop, how to take advantage of registers)
Avoid Dead Code
Extensive Unit Testing
Black box testing
White box testing
General programming techniques
Building with checks set to on to catch bugs, and then checks set to off to achieve extra buffer for worst case scenarios.
Benefits and dangers of using exceptions
Different methods for collecting important data to use in post mortem analysis when something does go wrong
Using an ARINC-653 compliant RTOS. This part of the class will be taught in the context of one specific RTOS
Basic theory of ARINC 653 (partitions, processes, communication)
Setting up effective health monitoring
Creating re-usable ARINC components
Dealing with interrupts (This can vary between RTOSs)
Overheads and problems associated with using the services of another partition,given that the execution of the other partition will be scheduled in a different time slot.
Customer Quote:
"You have talented and dedicated people working for you. They are superlative. DRS appreciates their efforts and I personally am most grateful to be working with such an excellent group."