Daniel Jackson (computer scientist)

Last updated

Daniel Jackson
Daniel Jackson MIT (crop) 01.jpg
Alma mater
OccupationComputer scientist
Known for Lightweight formal methods, and the Alloy specification language
Scientific career
Institutions Massachusetts Institute of Technology
Doctoral advisor John Guttag

Daniel Jackson (born 1963) is a professor of Computer Science at the Massachusetts Institute of Technology (MIT). He is the principal designer of the Alloy modelling language, and author of the books Software Abstractions: Logic, Language, and Analysis [1] and The Essence of Software [2] . He leads the Software Design Group at MIT's Computer Science and Artificial Intelligence Laboratory.

Contents

Biography

Jackson was born in London, England, in 1963. [3] He studied physics at the University of Oxford, receiving an MA in 1984. After completing his MA, Jackson worked for two years as a software engineer at Logica UK Ltd. He then returned to academia to study computer science at MIT, where he received an SM in 1988, and a PhD in 1992. Following the completion of his doctorate Jackson took up a position as an Assistant Professor of Computer Science at Carnegie Mellon University, which he held until 1997. [4] He has been on the faculty of the Department of Electrical Engineering and Computer Science at MIT since 1997. In 2017 he became a Fellow of the Association for Computing Machinery. [5]

Jackson is also a photographer, and has an interest in the straight photography style. The MIT Museum commissioned a series of photographs of MIT laboratories from him, displayed from May to December 2012, to accompany an exhibit of images by Berenice Abbott. Jackson is the son of software engineering researcher Michael A. Jackson, [6] developer of Jackson Structured Programming (JSP), Jackson System Development (JSD), and the Problem Frames Approach.

Research

Jackson's research is broadly concerned with improving the dependability of software. He is a proponent of lightweight formal methods. [7] Jackson and his students developed the Alloy language and its associated Alloy Analyzer analysis tool to provide support for lightweight specification and modelling efforts. [8]

Between 2004 and 2007, Jackson chaired a multi-year United States National Research Council study on dependable systems. [9]

Selected publications

Related Research Articles

<span class="mw-page-title-main">Computer science</span> Study of computation

Computer science is the study of computation, information, and automation. Computer science spans theoretical disciplines to applied disciplines. Though more often considered an academic discipline, computer science is closely related to computer programming.

<span class="mw-page-title-main">Gerald Jay Sussman</span> American computer scientist

Gerald Jay Sussman is the Panasonic Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT). He has been involved in artificial intelligence (AI) research at MIT since 1964. His research has centered on understanding the problem-solving strategies used by scientists and engineers, with the goals of automating parts of the process and formalizing it to provide more effective methods of science and engineering education. Sussman has also worked in computer languages, in computer architecture, and in Very Large Scale Integration (VLSI) design.

<span class="mw-page-title-main">Alfred Aho</span> Canadian computer scientist

Alfred Vaino Aho is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming.

In computer science, formal methods are mathematically rigorous techniques for the specification, development, analysis, and verification of software and hardware systems. The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design.

<span class="mw-page-title-main">Leslie Lamport</span> American computer scientist and mathematician

Leslie B. Lamport is an American computer scientist and mathematician. Lamport is best known for his seminal work in distributed systems, and as the initial developer of the document preparation system LaTeX and the author of its first manual.

<span class="mw-page-title-main">Model checking</span> Computer science field

In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification. This is typically associated with hardware or software systems, where the specification contains liveness requirements as well as safety requirements.

<span class="mw-page-title-main">Shafi Goldwasser</span> Israeli American computer scientist

Shafrira Goldwasser is an Israeli-American computer scientist and winner of the Turing Award in 2012. She is the RSA Professor of Electrical Engineering and Computer Science at Massachusetts Institute of Technology; a professor of mathematical sciences at the Weizmann Institute of Science, Israel; the director of the Simons Institute for the Theory of Computing at the University of California, Berkeley; and co-founder and chief scientist of Duality Technologies.

<span class="mw-page-title-main">Silvio Micali</span> Italian-American computer scientist (born 1954)

Silvio Micali is an Italian computer scientist, professor at the Massachusetts Institute of Technology and the founder of Algorand, a proof-of-stake blockchain cryptocurrency protocol. Micali's research at the MIT Computer Science and Artificial Intelligence Laboratory centers on cryptography and information security.

<span class="mw-page-title-main">Barbara Liskov</span> American computer scientist

Barbara Liskov is an American computer scientist who has made pioneering contributions to programming languages and distributed computing. Her notable work includes the introduction of abstract data types and the accompanying principle of data abstraction, along with the Liskov substitution principle, which applies these ideas to object-oriented programming, subtyping, and inheritance. Her work was recognized with the 2008 Turing Award, the highest distinction in computer science.

<span class="mw-page-title-main">John Guttag</span> American computer scientist

John Vogel Guttag is an American computer scientist, professor, and former head of the department of electrical engineering and computer science at MIT. He conducts research on computer networks and medical applications of AI as co-lead of the MIT Computer Science and Artificial Intelligence Laboratory's Networks and Mobile Systems Group.

