User:Carl Hewitt
Carl Hewitt is Emeritus in the Electrical Engineering and Computer Science department at the Massachusetts Institute of Technology (MIT). He obtained his PhD in mathematics at MIT in 1971, under the supervision of Seymour Papert (adviser), Marvin Minsky, and Mike Paterson. From September 1989 to August 1990, Hewitt was the IBM Chair Visiting Professor in the Department of Computer Science at Keio University in Japan.
He is known for his design of Planner, which was the first Artificial Intelligence programming language based on procedural plans that were invoked using pattern-directed invocation from assertions and goals. Hewitt's work on Planner introduced the notion of the “procedural embedding of knowledge” by which knowledge could be programmed using pattern-directed invocation of plans from assertions and goals. The two major paradigms for constructing semantics software systems were procedural and logical. The procedural paradigm was epitomized by Lisp which featured recursive procedures that operated on list structures. The logical paradigm was epitomized by uniform resolution theorem provers. Planner was a kind of hybrid between the procedural and logical paradigms in that it featured a procedural interpretation of logical sentences. Planner was the first programming language based on the pattern-directed invocation of procedural plans from assertions and goals. The development of Planner was inspired by the work of Karl Popper, Frederic Fitch, George Polya, Allen Newell and Herbert Simon, John McCarthy, and Marvin Minsky. It was a rejection of the resolution uniform proof procedure paradigm.
A subset of Planner called Micro Planner was implemented by Gerry Sussman, Eugene Charniak and Terry Winograd. It was used in Winograd's famous SHRDLU program, and Eugene Charniak's natural language story understanding work as well as L. Thorne McCarty's work on legal reasoning. At Edinburgh, Julian Davies implemented essentially the whole language.
Using program schemata in collaboration with Mike Paterson, Hewitt proved that recursion is more powerful than iteration and that parallelism is more powerful than recursion. In 1977, Hewitt put forward the thesis that computational control structures can be viewed as patterns of passing messages. More recently using participatory semantics, he proved that coroutines are more powerful than recursion and that concurrency is more powerful than parallel coroutines.
In 1973, Carl Hewitt, Peter Bishop, and Richard Steiger published the first paper on the Actor Model of concurrent computation based on Actors which are the universal primitives of concurrent computation. Unlike previous models of computation, the Actor model was inspired by physical laws. It was also influenced by the programming languages Lisp, Simula, Smalltalk-72, as well as capability-based systems and packet switching. Its development was “motivated by the prospect of highly parallel computing machines consisting of dozens, hundreds or even thousands of independent microprocessors, each with its own local memory and communications processor, communicating via a high-performance communications network.” Since that time, the advent of massive concurrency through multi-core computer architectures and Web Services has rekindled interest in the Actor model. The Actor Model influenced the development of the Scheme programming language and process calculi. Building on the work of the members of the MIT Message Passing Semantics Group, Will Clinger developed the first denotational semantics for the Actor model. Subsequently Hewitt, developed a technically simpler model based on Timed Diagrams that is easier to understand.
Dana Scott developed a beautiful model for recursive functions based on domain theory. However, the central concept of continuity was not motivated on general computational grounds. In 1971, Carl Hewitt and Henry Baker proved that continuity follows from the laws for Actor Systems which are in turn motivated by the laws of physics.
Building on the Actor model of concurrent computation, Kornfeld and Hewitt developed the Scientific Community Metaphor based on the following principles:
- Monotonicity: Once something is published it cannot be withdrawn. Scientists publish their results so they are available to all. Published work is collected and indexed in libraries. Scientists who change their mind can publish later articles contradicting earlier ones. However, they are not allowed to go into the libraries and “erase” old publications.
- Concurrency: Scientists can work concurrently, overlapping in time and interacting with each other.
- Commutativity: Publications can be read regardless of whether they initiate new research or become relevant to ongoing research. Scientists who become interested in a scientific question typically make an effort to find out if the answer has already been published. In addition they attempt to keep abreast of further developments as they continue their work.
- Sponsorship: Sponsors provide resources for computation, i.e., processing, storage, and communications. Publication and subscription require sponsorship although sometimes costs can be offset by advertising.
- Pluralism: Publications include heterogeneous, overlapping and possibly conflicting information. There is no central arbiter of truth in scientific communities.
- Skepticism: Great effort is expended to test and validate current information and replace it with better information.
- Provenance: The provenance of information is carefully tracked and recorded.
Research Areas
Hewitt has worked in the following research areas:
- Actor Model of concurrent computation
- automata and program schema theory
- control structure theory
- commitment
- denotational semantics of concurrency
- garbage collection
- logic programming
- massive concurrency (Web Services and Multi-core)
- negotiation
- open systems
- ORGs (Organizations of Restricted Generality)
- Participatory Behavioral Model Checking
- participatory semantics
- programming language design and implementation
- Scientific Community Metaphor
- sociology and philosophy of science
- strongly paraconsistent logic
Doctoral Students
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.
Publications
- Manuel Blum and Carl Hewitt. Automata on a 2-Dimensional Tape FOCS 1967.
- Carl Hewitt (1969). PLANNER: A Language for Proving Theorems in Robots IJCAI'69.
- Mike Paterson and Carl Hewitt. Comparative Schematology MIT AI Memo 201. August 1970.
- Carl Hewitt. Procedural Embedding of Knowledge In Planner IJCAI. 1971.
- Carl Hewitt. Description and Theoretical Analysis (Using Schemata) of Planner, A Language for Proving Theorems and Manipulating Models in a Robot AI Memo No. 251, MIT Project MAC. April 1972
- Carl Hewitt, Peter Bishop, and Richard Steiger. A Universal Modular Actor Formalism for Artificial Intelligence IJCAI'73.
- Carl Hewitt, et al. Actor Induction and Meta-evaluation POPL'74.
- Carl Hewitt, et al. Behavioral Semantics of Nonrecursive Control Structure Proceedings of Colloque sur la Programmation, April 1974.
- Carl Hewitt. How to Use What You Know IJCAI'75
- Carl Hewitt and Henry Baker (1977a). Laws for Communicating Parallel Processes IFIP'77.
- Carl Hewitt and Henry Baker (1977b). Actors and Continuous Functionals IFIP Working Conference on Formal Description of Programming Concepts. August 1–5, 1977.
- Carl Hewitt (1977c).Viewing Control Structures as Patterns of Passing Messages Journal of Artificial Intelligence.
- Henry Baker and Carl Hewitt The Incremental Garbage Collection of Processes Proceeding of the Symposium on Artificial Intelligence Programming Languages. SIGPLAN Notices 12, August 1977.
- Carl Hewitt and Russ Atkinson. Synchronization in Actor Systems Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. 1977.
- Carl Hewitt and Russ Atkinson. Specification and Proof Techniques for Serializers IEEE Journal on Software Engineering. January 1979.
- Carl Hewitt, Beppe Attardi, and Henry Lieberman. Delegation in Message Passing Proceedings of First International Conference on Distributed Systems Huntsville, AL. October 1979.
- 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 CACM. 26(6).
- Carl Hewitt and Peter de Jong. Analyzing the Roles of Descriptions and Actions in Open Systems Proceedings of the National Conference on Artificial Intelligence. August 1983.
- Carl Hewitt and Henry Lieberman. Design Issues in Parallel Architecture for Artificial Intelligence MIT AI memo 750. Nov. 1983.
- 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).
- Carl Hewitt. Towards Open Information Systems Semantics Proceedings of 10th International Workshop on Distributed Artificial Intelligence. October 23-27, 1990. Bandera, Texas.
- Carl Hewitt. Open Information Systems Semantics Journal of Artificial Intelligence. January 1991.
- Carl Hewitt and Jeff Inman. DAI Betwixt and Between: From "Intelligent Agents" to Open Systems Science IEEE Transactions on Systems, Man, and Cybernetics. Nov./Dec. 1991.
- Carl Hewitt and Gul Agha. Guarded Horn clause languages: are they deductive and Logical? International Conference on Fifth Generation Computer Systems, Ohmsha 1988. Tokyo. Also in Artificial Intelligence at MIT, Vol. 2. MIT Press 1991.
- Carl Hewitt and Carl Manning. Negotiation Architecture for Large-Scale Crisis Management AAAI-94 Workshop on Models of Conflict Management in Cooperative Problem Solving. Seattle, WA. Aug. 4, 1994.
- Carl Hewitt. From Contexts to Negotiation Forums AAAI Symposium on Formalizing Context. November 10–11, 1995. Cambridge Mass
- Carl Hewitt and Carl Manning. Synthetic Infrastructures for Multi-Agency Systems Proceedings of ICMAS '96. Kyoto, Japan. December 8–13, 1996.
- Carl Hewitt (2006a) The repeated demise of logic programming and why it will be reincarnated What Went Wrong and Why: Lessons from AI Research and Applications. Technical Report SS-06-08. AAAI Press. March 2006.
- Carl Hewitt (2006b) What is Commitment? Physical, Organizational, and Social COIN@AAMAS'06.
- Carl Hewitt (2007a) Large-scale Organizational Computing requires Unstratified Paraconsistency and Reflection COIN@AAMAS'07.
- Carl Hewitt (2007b). ORGs (Organizations of Restricted Generality): Strong Paraconsistency and Participatory Behavioral Model Checking Discussed at MALLOW’07.
- Carl Hewitt (2007c). The downfall of mental agents in the implementation of large software systems What went wrong? AAAI Magazine. 2007.
- Carl Hewitt (2007d) The Logical Necessity of Inconsistency Edinburgh LFCS. 11th September 2007 and Stanford 26 September 2007.
- Carl Hewitt (2007e) Common sense for concurrency and strong paraconsistency using unstratified inference and reflection Submitted to AI Journal special issue on common sense. Discussed at Edinburgh LFCS. 11th September 2007 and Stanford 26 September 2007.
Seminars
- The Logical Necessity of Inconsistency Edinburgh LFCS. 11th September 2007.
- The Logical Necessity of Inconsistency Stanford Logic Group Meeting. 26 September 2007.