Dependable Embedded Systems Research:
- Toyota Unintended Acceleration talk
- Direct link to view slides | Download Slides
- Direct link to video
- Stress Tests for Autonomy Architectures (STAA) (web page ) This combines our experience with Ballista software robustness testing and invariant-based embedded safety monitors to create a testing approach that will help ensure autonomous vehicles and other robots are safe even if they encounter unexpected or exceptional operating conditions.
- Invariant-Based Embedded System Safety Monitor (Mini-poster )
Can we create a simple, generic safety shutdown building block? Ideally, what we want is a standard component building block to ensure that a subsystem or entire system gets shut down if it exhibits unsafe behavior, without having to model the details of the design. Example result: these ideas have been successfully applied to a prototype autonomous vehicles and a prototype commercial vehicle technology demonstration platform.
- Cyclic Redundancy Checks (CRCs) and Checksums
A lot of the folklore on checksums isn't quite right. We spent a considerable number of CPU-years crunching on a search for optimal polynomials. And we found them. Currently we are working with the FAA applying that knowledge to aviation applications.
Previous Projects and Other Topics:
How can you mitigate malicious and non-malicious timing fault propagation across an embedded network gateway? Or, put another way, how can you keep your car's radio from destabilizing you car's suspension system? Example result: using a FIFO queue to mitigate timing clumps from an IT-style network to a control network can be worse than just throwing clumped messages away. Predictive filters look like a good way to go instead.
How can you get cryptographically secure multicast authentication on a real time embedded network such as CAN or FlexRay? You only have a few bits to spend for this in each message, as well as limited
memory and CPU power. Example result: combining truncated authenticators from multiple message packets provides a useful engineering tradeoff among bandwidth, attack resistance, and control latency.
- 18-649 student info for Fall 2013: Please see the course page.
- 18-348 student info for Spring 2013: Please see the course page.
- 18-649 Distributed Embedded Systems (Every Spring since 2007, and taught many previous years as 18-549; every Fall starting Fall 2011). Complete lecture slides are on-line as an advanced embedded systems tutorial.
- 18-348 Embedded System Engineering (Fall 2006, 2007, 2009, every Spring starting Spring 2012)
- 18-849 Dependable Embedded Systems (Fall 2005, 2008, 2010). Includes an extensive reading list of scholarly papers on distributed systems, dependability, safety, and more.
- 18-548. Memory System Architecture (Fall 1998; discontinued). An old course, but it has on-line lecture notes that cover memory hierarchy top to bottom.
- Thoughts on Ph.D. Qualifiers
- Essay: How to Write an Abstract