Daniel Jackson






Daniel Jackson is a professor in the Department of Electrical Engineering and Computer Science, associate director of CSAIL, and a MacVicar Fellow. He leads the Software Design Group. He received an MA from Oxford University in Physics, and his SM and PhD from MIT in Computer Science. He was a software engineer for Logica UK Ltd. and Assistant Professor of Computer Science at Carnegie Mellon University before joining the MIT faculty in 1997.

He has broad interests in software engineering, especially in development methods, design and specification, formal methods, and safety critical systems.




Alloy is a language for describing structures and a tool for exploring them. It has been used in a wide range of applications from finding holes in security mechanisms to designing telephone switching networks. Hundreds of projects have used Alloy for design analysis, for verification, for simulation, and as a backend for many other kinds of analysis and synthesis tools, and Alloy is currently being taught in courses worldwide.


An Interlock for Self Driving Cars

Self-driving cars are likely to be safer, on average, than human-driven cars. But they may fail in new and catastrophic ways that a human driver could prevent. This project is designing a new architecture for a highly dependable self-driving car.


Déjà Vu: Constructing Apps from Concepts

Déjà Vu is a new platform for end-user development of apps with rich functionality. It features a novel theory of modularity for binding concepts; an extensive library of reusable concepts; and a WYSIWYG tool for specifying bindings and customizing visual layout

 5 More