Carl Eddie Hewitt ( / h j ü ɪ t / ) es un científico informático estadounidense que diseñó el lenguaje de programación Planificador de planificación automática [1] y el modelo de actor de computación concurrente , [2] que han tenido una gran influencia en el desarrollo de la lógica , programación funcional y orientada a objetos . Planner fue el primer lenguaje de programaciónbasado en planes de procedimiento invocados mediante la invocación dirigida por patrones a partir de afirmaciones y objetivos. El modelo de actor influyó en el desarrollo del lenguaje de programación Scheme , [3] el cálculo π , [4] y sirvió de inspiración para varios otros lenguajes de programación. [5]
Carl Hewitt | |
---|---|
alma mater | MIT |
Conocido por | Modelo de actor Inconsistencia robustez Planificador ( programas lógicos ) Esquematología comparativa |
Carrera científica | |
Campos | Informática Lógica matemática Modelo de computación Lenguajes de programación Filosofía de la lógica |
Instituciones | MIT Universidad de Keio Universidad de Stanford |
Asesor de doctorado | Seymour Papert |
Otros asesores académicos | Marvin Minsky Mike Paterson |
Estudiantes de doctorado | Gul Agha Henry Baker William Clinger Irene Greif Akinori Yonezawa |
Educación y carrera
Hewitt obtuvo su doctorado en matemáticas en el MIT en 1971, bajo la supervisión de Seymour Papert , Marvin Minsky y Mike Paterson . Comenzó su empleo en el MIT ese año, [6] y se retiró de la facultad del Departamento de Ingeniería Eléctrica e Informática del MIT durante el año escolar 1999-2000. [7] Se convirtió en emérito en el departamento en 2000. [8] Entre los estudiantes de doctorado que Hewitt supervisó durante su tiempo en el MIT se encuentran Gul Agha , Henry Baker , William Clinger , Irene Greif y Akinori Yonezawa . [9]
De septiembre de 1989 a agosto de 1990, Hewitt fue profesor visitante de la cátedra IBM en el Departamento de Ciencias de la Computación de la Universidad de Keio en Japón. [10] También ha sido profesor invitado en la Universidad de Stanford .
Investigar
Hewitt es mejor conocido por su trabajo en el modelo de computación del actor . Durante la última década, su trabajo se ha centrado en la "robustez de la inconsistencia", que tiene como objetivo proporcionar bases prácticas rigurosas para los sistemas que tratan con información omnipresente inconsistente. [11] Este trabajo surgió a partir de su tesis doctoral centrada en la integración procedimental (en oposición a la lógica) del conocimiento, que se materializó en el lenguaje de programación Planner .
Sus publicaciones también incluyen contribuciones en las áreas de sistemas de información abiertos , [12] sistemas organizacionales y multiagente , [13] programación lógica , [1] programación concurrente , lógica paraconsistente [14] y computación en la nube . [15]
Planificador
El lenguaje Planner se desarrolló a fines de la década de 1960 como parte de la investigación doctoral de Hewitt en el Laboratorio de Inteligencia Artificial del MIT. El trabajo de Hewitt en Planner introdujo la noción de "incrustación procedimental del conocimiento", [16] que era una alternativa al enfoque lógico de la codificación del conocimiento para la inteligencia artificial del que fue pionero John McCarthy . [17] Planner ha sido descrito como "extremadamente ambicioso". [18] Un subconjunto de Planner llamado Micro-Planner fue implementado en el MIT por Gerry Sussman , Drew McDermott , Eugene Charniak y Terry Winograd [19] y se utilizó en el programa SHRDLU de Winograd , [20] El trabajo de comprensión de historias en lenguaje natural de Charniak, [21 ] y el trabajo de L. Thorne McCarty sobre el razonamiento jurídico. [22] Planner fue implementado casi por completo en Popler [23] por Julian Davies en Edimburgo. Planner también influyó en el desarrollo posterior de otros lenguajes de investigación de IA como Muddle y Conniver, [18] así como en el lenguaje de programación orientado a objetos Smalltalk . [24]
El propio trabajo de Hewitt en Planner continuó con Muddle (más tarde llamado MDL), que fue desarrollado a principios de la década de 1970 por Sussman, Hewitt, Chris Reeve y David Cressey como un trampolín hacia una implementación completa de Planner. Muddle se implementó como una versión extendida de Lisp e introdujo varias características que luego fueron adoptadas por Conniver, Lisp Machine Lisp y Common Lisp. [18] Sin embargo, a finales de 1972, Hewitt detuvo abruptamente el desarrollo del diseño Planner en su tesis, cuando él y sus estudiantes graduados inventaron el modelo de computación del actor .
Modelo de actor
El trabajo de Hewitt sobre el modelo de cómputo del actor se ha extendido por más de 30 años, comenzando con la introducción del modelo en un artículo de 1973 escrito por Hewitt, Peter Bishop y Richard Steiger, [25] e incluyendo nuevos resultados sobre la semántica del modelo de actor publicado recientemente. como 2006. [26] Gran parte de este trabajo se llevó a cabo en colaboración con estudiantes del Grupo de Semántica de Paso de Mensajes de Hewitt en el Laboratorio de Inteligencia Artificial del MIT. [27]
Sussman y Steele desarrollaron el lenguaje de programación Scheme en un esfuerzo por comprender mejor el modelo de actor. Sin embargo, su intérprete de Scheme no era capaz de implementar plenamente el modelo de actor porque los clientes actor no puede implementarse como continuaciones cálculo lambda y los actores pueden cambiar su estado local de una manera que es imposible en el cálculo lambda [28] [29] Un número de Se desarrollaron lenguajes de programación para implementar específicamente el modelo de actor, como ACT-1, [30] SALSA , [31] Caltrop, [32] E [5] y ActorScript. [33] El modelo de actor también influyó en el desarrollo del cálculo π . [34] (Ver modelo de actor e historial de cálculo de procesos ).
Trabajos seleccionados
- Carl Hewitt (1969). PLANIFICADOR: Un lenguaje para probar teoremas en robots IJCAI'69.
- Carl Hewitt, Peter Bishop y Richard Steiger (1973). Un formalismo universal de actor modular para la inteligencia artificial IJCAI'73.
- Carl Hewitt y Henry Baker (1977a). Leyes para la comunicación de procesos paralelos IFIP'77.
- Carl Hewitt y Henry Baker (1977b). Actores y Actas de Funcionalidad Continua de la Conferencia de Trabajo del IFIP sobre Descripción Formal de Conceptos de Programación. 1-5 de agosto de 1977.
- William Kornfeld y Carl Hewitt (1981). La metáfora de la comunidad científica Transacciones IEEE sobre sistemas, hombre y cibernética. Enero de 1981.
- Henry Lieberman y Carl E. Hewitt (1983). Un recolector de basura en tiempo real basado en la vida útil de las comunicaciones de objetos del ACM, 26 (6).
- Carl Hewitt (1985). El desafío de la revista Open Systems Byte. Abril de 1985. (Reimpreso en The foundation of artificial intelligence — un libro de consulta de Cambridge University Press. 1990
Ver también
- Metáfora de la comunidad científica
Referencias
- ^ a b Carl Hewitt. PLANIFICADOR: Un lenguaje para probar teoremas en robots IJCAI. 1969.
- ^ Filman, Robert; Daniel Friedman (1984). "Actores" . Computación coordinada: herramientas y técnicas para software distribuido . McGraw-Hill. pag. 145 . ISBN 978-0-07-022439-1. Consultado el 22 de abril de 2007 .
Carl Hewitt y sus colegas del MIT están desarrollando el modelo Actor.
- ^ Krishnamurthi, Shriram (diciembre de 1994). "Una introducción al esquema" . Cruce de caminos . 1 (2): 19-27. doi : 10.1145 / 197149.197166 . S2CID 9782289 . Archivado desde el original el 25 de abril de 2007 . Consultado el 22 de abril de 2007 .
- ^ Milner, Robin (enero de 1993). "Conferencia Premio ACM Turing: Los elementos de la interacción" (PDF) . Comunicaciones de la ACM . 36 (1): 78–89. doi : 10.1145 / 151233.151240 . S2CID 14586773 . Archivado desde el original (PDF) el 20 de junio de 2007 . Consultado el 26 de mayo de 2007 .
- ^ a b Mark S. Miller (2006). "Composición robusta: hacia un enfoque unificado para el control de acceso y el control de concurrencia" (PDF) . Tesis doctoral. Universidad Johns Hopkins. Archivado desde el original (PDF) el 10 de agosto de 2007 . Consultado el 26 de mayo de 2007 . Cite journal requiere
|journal=
( ayuda ) - ^ Oficina de Noticias del MIT (10 de abril de 1996). "Quarter Century Club incorpora a 73 nuevos miembros" . Consultado el 19 de junio de 2007 .
- ^ John V. Guttag (2000). "MIT informa al presidente 1999-2000 - Departamento de Ingeniería Eléctrica e Informática" . Consultado el 19 de junio de 2007 .
- ^ "Coloquio de sistemas informáticos de Stanford EE" . Universidad de Stanford . Consultado el 30 de julio de 2011 .
- ^ Carl Hewitt (2007). "Biografía académica de Carl Hewitt" . Archivado desde el original el 7 de septiembre de 2009 . Consultado el 22 de noviembre de 2007 .
- ^ Ryuichiro Ohyama (1991). "Departamento de Informática-Profesores Visitantes Recientes y Actuales" . Archivado desde el original el 30 de abril de 2007 . Consultado el 19 de junio de 2007 .
- ^ Hewitt, Carl; Woods, John, eds. (2015). Inconsistencia Robustez . Estudios de lógica. 52 . Publicaciones universitarias. pag. 614. ISBN 9781848901599.
- ^ Carl Hewitt (1986). "Las oficinas son sistemas abiertos". ACM Trans. Inf. Syst . 4 (3): 271–287. doi : 10.1145 / 214427.214432 . S2CID 18029528 .
- ^ Jacques Ferber (1999). Sistemas de agentes múltiples: una introducción a la inteligencia artificial distribuida . Addison-Wesley.
- ^ Hewitt, Carl (2008). "La computación organizacional a gran escala requiere una reflexión no estratificada y una fuerte paraconsistencia" . En Sichman, Jaime; Noriega, Pablo; Padget, Julian; Ossowski, Sascha (eds.). Coordinación, Organizaciones, Instituciones y Normas en Sistemas de Agentes III . Springer-Verlag. ISBN 978-3-540-79002-0.
- ^ Carl Hewitt (septiembre-octubre de 2008). "ORG para Cloud Computing de cliente escalable, robusto y amigable con la privacidad". Computación por Internet IEEE . 12 (5).
- ^ Carl Hewitt. Integración procesal del conocimiento en Planner IJCAI. 1971.
- ^ Philippe Rouchy, Aspectos de la historia de PROLOG: programación lógica y dinámica profesional , TeamEthno-Online número 2, junio de 2006, 85-100.
- ^ a b c Sussman, Gerald Jay; Guy L. Steele (1998). "El primer informe sobre el esquema revisado" (PDF) . Computación simbólica y de orden superior . 11 (4): 399–404. doi : 10.1023 / A: 1010079421970 . S2CID 7704398 . Archivado desde el original (PDF) el 15 de junio de 2006 . Consultado el 3 de enero de 2009 .
- ^ Gerry Sussman y Terry Winograd. Micro-planner Reference Manual AI Memo No, 203, MIT Project MAC, julio de 1970.
- ^ Terry Winograd. Procedimientos como representación de datos en un programa informático para la comprensión del lenguaje natural MIT AI TR-235. Enero de 1971.
- ^ Marvin Minsky y Seymour Papert. "Informe de progreso sobre inteligencia artificial" MIT AI Memo 252. 1971.
- ^ L. Thorne McCarty. "Reflexiones sobre TAXMAN: un experimento sobre inteligencia artificial y razonamiento legal" Harvard Law Review. Vol. 90, No. 5, marzo de 1977
- ^ Julian Davies. Popler 1.6 Reference Manual University of Edinburgh, TPU Report No. 1, mayo de 1973.
- ^ Kay, Alan; Stefan Ram (23 de julio de 2003). "Correo electrónico del 23-07-2003" . Dr. Alan Kay sobre el significado de la "programación orientada a objetos" . Consultado el 3 de enero de 2009 .
- ^ Carl Hewitt; Peter Bishop y Richard Steiger (1973). "Un formalismo universal de actor modular para la inteligencia artificial". IJCAI. Cite journal requiere
|journal=
( ayuda ) - ^ Carl Hewitt ¿Qué es el compromiso? COIN @ AAMAS Físico, Organizacional y Social . 27 de abril de 2006.
- ^ Mark S. Miller. "Actores: Fundamentos para sistemas abiertos" . Consultado el 20 de junio de 2007 .
- ^ Hewitt, Carl (2010). "Actor Modelo de computación". arXiv : 1008.1459 [ cs.PL ].
- ^ Sussman, Gerald Jay; Guy L. Steele (1998). "El primer informe sobre el esquema revisado" (PDF) . Computación simbólica y de orden superior . 11 (4): 399–404. doi : 10.1023 / A: 1010079421970 . S2CID 7704398 . Archivado desde el original (PDF) el 15 de junio de 2006.
- ^ Henry Lieberman, " Programación concurrente orientada a objetos en el acto 1 ", En Programación concurrente orientada a objetos, A. Yonezawa y M. Tokoro, eds., MIT Press, 1987.
- ^ C. Varela y G. Agha. Programación de sistemas abiertos reconfigurables dinámicamente con SALSA . OOPSLA 2001 Pista de tecnología intrigante. Avisos ACM SIGPLAN, 36 (12): 20-34, diciembre de 2001.
- ^ Johan Eker; Jörn W. Janneck. "Una introducción al lenguaje del actor Caltrop" (PDF) . Consultado el 20 de junio de 2007 . Cite journal requiere
|journal=
( ayuda ) - ^ Hewitt, Carl (2010). "Extensión ActorScript de C #, Java y Objective C". arXiv : 1008,2748 [ cs.PL ].
- ^ Robin Milner Elementos de interacción: conferencia del premio Turing CACM. Enero de 1993.
enlaces externos
- Carl Hewitt en el servidor de bibliografía DBLP
- Carl Eddie Hewitt en el Proyecto de genealogía matemática