# Jack B. Dennis

Jack B. Dennis (Elizabeth (Nueva Jersey), 13 de octubre de 1931) es profesor de informática e ingeniería, emérito, en el MIT (Massachusetts Institute of Technology).
Entró en el MIT en 1949 y se convirtió en profesor en 1969.
Se dedicó a un primer trabajo de tiempo compartido mediante PDP-1. Ésta es conocida en informática como la máquina con la que comenzó la cultura hacker. También dirigió el 'Model Railroad Club' del MIT.
Más tarde, fue uno de los miembros fundadores del proyecto 'Multics', al cual contribuyó con uno de sus conceptos más importantes, la memoria de un solo nivel. 'Multics', aunque no fue muy exitoso comercialmente, inspiró a Ken Thompson para desarrollar Unix.
Se retiró del MIT en 1987 para dedicarse a proyectos independientes y consultorías.
Desarrolló el lenguaje de flujo de datos estático 'VAL', que a su vez inspiró el compilador para el lenguaje de programación 'SISAL'. También fue científico visitante en el Instituto de investigación para informática avanzada de la NASA. En 1994 se convirtió en miembro de la 'Association for Computing Machinery', y en 2009 fue elegido en la 'Academia nacional de ingeniería'.

## Carrera

Siendo estudiante en el MIT, Jack Dennis compaginó el programa cooperativo en ingeniería eléctrica 'VI-A' con su trabajo en proyectos sobre nuevos sistemas de radar en los laboratorios de investigación de Fuerza Aérea de Cambridge.
Poco después de graduarse, comenzó a usar la computadora 'Whirlwind', y desarrolló un programa innovador para resolver el 'problema de transporte', un caso clásico de programación lineal.
Durante un trabajo de verano en los laboratorios 'Bell Telephone', diseñó y construyó un equipo especial de prueba para el ‘tubo de almacenamiento de rejilla barrera’, un elemento clave para un teléfono electrónico experimental que cambió el sistema.
Completó el doctorado en ingeniería eléctrica en 1958, escribiendo Mathematical Programming and Electrical Networks, una disertación en la que plantea una analogía entre los problemas de la programación matemática y la solución de ciertos tipos de redes eléctricas.
Acabó la facultad en el MIT con el Departamento de ingeniería Eléctrica y llegó a ser profesor en 1969.
El profesor Dennis diseñó un extenso conjunto de modificaciones hardware y adiciones para una computadora 'DEC PDP-1', creando un sistema de computación completo de tiempo compartido para apoyar la investigación en electrónica, comunicaciones e informática. Fue una de las primeras computadoras interactivas de tiempo compartido que comenzaron a funcionar en 1963.
Una de las nuevas características de este sistema fue la posibilidad para el usuario de emplear una herramienta de depuración simbólica (una versión inicial del programa 'DDT'), sin posibilidad de interrupción del depurador de programa durante la prueba. Características similares fueron incorporadas más adelante en la computadora 'SDS 940', usado en el sistema de tiempo compartido 'Genie' en la Universidad de California (Berkeley), y en el diseño de la computadora 'DEC PDP-11/45', el modelo de máquina que apoyó el desarrollo del sistema operativo UNIX en los Laboratorios Bell.
En los primeros días del proyecto 'MAC' del MIT, el profesor Dennis trabajó con Edward Glaser, del equipo 'Multics', para especificar mecanismos que llegaron a ser una parte fundamental del modelo de computador '645' de 'General Electric' (después del 'Honeywell 6180'). En reconocimiento por sus contribuciones al proyecto 'Multics', el doctor Dennis fue elegido miembro del IEEE (asociación profesional para el avance de la tecnología).
Como líder del grupo 'Computation Structures' (laboratorio de informática del M.I.T.), desde 1963 hasta 1985, el profesor Dennis dirigió un programa de investigación que desarrolló aspectos de arquitectura de computadores y lenguajes de programación, basándose en modelos de flujo de datos para la representación y ejecución de programas. Estos proyectos llegaron a muchas universidades e institutos de investigación de todo el mundo y, en 1948, el profesor Dennis ganó el premio 'ACM/IEEE Eckert-Mauchly'.
Durante este periodo, el profesor Dennis dirigió una investigación de más de veinticinco estudiantes graduados sobre temas como Teoría de 'Petri Nets', Semántica de Lenguajes de Programación o Arquitectura de Sistemas de Computación. En 1994, pasó a ser miembro del 'ACM'.
El profesor Dennis proporcionó servicios de consultoría a fabricantes de ordenadores, incluidos 'Digital Equipment Corporation', 'IBM', 'RCA' y 'Burroughs'.
Era un miembro principal de la firma consultora 'Research and Consulting, Incorporated', que evaluó el mayor programa de desarrollo de computación de la Armada y aconsejó al responsable del comité gubernamental del EE. UU. El desarrollo del 'Common DoD Language' (actividad que convirtió el lenguaje Ada en el estándar incluido en aplicaciones). En varias ocasiones, el doctor Dennis ayudó a evaluar nuevas computadoras.

