Jump to content

Carl Hewitt: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
+{{pp-semi-blp|small=yes}}
reverting removal of 'criticism of Wikipedia' section; was not justified under WP:BLP or WP:Undo weight
Line 25: Line 25:


[[Gerry Sussman|Sussman]] and [[Guy L. Steele|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 it did not include primitives for representing synchronizers or mutable cells,<ref>{{cite journal|last=Sussman|first=Gerald Jay|coauthors=Guy L. Steele|date=1998|title=The First Report on Scheme Revisited |journal=Higher-Order and Symbolic Computation|publisher=Kluwer Academic Publishers|location=Boston|volume=11|pages=399–404|url=http://www.brics.dk/~hosc/local/HOSC-11-4-pp399-404.pdf|accessdate=2009-01-03|quote=We concluded that actors and closures were effectively the same concept. (Hewitt later agreed with this, but noted that two types of primitive actors in his theory, namely cells (which have modifiable state) and synchronizers (which enforce exclusive access), cannot be expressed as closures in a lexically scoped pure Lisp without adding equivalent primitive extensions.)}}</ref> and because Scheme is not a concurrent language. A number of programming languages were developed to specifically implement the Actor model, such as ACT-1,<ref>Henry Lieberman, "[http://web.media.mit.edu/%7Elieber/Lieberary/OOP/Act-1/Concurrent-OOP-in-Act-1.html Concurrent Object-Oriented Programming in Act 1]", In Object-Oriented Concurrent Programming, A. Yonezawa and M. Tokoro, eds., MIT Press, 1987.</ref> [[SALSA programming language|SALSA]],<ref>C. Varela and G. Agha. [http://www.cs.rpi.edu/%7Ecvarela/oopsla2001.pdf Programming Dynamically Reconfigurable Open Systems with SALSA]. OOPSLA 2001 Intriguing Technology Track. ACM SIGPLAN Notices, 36(12):20-34, December 2001.</ref> Caltrop,<ref>{{cite paper|author=Johan Eker|coauthors=Jörn W. Janneck|title= An introduction to the Caltrop actor language |url = http://embedded.eecs.berkeley.edu/caltrop/docs/CaltropWhitePaper.pdf|format=PDF| accessdate = 2007-06-20}}</ref> [[E programming language|E]]<ref name="miller2006"/> and ActorScript.<ref name="Hewitt2008b"/> The Actor model also influenced the development of the [[pi calculus|&pi;-calculus]].<ref>Robin Milner Elements of interaction: Turing award lecture CACM. January 1993.</ref> (See [[Actor model and process calculi history]].)
[[Gerry Sussman|Sussman]] and [[Guy L. Steele|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 it did not include primitives for representing synchronizers or mutable cells,<ref>{{cite journal|last=Sussman|first=Gerald Jay|coauthors=Guy L. Steele|date=1998|title=The First Report on Scheme Revisited |journal=Higher-Order and Symbolic Computation|publisher=Kluwer Academic Publishers|location=Boston|volume=11|pages=399–404|url=http://www.brics.dk/~hosc/local/HOSC-11-4-pp399-404.pdf|accessdate=2009-01-03|quote=We concluded that actors and closures were effectively the same concept. (Hewitt later agreed with this, but noted that two types of primitive actors in his theory, namely cells (which have modifiable state) and synchronizers (which enforce exclusive access), cannot be expressed as closures in a lexically scoped pure Lisp without adding equivalent primitive extensions.)}}</ref> and because Scheme is not a concurrent language. A number of programming languages were developed to specifically implement the Actor model, such as ACT-1,<ref>Henry Lieberman, "[http://web.media.mit.edu/%7Elieber/Lieberary/OOP/Act-1/Concurrent-OOP-in-Act-1.html Concurrent Object-Oriented Programming in Act 1]", In Object-Oriented Concurrent Programming, A. Yonezawa and M. Tokoro, eds., MIT Press, 1987.</ref> [[SALSA programming language|SALSA]],<ref>C. Varela and G. Agha. [http://www.cs.rpi.edu/%7Ecvarela/oopsla2001.pdf Programming Dynamically Reconfigurable Open Systems with SALSA]. OOPSLA 2001 Intriguing Technology Track. ACM SIGPLAN Notices, 36(12):20-34, December 2001.</ref> Caltrop,<ref>{{cite paper|author=Johan Eker|coauthors=Jörn W. Janneck|title= An introduction to the Caltrop actor language |url = http://embedded.eecs.berkeley.edu/caltrop/docs/CaltropWhitePaper.pdf|format=PDF| accessdate = 2007-06-20}}</ref> [[E programming language|E]]<ref name="miller2006"/> and ActorScript.<ref name="Hewitt2008b"/> The Actor model also influenced the development of the [[pi calculus|&pi;-calculus]].<ref>Robin Milner Elements of interaction: Turing award lecture CACM. January 1993.</ref> (See [[Actor model and process calculi history]].)

== Criticism of Wikipedia ==
In 2006, Carl Hewitt was banned from editing those parts of [[Wikipedia]] that pertain to himself and his work.<ref>{{cite book|first1=Phoebe|last1=Ayers|first2=Charles|last2=Matthews|first3=Ben|last3=Yates|title=How Wikipedia Works: And How You Can Be a Part of It|chapter=The Wikipedia Model Debated|url=http://howwikipediaworks.com/ch02s03.html|publisher=No Starch Press|year=2008|isbn=159327176X}}</ref> He has since been highly critical of Wikipedia editing policies and perceived censorship; in particular, he claims that the combined effect of the policies of "neutral point of view",<ref>http://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view</ref> "no original research",<ref>http://en.wikipedia.org/wiki/Wikipedia:No_original_research</ref> "conflict of interest",<ref>http://en.wikipedia.org/wiki/Wikipedia:Conflict_of_interest</ref> and anonymity of its contributors,<ref>http://en.wikipedia.org/wiki/Wikipedia:OUTING#Posting_of_personal_information</ref> as currently practiced by Wikipedia, are in conflict with normal academic practice and with expert academic participation.<ref>{{cite web|author = Carl Hewitt |title= Corruption of Wikipedia|url=http://knol.google.com/k/carl-hewitt-httpcarlhewittinfo/corruption-of-wikipedia/pcxtp4rx7g1t/5?domain=knol.google.com&locale=en#|year = 2008|accessdate = 2009-01-04}}</ref>

Hewitt's changes to the "Logic programming"<ref>http://en.wikipedia.org/wiki/Logic_programming</ref> article sparked some criticism by [[Robert Kowalski]] and the logic programming community.<ref>{{cite journal|journal=Association for Logic Programming Newsletter|volume=20|number=2|date=May/June 2007|title=Logic Programming in Wikipedia Update|author=Robert Kowalski|authorlink=Robert Kowalski|url=http://www.cs.kuleuven.ac.be/~dtai/projects/ALP/newsletter/may07/content/vol20no2.pdf}}</ref>


==Selected works==
==Selected works==

Revision as of 03:29, 11 August 2009

Carl E. Hewitt is Associate Professor Emeritus in the Electrical Engineering and Computer Science department at the Massachusetts Institute of Technology (MIT).[1]

Hewitt is known for his design of Planner.[2] This was the first programming language based on procedural plans that were 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,[3] which influenced the development of the Scheme programming language[4] and the π calculus,[5] and served as an inspiration for several other programming languages.[6] His publications also include contributions in the areas of open information systems,[7] multi-agent systems,[8] logic programming,[2][9] concurrent programming languages,[10] paraconsistent logic,[11] cloud computing.[12][13] Hewitt's Erdős number is 3 (by two different co-authors).

Education and career

Hewitt obtained his PhD 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.[14] He retired from the faculty of the MIT Department of Electrical Engineering and Computer Science during the 1999-2000 school year.[15] 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.[16]

From September 1989 to August 1990, Hewitt was the IBM Chair Visiting Professor in the Department of Computer Science at Keio University in Japan.[17]

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",[18] which was an alternative to the logical approach to knowledge encoding for artificial intelligence pioneered by John McCarthy.[19] Planner has been described as "extremely ambitious".[20] A subset of Planner called Micro-Planner was implemented at MIT by Gerry Sussman, Drew McDermott, Eugene Charniak and Terry Winograd[21] and was used in Winograd's famous SHRDLU program,[22] Charniak's natural language story understanding work,[23] and L. Thorne McCarty's work on legal reasoning.[24] Planner was almost completely implemented in Popler[25] by Julian Davies at Edinburgh, where (together with earlier work at Edinburgh on Pico-Planner by Bruce Anderson[26]) it influenced Robert Kowalski and Pat Hayes in the development of ideas that later became Prolog.[27][28] Planner also influenced the later development of other AI research languages such as Muddle and Conniver,[20] as well as the Smalltalk object-oriented programming language.[29] Planner's seminal influence has been cited by John McCarthy[30] and Nils Nilsson.[31]

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.[20] 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,[32] and including new results on Actor model semantics published as recently as 2006.[33] Much of this work was carried out in collaboration with students in Hewitt's Message Passing Semantics Group at MIT's Artificial Intelligence Lab.[34]

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 it did not include primitives for representing synchronizers or mutable cells,[35] and because Scheme is not a concurrent language. A number of programming languages were developed to specifically implement the Actor model, such as ACT-1,[36] SALSA,[37] Caltrop,[38] E[6] and ActorScript.[10] The Actor model also influenced the development of the π-calculus.[39] (See Actor model and process calculi history.)

Criticism of Wikipedia

In 2006, Carl Hewitt was banned from editing those parts of Wikipedia that pertain to himself and his work.[40] He has since been highly critical of Wikipedia editing policies and perceived censorship; in particular, he claims that the combined effect of the policies of "neutral point of view",[41] "no original research",[42] "conflict of interest",[43] and anonymity of its contributors,[44] as currently practiced by Wikipedia, are in conflict with normal academic practice and with expert academic participation.[45]

Hewitt's changes to the "Logic programming"[46] article sparked some criticism by Robert Kowalski and the logic programming community.[47]

Selected works

See also

References

  1. ^ "EECS Department Faculty", MIT, accessed November 12, 2007.
  2. ^ a b Carl Hewitt. PLANNER: A Language for Proving Theorems in Robots IJCAI. 1969.
  3. ^ Filman, Robert (1984). "Actors". Coordinated Computing - Tools and Techniques for Distributed Software. McGraw-Hill. p. 145. ISBN 0-07-022439-0. Carl Hewitt and his colleagues at M.I.T. are developing the Actor model. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  4. ^ Krishnamurthi, Shriram (1994). "An Introduction to Scheme". Crossroads. 1 (2): 19. doi:10.1145/197149.197166. {{cite journal}}: Unknown parameter |month= ignored (help)
  5. ^ Milner, Robin (1993). "ACM Turing Award Lecture: The Elements of Interaction" (PDF). Communications of the ACM. 36 (1): 78. doi:10.1145/151233.151240. {{cite journal}}: Unknown parameter |month= ignored (help)
  6. ^ a b Mark S. Miller (2006). "Robust Composition - Towards a Unified Approach to Access Control and Concurrency Control" (PDF). PhD dissertation. Johns Hopkins University. Retrieved 2007-05-26. {{cite journal}}: Cite journal requires |journal= (help)
  7. ^ Carl Hewitt (1986). "Offices Are Open Systems". ACM Trans. Inf. Syst. 4(3): 271-287. {{cite journal}}: Cite journal requires |journal= (help)
  8. ^ Jacques Ferber (1999). Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence. Addison-Wesley.
  9. ^ Hewitt, Carl (2008), "Development of Logic Programming: What went wrong, What was done about it, and What it might mean for the future", in Goker, Mehmet; Shapiro, Daniel (eds.), What Went Wrong and Why: Lessons from AI Research and Applications, AAAI Press
  10. ^ a b Hewitt, Carl. "Common sense for concurrency and strong paraconsistency using unstratified inference and reflection". ArXiv. December 30, 2008.
  11. ^ Hewitt, Carl (2008), "Large-scale Organizational Computing requires Unstratified Reflection and Strong Paraconsistency", in Sichman, Jaime; Noriega, Pablo; Padget, Julian; Ossowski, Sascha (eds.), Coordination, Organizations, Institutions, and Norms in Agent Systems III, Springer-Verlag
  12. ^ Carl Hewitt (September/October 2008). "ORGs for Scalable, Robust, Privacy-Friendly Client Cloud Computing". IEEE Internet Computing. 12 (5). {{cite journal}}: Check date values in: |date= (help)
  13. ^ Carl Hewitt. "A historical perspective on developing foundations for privacy-friendly client cloud computing". Retrieved 2008-10-19.
  14. ^ MIT News Office (April 10, 1996). "Quarter Century Club inducts 73 new members". Retrieved 2007-06-19.
  15. ^ John V. Guttag (2000). "MIT Reports to the President 1999–2000 - Department of Electrical Engineering and Computer Science". Retrieved 2007-06-19.
  16. ^ Carl Hewitt (2007). "Academic Biography of Carl Hewitt". Retrieved 2007-11-22.
  17. ^ Ryuichiro Ohyama (1991). "Department of Computer Science-Recent and Current Visiting Professors". Retrieved 2007-06-19.
  18. ^ Carl Hewitt. Procedural Embedding of Knowledge In Planner IJCAI. 1971.
  19. ^ Philippe Rouchy, Aspects of PROLOG History: Logic Programming and Professional Dynamics, TeamEthno-Online Issue 2, June 2006, 85-100.
  20. ^ a b c Sussman, Gerald Jay (1998). "The First Report on Scheme Revisited" (PDF). Higher-Order and Symbolic Computation. 11. Boston: Kluwer Academic Publishers: 399–404. Retrieved 2009-01-03. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  21. ^ Gerry Sussman and Terry Winograd. Micro-planner Reference Manual AI Memo No, 203, MIT Project MAC, July 1970.
  22. ^ Terry Winograd. Procedures as a Representation for Data in a Computer Program for Understanding Natural Language MIT AI TR-235. January 1971.
  23. ^ Marvin Minsky and Seymour Papert. “Progress Report on Artificial Intelligence” MIT AI Memo 252. 1971.
  24. ^ L. Thorne McCarty. "Reflections on TAXMAN: An Experiment on Artificial Intelligence and Legal Reasoning" Harvard Law Review. Vol. 90, No. 5, March 1977
  25. ^ Julian Davies. Popler 1.6 Reference Manual University of Edinburgh, TPU Report No. 1, May 1973.
  26. ^ Bruce Anderson. Documentation for LIB PICO-PLANNER School of Artificial Intelligence, Edinburgh University. 1972.
  27. ^ Middle History of Logic Programming Resolution, Planner, Prolog and the Japanese Fifth Generation Project
  28. ^ Robert Kowalski Predicate Logic as Programming Language IFIP'74.
  29. ^ Kay, Alan (2003-07-23). "E-Mail of 2003-07-23". Dr. Alan Kay on the Meaning of “Object-Oriented Programming”. Retrieved 2009-01-03. {{cite web}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  30. ^ John McCarthy. Sterile Containers www.ai.sri.com/~rkf/designdoc/sterile.ps September 8, 2000.
  31. ^ Nils Nilsson Artificial Intelligence: A New Synthesis San Francisco: Morgan Kaufmann, 1998.
  32. ^ Carl Hewitt (1973). "A Universal Modular Actor Formalism for Artificial Intelligence". IJCAI. {{cite journal}}: Cite journal requires |journal= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  33. ^ Carl Hewitt What is Commitment? Physical, Organizational, and Social COIN@AAMAS. April 27, 2006.
  34. ^ Mark S. Miller. "Actors: Foundations for Open Systems". Retrieved 2007-06-20.
  35. ^ Sussman, Gerald Jay (1998). "The First Report on Scheme Revisited" (PDF). Higher-Order and Symbolic Computation. 11. Boston: Kluwer Academic Publishers: 399–404. Retrieved 2009-01-03. We concluded that actors and closures were effectively the same concept. (Hewitt later agreed with this, but noted that two types of primitive actors in his theory, namely cells (which have modifiable state) and synchronizers (which enforce exclusive access), cannot be expressed as closures in a lexically scoped pure Lisp without adding equivalent primitive extensions.) {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  36. ^ Henry Lieberman, "Concurrent Object-Oriented Programming in Act 1", In Object-Oriented Concurrent Programming, A. Yonezawa and M. Tokoro, eds., MIT Press, 1987.
  37. ^ C. Varela and G. Agha. Programming Dynamically Reconfigurable Open Systems with SALSA. OOPSLA 2001 Intriguing Technology Track. ACM SIGPLAN Notices, 36(12):20-34, December 2001.
  38. ^ Johan Eker. "An introduction to the Caltrop actor language" (PDF). Retrieved 2007-06-20. {{cite journal}}: Cite journal requires |journal= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  39. ^ Robin Milner Elements of interaction: Turing award lecture CACM. January 1993.
  40. ^ Ayers, Phoebe; Matthews, Charles; Yates, Ben (2008). "The Wikipedia Model Debated". How Wikipedia Works: And How You Can Be a Part of It. No Starch Press. ISBN 159327176X.
  41. ^ http://en.wikipedia.org/wiki/Wikipedia:Neutral_point_of_view
  42. ^ http://en.wikipedia.org/wiki/Wikipedia:No_original_research
  43. ^ http://en.wikipedia.org/wiki/Wikipedia:Conflict_of_interest
  44. ^ http://en.wikipedia.org/wiki/Wikipedia:OUTING#Posting_of_personal_information
  45. ^ Carl Hewitt (2008). "Corruption of Wikipedia". Retrieved 2009-01-04.
  46. ^ http://en.wikipedia.org/wiki/Logic_programming
  47. ^ Robert Kowalski (May/June 2007). "Logic Programming in Wikipedia Update" (PDF). Association for Logic Programming Newsletter. 20 (2). {{cite journal}}: Check date values in: |date= (help)

Template:Persondata