End-user development (EUD) or end-user programming (EUP) refers to activities and tools that allow end-users – people who are not professional software developers – to program computers. People who are not professional developers can use EUD tools to create or modify software artifacts and complex data objects without significant knowledge of a programming language. In 2005 it was estimated that by 2012 there would be more than 55 million end-user developers in the United States, compared with fewer than 3 million professional programmers. Various EUD approaches exist, and it is an active research topic within the field of computer science and human-computer interaction. Examples include natural language programming, spreadsheets, scripting languages, visual programming, trigger-action programming and programming by example.

Douglas Taylor "Doug" Ross was an American computer scientist pioneer, and chairman of SofTech, Inc. He is most famous for originating the term CAD for computer-aided design, and is considered to be the father of Automatically Programmed Tools (APT), a programming language to drive numerical control in manufacturing. His later work focused on a pseudophilosophy he developed and named Plex.

In computer science and software engineering, Alloy is a declarative specification language for expressing complex structural constraints and behavior in a software system. Alloy provides a simple structural modeling tool based on first-order logic. Alloy is targeted at the creation of micro-models that can then be automatically checked for correctness. Alloy specifications can be checked using the Alloy Analyzer.

Arvind is the Johnson Professor of Computer Science and Engineering in the Computer Science and Artificial Intelligence Laboratory (CSAIL) at the Massachusetts Institute of Technology (MIT). He is a Fellow of the Institute of Electrical and Electronics Engineers (IEEE) and the Association for Computing Machinery (ACM). He was also elected as a member into the National Academy of Engineering in 2008 for contributions to dataflow and multithread computing and the development of tools for the high-level synthesis of digital electronics hardware.

Computational thinking (CT) refers to the thought processes involved in formulating problems so their solutions can be represented as computational steps and algorithms. In education, CT is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could also execute. It involves automation of processes, but also using computing to explore, analyze, and understand processes.

<span class="mw-page-title-main">Michael Stonebraker</span> American computer scientist (born 1943)

Michael Ralph Stonebraker is a computer scientist specializing in database systems. Through a series of academic prototypes and commercial startups, Stonebraker's research and products are central to many relational databases. He is also the founder of many database companies, including Ingres Corporation, Illustra, Paradigm4, StreamBase Systems, Tamr, Vertica and VoltDB, and served as chief technical officer of Informix. For his contributions to database research, Stonebraker received the 2014 Turing Award, often described as "the Nobel Prize for computing."

Marinus Frans (Frans) Kaashoek is a Dutch computer scientist, entrepreneur, and Charles Piper Professor at the Massachusetts Institute of Technology.

Dawson R. Engler is an American computer scientist and an associate professor of computer science and electrical engineering at Stanford University.

Runtime predictive analysis is a runtime verification technique in computer science for detecting property violations in program executions inferred from an observed execution. An important class of predictive analysis methods has been developed for detecting concurrency errors in concurrent programs, where a runtime monitor is used to predict errors which did not happen in the observed run, but can happen in an alternative execution of the same program. The predictive capability comes from the fact that the analysis is performed on an abstract model extracted online from the observed execution, which admits a class of executions beyond the observed one.

References

  1. Jackson, Daniel (April 2006). Software Abstractions: Logic, Language, and Analysis. Cambridge, MA: MIT Press. ISBN   978-0-262-10114-1 . Retrieved 10 January 2009.
  2. Jackson, Daniel (November 2021). The Essence of Software. Princeton University Press. ISBN   978-0-691-225-388 . Retrieved 22 March 2024.
  3. Jackson, Daniel. "DANIEL JACKSON". Straight Photography by Daniel Jackson. Archived from the original on 13 November 2007. Retrieved 9 January 2009.
  4. "Prof. Daniel Jackson". CSAIL Software Design Group. Archived from the original on 9 August 2012. Retrieved 9 January 2009.
  5. Cacm Staff (March 2017), "ACM Recognizes New Fellows", Communications of the ACM , 60 (3): 23, doi:10.1145/3039921, S2CID   31701275 .
  6. Jackson, Daniel. "Daniel Jackson". CSAIL Faculty Pages. Retrieved 9 January 2009.
  7. Jackson, Daniel; Wing, Jeannette (April 1996). Saiedian, Hossein (ed.). "An Invitation to Formal Methods : Lightweight Formal Methods". IEEE Computer. 29 (4): 16. doi:10.1109/MC.1996.488298. S2CID   15230509.
  8. Jackson, Daniel (April 2002). "Alloy: A Lightweight Object Modelling Notation" (PDF). ACM Transactions on Software Engineering and Methodology. 11 (2): 256–290. CiteSeerX   10.1.1.12.4127 . doi:10.1145/505145.505149. S2CID   5683166.
  9. "Sufficient Evidence? Building Certifiably Dependable Systems". Computer Science and Telecommunications Board. The National Academies. Archived from the original on 27 April 2019. Retrieved 9 January 2009.