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.
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.
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
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