Title

Applying Formal Verification Methods to Embedded Systems


Type

Joint weekly Seminar with the Embedded Software Laboratory in Theoretical and Practical CS (at Aachen)


News


Important Dates

05.02.2009   Introduction to topics 
  (8:30 at seminar room of I11 (no. 2323)) 
6 weeks before talk   literature & structure 
2 weeks before talk   final version of paper 
1 week before talk   final version of slides 

Contents

An embedded system is a special-purpose computer system designed to perform a dedicated functions. Embedded means that it is part of a complete device including hardware and mechanical parts. Embedded systems control many of the common devices in use today.

 

The dramatically increasing amount and importance of software in such systems poses new challenges to their engineering. Today's cars, for example, host nearly 1 GByte of code distributed over up to 70 electronic control units interconnected with up to five different buses. The key to meeting the challenges posed by this rising system complexity can be found in a sound design and analysis of the system's architecture. Therefore one is interested in design and analysis methods for system and software architecture that support the achievement of predefined quality goals and, in particular, meet current requirements like composability and exchangeability of software components from different sources and throughout the complete vehicle network.

 

Traditional methods for achieving safety properties mostly originate from hardware-dominated systems. Software-intensive embedded systems require new approaches, as they are for example suggested by the emerging standard IEC 61508. The goal of this seminar is to study constructive and analytical methods for ensuring safety that have a sound formal basis but are also efficiently applicable in different domains, like automotive or railway systems.


Topics

Each of the following topics is covered by two presentations, covering (a) its formal foundations (theoretical part) and (b) tool-supported applications (practical part), respectively. Talks are scheduled as "double features" from 15:00 to 16:30 on Tuesday at the seminar room of I11 (room 2323). The calendar dates are shown below.

 

No.

Date

Topic

Student

Supervisor

1(a)

21.04.

Data and Control Flow Analysis

Xiaoying Hu

1(b)

(entfällt)

Worst-Case Execution Time Analysis

Angel Tchorbadjiiski

2(a)

28.04.

Abstract Interpretation

Holger Hoffmann

2(b)

28.04.

Abstract Interpretation of Reactive Systems

Julia Bley

3(a)

(entfällt)

Program Transformation by Slicing

Falak Sher

3(b)

12.05.

Application of Slicing to Model Checking

Wenzheng Gao

4(a)

12.05.

Separation Logic

Philipp Siebenkotten

4(b)

(entfällt)

Shape Analysis

Christian Bryllok

5(a)

19.05.

(at I2!)

Model Checking for Computation Tree Logic

Stefan Breuer

5(b)

(entfällt)

The [mc]square Tool

Sebastian Kaufmann

6(a)

(entfällt)

Runtime Verification Using Linear Temporal Logic

Fehmi Karanfil

6(b)

19.05.

The Java PathFinder Tool

Norbert Wiechowski

7(a)

26.05.

Model Checking for Timed Automata

Daniel Schemmel

7(b)

(entfällt)

The UPPAAL Tool

Rajeevan Rabindran

8(a)

30.06.

Model Checking for Hybrid Automata

Ivan Golod

8(b)

(entfällt)

The PHAVER Tool

Mustafa Karafil

9(b)

30.06.

Validating Wireless Sensor Network Protocols

Andreas Weigelt

9(a)

14.07.

Probabilistic Model Checking

Mike Schmitz

10(a)

(entfällt)

Equivalences: Simulation and Bisimulation

Andreas Hüttig

10(b)

(entfällt)

Dead Variable Reduction and Path Reduction

Aamer Shah

 

 


Literature

No.

Literature

1(a)

Flemming Nielson, Hanne R. Nielson, Chris Hankin: Principles of Program Analysis, 2nd ed., Springer, 2005 (Sct. 1.3 and 2)

1(b)

Christian Ferdinand, Reinhold Heckmann, Marc Langenbach, Florian Martin, Michael Schmidt, Henrik Theiling, Stephan Thesing, Reinhard Wilhelm: Reliable and Precise WCET Determination for a Real-Life Processor, EMSOFT 2001, LNCS 2211, 2001, 469-485

2(a)

Flemming Nielson, Hanne R. Nielson, Chris Hankin: Principles of Program Analysis, 2nd ed., Springer, 2005 (Sct. 1.5 and 4)

2(b)

