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.


Rethinking Software Design

What is design thinking in the context of software? We're developing a new approach to software design that achieves usability and robustness by going deeper than the user interface.


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


Community of Research

Human-Computer Interaction Community of Research

The focus of the HCI CoR is inventing new systems and technology that lie at the interface between people and computation, and understanding their design, implementation, and societal impact.

Community of Research

Systems Community of Research

The Systems CoR is focused on building and investigating large-scale software systems that power modern computers, phones, data centers, and networks, including operating systems, the Internet, wireless networks, databases, and other software infrastructure.

 1 More