Carl Hewitt
Encyclopedia
Carl Hewitt is Board Chair of the International Society for Inconsistency Robustness. He has been a Visiting Professor at Stanford University and the University of Keio. In 2000, he became emeritus in the EECS department at MIT.
Hewitt is known for his design of Planner
. This was the first programming language
based on procedural plans invoked using pattern-directed invocation from assertions and goals. Planner was influential in the development of both logic programming
and object-oriented programming
. He is also known for his work on the Actor model
of concurrent computation
, which influenced the development of the Scheme programming language and the π calculus, and served as an inspiration for several other programming languages. His publications also include contributions in the areas of open information systems, organizational and multi-agent system
s,
logic programming
, concurrent programming language
s,
direct inference, client cloud computing
. His Erdős number
is 3 (by two different co-authors).
in mathematics at MIT in 1971, under the supervision of Seymour Papert
, Marvin Minsky
, and Mike Paterson
. Hewitt started his employment at MIT in 1971. He retired from the faculty of the MIT Department of Electrical Engineering and Computer Science during the 1999-2000 school year. Among the doctoral students that Hewitt supervised during his time at MIT are Professor Gul Agha
, Dr. Russell Atkinson, Dr. Henry Baker
, Dr. Gerald Barber, Dr. Peter Bishop, Dr. Gene Ciccarelli, Professor William Clinger
, Dr. Peter de Jong, Dr. Michael Freiling, Dr. Irene Greif, Dr. Kenneth Kahn, Dr. William Kornfeld and Professor Akinori Yonezawa
.
From September 1989 to August 1990, Hewitt was the IBM Chair Visiting Professor in the Department of Computer Science at Keio University
in Japan.
pioneered by John McCarthy
. Planner has been described as "extremely ambitious". A subset of Planner called Micro-Planner was implemented at MIT by Gerry Sussman, Drew McDermott
, Eugene Charniak
and Terry Winograd
and was used in Winograd's famous SHRDLU
program, Charniak's natural language story understanding work, and L. Thorne McCarty's work on legal reasoning. Planner was almost completely implemented in Popler by Julian Davies at Edinburgh, where (together with earlier work at Edinburgh on Pico-Planner by Bruce Anderson) it influenced Robert Kowalski
and Pat Hayes
in the development of ideas that later became Prolog
. Planner also influenced the later development of other AI research languages such as Muddle and Conniver, as well as the Smalltalk
object-oriented programming language. Planner's seminal influence has been cited by John McCarthy
and Nils Nilsson.
Hewitt's own work on Planner continued with Muddle (later called MDL), which was developed in the early 1970s by Sussman, Hewitt, Chris Reeve, and David Cressey as a stepping-stone towards a full implementation of Planner. Muddle was implemented as an extended version of Lisp, and introduced several features that were later adopted by Conniver, Lisp Machine Lisp, and Common Lisp. However, in late 1972 Hewitt abruptly halted his development of the Planner design in his thesis, when he and his graduate students invented the Actor model
of computation.
of computation has spanned over 30 years, beginning with the introduction of the model in a 1973 paper authored by Hewitt, Peter Bishop, and Richard Steiger, and including new results on Actor model semantics published as recently as 2006. Much of this work was carried out in collaboration with students in Hewitt's Message Passing Semantics Group at MIT's Artificial Intelligence Lab.
Sussman and Steele developed the Scheme programming language
in an effort to gain a better understanding of the Actor model. However, their Scheme interpreter was not capable of fully implementing the Actor model because Actor customers cannot be implemented as lambda calculus continuations and Actors can change their local state in a way that is impossible in the lambda calculus A number of programming languages were developed to specifically implement the Actor model, such as ACT-1, SALSA
, Caltrop, E and ActorScript. The Actor model also influenced the development of the π-calculus. (See Actor model and process calculi history
.)
in which computing is performed in client clouds and information is stored encrypted in data centers so that it can be decrypted only used the client's private key
. His work on privacy aspects has been featured in O'Reilly Media
. He has also done extensive work on client cloud information integration.
Hewitt is known for his design of Planner
Planner programming language
Planner is a programming language designed by Carl Hewitt at MIT, and first published in 1969. First, subsets such as Micro-Planner and Pico-Planner were implemented, and then essentially the whole language was implemented in Popler...
. This was the first programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
based on procedural plans invoked using pattern-directed invocation from assertions and goals. Planner was influential in the development of both logic programming
Logic programming
Logic programming is, in its broadest sense, the use of mathematical logic for computer programming. In this view of logic programming, which can be traced at least as far back as John McCarthy's [1958] advice-taker proposal, logic is used as a purely declarative representation language, and a...
and object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
. He is also known for his work on the Actor model
Actor model
In computer science, the Actor model is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and...
of concurrent computation
Concurrent computing
Concurrent computing is a form of computing in which programs are designed as collections of interacting computational processes that may be executed in parallel...
, which influenced the development of the Scheme programming language and the π calculus, and served as an inspiration for several other programming languages. His publications also include contributions in the areas of open information systems, organizational and multi-agent system
Multi-agent system
A multi-agent system is a system composed of multiple interacting intelligent agents. Multi-agent systems can be used to solve problems that are difficult or impossible for an individual agent or a monolithic system to solve...
s,
logic programming
Logic programming
Logic programming is, in its broadest sense, the use of mathematical logic for computer programming. In this view of logic programming, which can be traced at least as far back as John McCarthy's [1958] advice-taker proposal, logic is used as a purely declarative representation language, and a...
, concurrent programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
s,
direct inference, client cloud computing
Cloud computing
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....
. His Erdős number
Erdos number
The Erdős number describes the "collaborative distance" between a person and mathematician Paul Erdős, as measured by authorship of mathematical papers.The same principle has been proposed for other eminent persons in other fields.- Overview :...
is 3 (by two different co-authors).
Education and career
Hewitt obtained his PhDPHD
PHD may refer to:*Ph.D., a doctorate of philosophy*Ph.D. , a 1980s British group*PHD finger, a protein sequence*PHD Mountain Software, an outdoor clothing and equipment company*PhD Docbook renderer, an XML renderer...
in mathematics at MIT in 1971, under the supervision of Seymour Papert
Seymour Papert
Seymour Papert is an MIT mathematician, computer scientist, and educator. He is one of the pioneers of artificial intelligence, as well as an inventor of the Logo programming language....
, Marvin Minsky
Marvin Minsky
Marvin Lee Minsky is an American cognitive scientist in the field of artificial intelligence , co-founder of Massachusetts Institute of Technology's AI laboratory, and author of several texts on AI and philosophy.-Biography:...
, and Mike Paterson
Mike Paterson
Michael Stewart "Mike" Paterson, is the director of the Centre for Discrete Mathematics and its Applications in the Department of Computer Science at the University of Warwick, and was chair of that department in 2005....
. Hewitt started his employment at MIT in 1971. He retired from the faculty of the MIT Department of Electrical Engineering and Computer Science during the 1999-2000 school year. Among the doctoral students that Hewitt supervised during his time at MIT are Professor Gul Agha
Gul Agha (computer scientist)
Gul Agha is a Professor in the Department of Computer Science at the University of Illinois at Urbana-Champaign, and Director of the Open Systems Laboratory. He is known for his work on the Actor model of concurrent computation, and was also Editor-in-Chief of ACM Computing Surveys from 1999 to...
, Dr. Russell Atkinson, Dr. Henry Baker
Henry Baker (computer scientist)
Henry Givens Baker Jr. is a computer scientist who has made contributions in garbage collection, functional programming languages, and linear logic. He was also one of the founders of Symbolics...
, Dr. Gerald Barber, Dr. Peter Bishop, Dr. Gene Ciccarelli, Professor William Clinger
William Clinger (computer scientist)
William D. Clinger is an Associate Professor in the College of Computer and Information Science at Northeastern University. Clinger is known for his work on higher-order and functional programming languages, and in particular for his contributions to the standardization of the Scheme programming...
, Dr. Peter de Jong, Dr. Michael Freiling, Dr. Irene Greif, Dr. Kenneth Kahn, Dr. William Kornfeld and Professor Akinori Yonezawa
Akinori Yonezawa
is a Japanese computer scientist specializing in object-oriented programming, distributed computing and information security. Being a graduate of the University of Tokyo, Yonezawa has a Ph.D in computer science from MIT in the Actor group at the MIT AI Lab. He currently teaches at the University of...
.
From September 1989 to August 1990, Hewitt was the IBM Chair Visiting Professor in the Department of Computer Science at Keio University
Keio University
,abbreviated as Keio or Keidai , is a Japanese university located in Minato, Tokyo. It is known as the oldest institute of higher education in Japan. Founder Fukuzawa Yukichi originally established it as a school for Western studies in 1858 in Edo . It has eleven campuses in Tokyo and Kanagawa...
in Japan.
Research
Hewitt's research has spanned a range of topics generally concerning the Procedural Embedding of Knowledge.Planner
The Planner language was developed during the late 1960s as part of Hewitt's doctoral research in MIT's Artificial Intelligence Laboratory. Hewitt's work on Planner introduced the notion of the "procedural embedding of knowledge", which was an alternative to the logical approach to knowledge encoding for artificial intelligenceArtificial intelligence
Artificial intelligence is the intelligence of machines and the branch of computer science that aims to create it. AI textbooks define the field as "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions that maximize its...
pioneered by John McCarthy
John McCarthy (computer scientist)
John McCarthy was an American computer scientist and cognitive scientist. He coined the term "artificial intelligence" , invented the Lisp programming language and was highly influential in the early development of AI.McCarthy also influenced other areas of computing such as time sharing systems...
. Planner has been described as "extremely ambitious". A subset of Planner called Micro-Planner was implemented at MIT by Gerry Sussman, Drew McDermott
Drew McDermott
Drew McDermott is a Professor of Computer Science at Yale University. He was born in 1949, and lived in the Midwestern United States , for four years, and in Brazil .-Education:...
, Eugene Charniak
Eugene Charniak
Eugene Charniak is a Computer Science and Cognitive Science professor at Brown University. He has an A.B. in Physics from The University of Chicago and a Ph.D. from M.I.T. in Computer Science. His research has always been in the area of language understanding or technologies which relate to it,...
and Terry Winograd
Terry Winograd
Terry Allen Winograd is an American professor of computer science at Stanford University, and co-director of the Stanford Human-Computer Interaction Group...
and was used in Winograd's famous SHRDLU
SHRDLU
SHRDLU was an early natural language understanding computer program, developed by Terry Winograd at MIT from 1968-1970. In it, the user carries on a conversation with the computer, moving objects, naming collections and querying the state of a simplified "blocks world", essentially a virtual box...
program, Charniak's natural language story understanding work, and L. Thorne McCarty's work on legal reasoning. Planner was almost completely implemented in Popler by Julian Davies at Edinburgh, where (together with earlier work at Edinburgh on Pico-Planner by Bruce Anderson) it influenced Robert Kowalski
Robert Kowalski
Robert "Bob" Anthony Kowalski is a British logician and computer scientist, who has spent most of his career in the United Kingdom....
and Pat Hayes
Patrick J. Hayes
Patrick John Hayes or Pat Hayes is a British computer scientist who lives and works in the United States. , he is a Senior Research Scientist at the Institute for Human and Machine Cognition in Pensacola, Florida. He received a B.A. in Mathematics from University of Cambridge and a Ph.D...
in the development of ideas that later became Prolog
Prolog
Prolog is a general purpose logic programming language associated with artificial intelligence and computational linguistics.Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is declarative: the program logic is expressed in terms of...
. Planner also influenced the later development of other AI research languages such as Muddle and Conniver, as well as the Smalltalk
Smalltalk
Smalltalk is an object-oriented, dynamically typed, reflective programming language. Smalltalk was created as the language to underpin the "new world" of computing exemplified by "human–computer symbiosis." It was designed and created in part for educational use, more so for constructionist...
object-oriented programming language. Planner's seminal influence has been cited by John McCarthy
John McCarthy (computer scientist)
John McCarthy was an American computer scientist and cognitive scientist. He coined the term "artificial intelligence" , invented the Lisp programming language and was highly influential in the early development of AI.McCarthy also influenced other areas of computing such as time sharing systems...
and Nils Nilsson.
Hewitt's own work on Planner continued with Muddle (later called MDL), which was developed in the early 1970s by Sussman, Hewitt, Chris Reeve, and David Cressey as a stepping-stone towards a full implementation of Planner. Muddle was implemented as an extended version of Lisp, and introduced several features that were later adopted by Conniver, Lisp Machine Lisp, and Common Lisp. However, in late 1972 Hewitt abruptly halted his development of the Planner design in his thesis, when he and his graduate students invented the Actor model
Actor model
In computer science, the Actor model is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and...
of computation.
Actor model
Hewitt's work on the Actor modelActor model
In computer science, the Actor model is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent digital computation: in response to a message that it receives, an actor can make local decisions, create more actors, send more messages, and...
of computation has spanned over 30 years, beginning with the introduction of the model in a 1973 paper authored by Hewitt, Peter Bishop, and Richard Steiger, and including new results on Actor model semantics published as recently as 2006. Much of this work was carried out in collaboration with students in Hewitt's Message Passing Semantics Group at MIT's Artificial Intelligence Lab.
Sussman and Steele developed the Scheme programming language
Scheme programming language
Scheme is one of the two main dialects of the programming language Lisp. Unlike Common Lisp, the other main dialect, Scheme follows a minimalist design philosophy specifying a small standard core with powerful tools for language extension. Its compactness and elegance have made it popular with...
in an effort to gain a better understanding of the Actor model. However, their Scheme interpreter was not capable of fully implementing the Actor model because Actor customers cannot be implemented as lambda calculus continuations and Actors can change their local state in a way that is impossible in the lambda calculus A number of programming languages were developed to specifically implement the Actor model, such as ACT-1, SALSA
SALSA programming language
The SALSA programming language is an actor-oriented programming language that uses concurrency primitives beyond asynchronous message passing, including token-passing, join, and first-class continuations...
, Caltrop, E and ActorScript. The Actor model also influenced the development of the π-calculus. (See Actor model and process calculi history
Actor model and process calculi history
The Actor model and process calculi share an interesting history and co-evolution.-Early work:The Actor model, first published in 1973, is a mathematical model of concurrent computation...
.)
Client cloud computing
In recent years, Hewitt's research has concentrated on the area of client cloud computingCloud computing
Cloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....
in which computing is performed in client clouds and information is stored encrypted in data centers so that it can be decrypted only used the client's private key
Public-key cryptography
Public-key cryptography refers to a cryptographic system requiring two separate keys, one to lock or encrypt the plaintext, and one to unlock or decrypt the cyphertext. Neither key will do both functions. One of these keys is published or public and the other is kept private...
. His work on privacy aspects has been featured in O'Reilly Media
O'Reilly Media
O'Reilly Media is an American media company established by Tim O'Reilly that publishes books and Web sites and produces conferences on computer technology topics...
. He has also done extensive work on client cloud information integration.
Selected works
- Carl Hewitt (1969). PLANNER: A Language for Proving Theorems in Robots IJCAI'69.
- Carl Hewitt, Peter Bishop and Richard Steiger (1973). A Universal Modular Actor Formalism for Artificial Intelligence IJCAI'73.
- Carl Hewitt and Henry BakerHenry Baker (computer scientist)Henry Givens Baker Jr. is a computer scientist who has made contributions in garbage collection, functional programming languages, and linear logic. He was also one of the founders of Symbolics...
(1977a). Laws for Communicating Parallel Processes IFIP'77. - Carl Hewitt and Henry BakerHenry Baker (computer scientist)Henry Givens Baker Jr. is a computer scientist who has made contributions in garbage collection, functional programming languages, and linear logic. He was also one of the founders of Symbolics...
(1977b). Actors and Continuous Functionals Proceeding of IFIP Working Conference on Formal Description of Programming Concepts. August 1–5, 1977. - William Kornfeld and Carl Hewitt (1981). The Scientific Community Metaphor IEEE Transactions on Systems, Man, and Cybernetics. January 1981.
- Henry Lieberman and Carl E. Hewitt (1983). A Real-Time Garbage Collector Based on the Lifetimes of Objects Communications of the ACM, 26(6).
- Carl Hewitt (1985). The Challenge of Open Systems Byte Magazine. April 1985. (Reprinted in The foundation of artificial intelligence—a sourcebook Cambridge University Press. 1990
External links
- Wittgenstein versus Gödel on the Foundations of Logic Stanford hour-long video with slides here on April 23, 2010 with participants including Solomon Feferman, Jeremy Forth, Grigori Mints, and Charles Petrie.
- How to Program the Many Cores for Inconsistency Robustness Stanford hour-long video with slides here on January 12, 2011 with participants including Dennis Allison, Douglas Crockford, and Andy Freeman