« January 2018 »
January
MoTuWeThFrSaSu
1234567
891011121314
15161718192021
22232425262728
293031
Uni-Logo
You are here: Home Teaching Student Projects and Thesis Topics Available [M.Sc. Teamproject] Case Study: Verified USB Driver
Document Actions

[M.Sc. Teamproject] Case Study: Verified USB Driver

Development of USB drivers for seamless connection of particular embedded devices to Windows PCs. On the PC side, the driver shall pass the WHQL quality criteria.

Course type M.Sc. Teamproject 
Instructors Bernd Westphal, Andreas Podelski, Daniel Dietsch, Sergio Alejandro Feo-Arenis
Credits 16 
Course Catalog Masterprojekt am Lehrstuhl für Softwaretechnik

Today, configuration and control of small embedded systems via PCs makes use of the classical serial RS232 interface.  On the one hand, modern PCs don't provide such an interface any more.  On the other hand, even small contemporary controllers employed in embedded systems often comprise an on-board USB port.  Therefore, users rightly expect tomorrow's embedded systems to interact seamlessly with the PC via USB ports.

The problem with embedded devices considered in this project is, that there are typically no standard drivers for the controller side.    The reason is simply, that these devices often don't even run an operating system which could provide a framework for a driver.  The controller manufacturer only provides exemplary implementations.  On the PC side, the problem is that the driver is supposed to be of high quality because the controlled embedded system may be critical.

In this project, the candidate is supposed to develop USB drivers for both sides.  The research task is to assess, on the one hand, the quality that can be ensured with static driver verification tools provided by Co.  Microsoft and on the other hand to assess in how far state-of-the-art software engineering methods can ensure quality of the USB driver on the controller side.

The candidate should have a fair background in software-engineering, interest in software development for embedded systems (in C), and at best some background in formal methods.

Note: This is a joint project with company SeCa GmbH. The project is supposed to be conducted as part of a 9 month internship (``Werkstudent'') where the candidate is employed as a student worker at SeCa.

 

Personal tools