Hewitt is best known for his work on the actor model of computation. For the last decade, his work has been in "inconsistency robustness", which aims to provide practical rigorous foundations for systems dealing with pervasively inconsistent information. This work grew out of his doctoral dissertation focused on the procedural embedding of knowledge, which was embodied in the Planner programming language. His publications also include contributions in the areas of open information systems, organizational and multi-agent systems, logic programming, concurrent programming, paraconsistent logic and cloud computing.
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 intelligence 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 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. Planner also influenced the later development of other AI research languages such as Muddle and Conniver, as well as the Smalltalkobject-oriented programming language. Hewitt's own work on Planner continued with Muddle, 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.
Actor model
Hewitt's work on the actor model 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.
Selected works
Carl Hewitt. IJCAI'69.
Carl Hewitt, Peter Bishop and Richard Steiger. A Universal Modular Actor Formalism for Artificial Intelligence IJCAI'73.
Carl Hewitt and Henry Baker. Laws for Communicating Parallel Processes IFIP'77.
Carl Hewitt and Henry Baker. Proceeding of IFIP Working Conference on Formal Description of Programming Concepts. August 1-5, 1977.
William Kornfeld and Carl Hewitt. IEEE Transactions on Systems, Man, and Cybernetics. January 1981.
Carl Hewitt. The Challenge of Open Systems Byte Magazine. April 1985. (Reprinted in The foundation of artificial intelligence—a sourcebook Cambridge University Press. 1990