Software Development for Safe and Secure Systems (Course)

Software Development for Safe and Secure Systems


Lecturer: Prof. Dr. Stefan Lucks

The development of safe and reliable systems is a challenging task for both system architects and software developer.
Due to the raising awareness of the politics and mass media, IT-security is becoming an increasingly important aspect of the IT industry.

The course introduces the programming language Ada'05,which is considered particularly suitable for implementing secure and reliable systems. In addition, methods from the field of software engineering are presented, which serve the safety, reliability and maintainability of software systems.

Class Meeting:

Weekly, every Wednesday from 11:00 to 12:30 (beginning on April 08th, 2015)

Seminar room 015, B11 (Bauhausstraße 11)


  • Introduction
  • 1: A Crash Course in Ada
  • 2: Software Testing
  • 3: Design by Contract
  • 4: The Hoare Logic
  • 5: Welcome to SPARK 2014
  • 6: Distrubuted Systems and Concurrency
  • 7: Tasks: Concurrency in Ada
  • 8: Failure Tolerant and Reliable Systems
  • 9: Compiler Directives
  • 10: On Hacking and the Theory of Formal Languages
  • 11: Fibo and Nacci - A Hackers' Dramoletto


  • Ada Distilled (Richard Riehle)
  • Ada 95: The Craft of Object-Oriented Programming (John  English)
  • The Clean_Up Package
  • Richard E. Pattis, Textbook Errors in Binary Searching (1988)
  • p.gpr: a gnat project file for SPARK

Video Courses:

  • AdaCore currently offers short video courses on Overview and Basic Concepts of Ada

More Ressources:

  • Download GNAT GPL and SPARK GPL Editions
  • The Ada Programming Wikibook
  • The Ada Information Clearinghouse and its Ressources for Learning Ada


Oral examination

Target audience:

Master Computer Science and Media