392205 System Safety und Security II (V) (SoSe 2014)

Contents, comment

Ultrareliable Software Programming with SPARK.

SPARK is a system consisting of executable imperative program code, a sublanguage of the language Ada, with a collection of tools which check exact properties of the executable code and its associated variable and data-structure declarations. The tools can be and should be used as the program code is being written, in order to rule out coding errors at the very time they might occur. This programming paradigm is known as "Correct-by-Construction", or CbC, programming. The SPARK toolset is built and maintained by the British company Altran-Praxis, and the environment in which it may be used, the GNU Ada Toolkit (GNAT) environment, which includes an Ada compiler for the resulting code, by the US company AdaCore. We use a GPL-licensed version. We also use tutorial material developed for use in industrial programming courses by Altran-Praxis.

Students in this course will learn to program in Ada as well as the use of the SPARK toolset to construct and check programs for desired properties rigorously. It is assumed that students know and can program in at least one imperative programming language such as C, Java or Pascal.

The tools include a data-flow checker, an information-flow checker and a pre-/postcondition theorem prover. The first two are algorithmic and fully automatic. The third must be "steered" by the programmer towards the goal. Unlike many programming languages such as C and Java, the sublanguage of Ada which SPARK executes is unambiguous; all programs written in SPARK have deterministic flow of control and deterministic behavior, which makes it especially suitable for the precise analysis required in developing safety-critical programs.

Software developed using these CbC techniques has shown itself to be considerably more error-free than critical software developed using other "standard" methods (deployed recent SPARK code has error rates of 1 in 25,000 lines of executable code (LOC); industry rumor says that "usual" methods result in error rates of about 1 in 1,000 LOC).

Programmers able to work with ultrareliability techniques such as CbC are increasingly in demand in industry. Digital systems are increasingly to be found in large engineered systems, and often take over safety-critical or security-critical roles. The suppliers of such software have a legal responsibility to ensure that the software is fit-for-purpose, and using CbC development methods helps discharge the responsibility to ensure that the software fulfils its specification.

The lecture, exercise session, and laboratory should be taken in the same semester, and count together for 5 credit points (LP). The points may be applied in the module System Safety and Security.

Requirements for participation, required level

Mathematik I, Einführung in die Informatik oder Algorithmen und Datenstrukturen
Nützlich: Theoretische Informatik

Teaching staff

Dates ( Calendar view )

Frequency Weekday Time Format / Place Period  

Show passed dates >>

Subject assignments

Module Course Requirements  
39-Inf-SYS2 System-Safety und -Security II: Sicherheit und Risiko System-Safety und -Security II: Sicherheit und Risiko Student information
- Graded examination Student information

The binding module descriptions contain further information, including specifications on the "types of assignments" students need to complete. In cases where a module description mentions more than one kind of assignment, the respective member of the teaching staff will decide which task(s) they assign the students.

Degree programme/academic programme Validity Variant Subdivision Status Semester LP  
Bioinformatik und Genomforschung / Bachelor (Enrollment until SoSe 2011) System-Safety- und System; System-Safety und -Security II Wahlpflicht 6. 3 unbenotet  
Informatik / Bachelor (Enrollment until SoSe 2011) Nebenfach System-Safety- und System; System-Safety und -Security II Wahlpflicht 6. 3 unbenotet  
Intelligente Systeme / Master (Enrollment until SoSe 2012) System-Safety; System-Safety und -Security II Wahlpflicht 2. 3 unbenotet  
Kognitive Informatik / Bachelor (Enrollment until SoSe 2011) System-Safety- und System; System-Safety und -Security II Wahlpflicht 6. 3 unbenotet  
Medieninformatik und Gestaltung / Bachelor (Enrollment until SoSe 2011) System-Safety; System-Safety und -Security II Wahlpflicht 6. 3 unbenotet  
Naturwissenschaftliche Informatik / Bachelor (Enrollment until SoSe 2011) System-Safety- und System; System-Safety und -Security II Wahlpflicht 6. 3 unbenotet  
Naturwissenschaftliche Informatik / Diplom (Enrollment until SoSe 2004) allgem.HS   HS
Naturwissenschaftliche Informatik / Master (Enrollment until SoSe 2012) System-Safety- und System; System-Safety und -Security II Wahlpflicht 2. 3 unbenotet  

No more requirements
No eLearning offering available
Registered number: 15
This is the number of students having stored the course in their timetable. In brackets, you see the number of users registered via guest accounts.
Address:
SS2014_392205@ekvv.uni-bielefeld.de
This address can be used by teaching staff, their secretary's offices as well as the individuals in charge of course data maintenance to send emails to the course participants. IMPORTANT: All sent emails must be activated. Wait for the activation email and follow the instructions given there.
If the reference number is used for several courses in the course of the semester, use the following alternative address to reach the participants of exactly this: VST_45118389@ekvv.uni-bielefeld.de
Coverage:
1 Students to be reached directly via email
Notes:
Additional notes on the electronic mailing lists
Last update basic details/teaching staff:
Friday, December 11, 2015 
Last update times:
Friday, December 20, 2013 
Last update rooms:
Friday, December 20, 2013 
Type(s) / SWS (hours per week per semester)
lecture (V) / 2
Department
Faculty of Technology
Questions or corrections?
Questions or correction requests for this course?
Planning support
Clashing dates for this course
Links to this course
If you want to set links to this course page, please use one of the following links. Do not use the link shown in your browser!
The following link includes the course ID and is always unique:
https://ekvv.uni-bielefeld.de/kvv_publ/publ/vd?id=45118389
Send page to mobile
Click to open QR code
Scan QR code: Enlarge QR code
ID
45118389