D. Dams, R. Gerth, O. Grumberg: Abstract Interpretation of Reactive Systems, ACM Transactions on Programming Languages and Systems 19(2), 1997, 253-291

3(a)

F. Tip: A Survey of Program Slicing Techniques, Journal of Programming Languages 3(3), 1995, 121-189

3(b)

J.Hatcliff, M.B.Dwyer, H.Zheng: Slicing Software for Model Construction. J. Higher Order Symbol. Comput. 13(4):315-353, 2000

4(a)

John C. Reynolds: Separation Logic: A Logic for Shared Mutable Data Structures. LICS 2002: 55-74

Alexey Gotsman, Josh Berdine, Byron Cook: Interprocedural Shape Analysis with Separated Heapabstractions A, SAS 2006, LNCS 4134, 240-260

4(b)

Dino Distefano, Peter W. O'Hearn, Hongseok Yang: A local shape analysis based on separation logic, In Proceedings of the 12th International Conference on Tools and Algorithms for the Construction and Analysis of Systems vol. 3920, pp. 287-302, April 2006

5(a)

C. Baier, J.-P. Katoen: Principles of Model Checking, MIT Press, 2008 (Sct. 6)

5(b)

Bastian Schlich and Stefan Kowalewski: [mc]square: A model checker for microcontroller code, In Proc. 2nd Int'l Symp. Leveraging Applications of Formal Methods, Verification and Validation (IEEE-ISoLA 2006), pages 466-473, IEEE Computer Society

Bastian Schlich: Model Checking of Software for Microcontrollers, Dissertation Thesis. AIB-2008-14, RWTH Aachen University, 2008

6(a)

V. Stolz, F. Huch: Runtime verification of Concurrent Haskell programs. Proceedings of the Fourth Workshop on Runtime Verification (RV 2004), ENTCS 113, Elsevier, 2004, 201-216
V. Stolz, E. Bodden: Temporal Assertions using AspectJ, Proceedings of the Fifth Workshop on Runtime Verification (RV 2005), ENTCS 144(4), 2006,109-124

6(b)

K. Havelund and J. Skakkebaek: Applying Model Checking in Java Verification, In Proc. of the 7th Workshop on the SPIN Verification System, 1999, 216-231, LNCS

7(a)

François Laroussinie, Nicolas Markey, Ph. Schnoebelen: Model Checking
Timed Automata with One or Two Clocks. CONCUR 2004: 387-401. LNCS, Springer Verlag.

7(b)

Ansgar Fehnker, Lodewijk van Hoesel and Angelika Mader: Modelling and Verification of the LMAC Protocol for Wireless Sensor Networks, Integrated Formal Methods, pages 253-272, LNCS, 2007

8(a)

Rajeev Alur, Costas Courcoubetis, Nicolas Halbwachs, Thomas A.
Henzinger, Pei-Hsin Ho, Xavier Nicollin, Alfredo Olivero, Joseph
Sifakis, Sergio Yovine: The Algorithmic Analysis of Hybrid Systems.
Theor. Comput. Sci. (TCS) 138(1):3-34 (1995)

8(b)

Goran Frehse: PHAVer: algorithmic verification of hybrid systems past HyTech, International Journal on Software Tools for Technology Transfer (STTT), pages 263-279, 2008

9(a)

C. Baier, J.-P. Katoen: Principles of Model Checking, MIT Press, 2008 (Sct. 10)

9(b)

A. Boulis, A. Fehnker, M. Fruth, A. McIver. CaVi -- Simulation and Model Checking for Wireless Sensor Networks. QEST 2008. (pdf).

10(a)

C. Baier, J.-P. Katoen: Principles of Model Checking, MIT Press, 2008 (Sct. 7)

10(b)

Bastian Schlich, Jann Löll, Stefan Kowalewski: Application of Static Analyses for State Space Reduction to Microcontroller Assembly Code, Formal Methods for Industrial Critical Systems, pages 21-37, 2008, LNCS

Karen Yorav and Orna Grumberg: Static Analysis for State-Space Reductions Preserving Temporal Logics, Formal Methods in System Design, pages 67-96, 2004

 

 


Requirements

  • Vordiplom Informatik or Bachelor in Computer Science (in particular: basic knowledge in Automata Theory and Formal Languages)
  • The written exposition and the presentation can be done in either German or English.
  • Basic knowledge in Embedded Systems and Model-Checking techniques is not mandatory but helpful.


Contact person