## Enseñanza en el MIT

En su enseñanza en el MIT, el profesor Dennis desarrolló seis temas sobre nuevas áreas de teoría de la Computación y Sistemas de Computación:
1. 'Theorical Models for Computation'. El material desarrollado para este asunto se publicó como un libro, 'Machines, Languages, and Computation', escrito con los estudiantes Petter Denning y Joseph Qualitz.
2. 'Computation Structures'. Enfatiza en la relación entre hardware y tecnología del software para implementar lenguajes de programación.
3. 'Structure of Computer Systems'. Trata conceptos avanzados de arquitectura de computadores y sistemas operativos.
4. 'Semantic Theory for Computer Systems'. Introdujo, por primera vez en el MIT, principios avanzados de teoría semántica para programas y lenguajes, y estudió su aplicación en la especificación y diseño de hardware y sistemas software.
5. 'Semantics of Parallel Computation'. Trató varios resultados de investigaciones que fueron realizadas para representar concurrencia en hardware y sistemas software.
6. 'Computer System Architecture'. Formaba parte de una base común para la enseñanza en informática. El profesor Dennis lo enseñó por primera vez en colaboración con el profesor Arvind.

## Actividades profesionales

Las actividades profesionales del profesor Dennis incluyen su participación en el Grupo de Trabajo 2.8 del 'IFIP', 'Functional Programming', y su anterior trabajo en el Grupo 2.2 del 'IFIP', 'Formal Description of Programming Concepts'. Dennis organizó varias reuniones que relacionan conceptos de Flujo de Datos, Concurrencia en Computación y Fundamentos Semánticos para Programación Estructurada. En 1967 era el principal organizador del primer 'Simposio de Principios de Sistemas Operativos' del 'ACM'.
Entre 1987 y 2001 el profesor Dennis trabajó como consultor independiente y científico en la investigación de proyectos principalmente concernientes al hardware de computación paralela y software.
Como Científico Visitante en el Instituto de Investigación de informática Avanzada de la NASA, el Doctor Dennis desarrolló las estrategias de uso de un lenguaje de programación funcional para escribir programas de datos paralelos para la Máquina de Conexión, y comenzó el diseño y la programación del Compilador de Paradigma.
Desde julio de 1992 hasta junio de 1994, el Doctor Dennis trabajó con el Grupo de Arquitectura de 'Carlstedt Elektronik', Gothenburg (Suecia). La compañía estaba desarrollando una nueva arquitectura de computación paralela usando chips de procesador asociativo para el control del proceso e incluyendo aplicaciones del sistema. El Doctor Dennis desarrolló y analizó mecanismos para lenguajes de programación funcional. Este trabajo supuso el uso de especificaciones formales para ayudar a tomar decisiones de especificación del producto.
Entre 1995 y 2001, el profesor Dennis fue Científico Jefe de 'Acorn Networks Inc.', una compañía comprometida con los dispositivos de silicio de alto rendimiento, en vías de desarrollo, para la infraestructura de comunicaciones. Su trabajo supuso un diseño innovador para procesadores de red de alto rendimiento.