Jonathan Bachrach
Research Scientist

MIT CSAIL
32 Vassar Street, Room 32-227
Cambridge, MA 02139

617-452-2852
jrb at pobox dot com
http://www.jbot.org

Education

Ph.D., Computer Science,
University of Massachusetts, Amherst (1992)
Thesis Topic: Connectionist Modeling and Control of Finite State Environments
Thesis Advisors: Andrew Barto and David Rumelhart

M.S., Computer Science,
University of Massachusetts, Amherst (1989)
Thesis Topic: Learning to Represent State
Thesis Advisors: Andrew Barto and Richard Sutton

B.S., Computer Engineering and Cognitive Science,
University of California, San Diego (1985)
Thesis Topic: A Boltzmann Machine Solution to the Waltz Labeling Problem
Thesis Advisor: David Rumelhart

Research Experience

Research Scientist, MIT AI Lab (2000 - present)
Exploring the design and implementation of next generation programming languages and algorithms to support spatial computers and space time programming. Advising graduate and undergraduate students. Research includes the creation of new spatial computing platforms, distributed algorithms, adaptive methods, abstractions, and programming languages. Areas include modular robotics, swarm robotics, kinetic structures, sensor networks, programmable matter, and FPGA’s. Led MIT DARPA NEST program in sensor networks where we developed new languages, localization, threat avoidance, and target tracking software. Also help manage dynamic languages group where we explored the design and implementation of next generation programming languages to support intelligent, adaptive, complex software systems.

Researcher, IRCAM (1994 - 1996)
Assisted in development of real-time Max/FTS with Miller Puckette and David Zicarelli and assisted composer Phillipe Manoury on opera. Researched alternative text based programming languages for real-time music creation.

Postdoctoral Fellow, ICSI Berkeley (1992)
Participated in the development of a neural network supercomputer. My job was to advise the hardware designers as to the requirements of the popular connectionist algorithms and architectures. This was accomplished through rigorous analysis of algorithms and simulation studies. Participated in the design of a new object-oriented language called Sather.

Visiting Scholar, Stanford Univ. (1991 - 1992)
Developed a neural network simulator to be used by David Rumelhart and his neural network research group. Developed image-processing code for OBVIUS, an interactive image processing system.

Research Assistant, University of Mass. (1985 - 1991)
Designed and analyzed connectionist learning algorithms under the supervision of Andrew Barto.

Visiting Graduate Student, Stanford Univ. (1989 - 1991)
Developed connectionist learning architectures and algorithms for navigation under the supervision of David Rumelhart.

Summer Research Student, GTE Labs (1987)
Developed a theory for learning to represent state under the supervision of Richard Sutton.

Summer Research Student, HP Labs (1984)
Assisted in the analysis of graphics algorithms to be used to guide the design of a graphics architecture for the PA-RISC.

Research Assistant, Harold Cohen, UCSD (1980 - 1985)
Developed plotter software, vector based shading and scribbling, and rule based programming for expert drawing system.

Selected Consulting and Industrial Experience

Consultant, Configura, Sweden (2000)
Advised in development of proprietary language for complex sales software.

President and Cofounder of Functional Objects Inc (1999 - 2000)
Commercializing an advanced implementation of the object-oriented dynamic programming language called Dylan.

Principle Software Engineer and Engineering Manager, Harlequin Inc (1994 - 1999)
Assisted (Apple) in the design of a general-purpose object-oriented dynamic language called Dylan.
Wrote a large part of the Dylan compiler, runtime, and libraries. Designed and implemented class-based and orthogonal persistence based object-oriented databases, one of which is used by the Dylan compiler for separate compilation. Wrote performance monitoring, analysis, and visualization tools.
Coordinated Dylan development activities including the planning of task schedules, the supervision of developers, and the coordination and running of meetings.

Software Engineer, On Target Associates (1991)
Developed Macintosh DSP applications including a hard disk recording system and a graphical software synthesizer construction kit.

Selected Papers

J. Bachrach, D. Qumsiyeh, M. Tobenkin. Hardware Scripting in Gel. FCCM 2008, (to appear) April 2008.

J. Bachrach, J. McLurkin, A. Grue. A Language for Programming Multi-Robot Systems Using the Amorphous Medium Abstraction. AAMAS, (to appear) May 2008

J. Beal, J. Bachrach, D. Vickery, M. Tobenkin. Fast Self-Healing Gradients. ACM Symposium on Applied Computing 2008, (to appear) March 2008.

J. Bachrach, J. Beal. Continuous Space-Time Semantics for Adaptive Program Execution. Self-Adaptive and Self-Organizing Systems, July 2007

J. Bachrach, J. Beal. Programming a Spatial Computer. MIT CSAIL TR 2007-0017, March 2007

J. Bachrach, J. Beal. Programming a Sensor Network as an Amorphous Medium . MIT CSAIL TR 2006-069, June 2006

C. Taylor, A. Rahimi, J. Bachrach, H. Shrobe, A. Grue. Simultaneous Localization, Calibration, and Tracking in a Sensor Network. IPSN, April, 2006

J. Beal, J. Bachrach. Infrastructure for Engineered Emergence on Sensor/Actuator Networks. IEEE Intelligent Systems, March/April, 2006

C. Taylor, A. Rahimi, J. Bachrach, H. Shrobe. Simultaneous Tracking and Localization in Sensor Networks. MIT AI Memo AIM-2005-016, April 26, 2005

J. Bachrach, C. Taylor. Localization in Sensor Networks. in "Handbook of Sensor Networks" book, edited by Ivan Stojmenovic, Wiley 2005.

J. Bachrach, R. Nagpal, M. Salib, H. Shrobe. Experimental Results and Theoretical Analysis of a Self-organizing Global Coordinate System for Ad Hoc Sensor Networks. Telecommunications System Journal, Special Issue on Wireless Sensor Networks, Kluwer Academic Publishing 2004.

R. Nagpal, H. Shrobe, J. Bachrach. Organizing a Global Coordinate System from Local Information on an Ad Hoc Sensor. IPSN-03 Palo Alto.

J. Bachrach, K. Playford. The Java Syntactic Extender. In ACM Proceedings of OOPSLA-01, Tampa Florida.

J. Bachrach, M. Mozer. Connectionist modeling and controlling of finite state systems in the absence of complete state information. In Yves Chauvin and David E. Rumelhart, editors, Back-propagation: Theory, Architectures and Applications. Erlbaum, Hillsdale, N.J.

J. Bachrach. A connectionist architecture for navigation. In David S. Touretzky, editor, Advances in Neural Information Processing Systems 3, San Mateo, CA, 1991. IEEE Conference on Neural Information Processing Systems Natural and Synthetic, Morgan Kaufmann Publishers.

M. Mozer, J. Bachrach. Discovering the structure of a reactive environment by exploration. Machine Learning Journal, 1991.

M. Mozer, J. Bachrach. Discovering the structure of a reactive environment by exploration. Neural Computation, 2(4), 1990.

M. Mozer, J. Bachrach. Discovering the structure of a reactive environment by exploration. In David S. Touretzky, editor, Advances in Neural Information Processing Systems 2, San Mateo, CA, 1990. IEEE Conference on Neural Information Processing Systems Natural and Synthetic.

J. Bachrach. Learning to represent state. In ICNN Conference Proceedings, page 288. International Neural Network Society, Pergamon Press, September 1988.

J. Bachrach. Connectionist learning in backgammon. In Proceedings of the Connectionist Models Summer School, Pittsburgh, PA, June 1986. Carnegie Mellon University.

Selected Talks

Google Tech Talk, Boston (2008-02-21),
Spatial Computing in Proto

BBN Seminar, Cambridge (2008-02-05),
Spatial Computing in Proto

New Directions In Software Technology, Saint John's (2007-12-05),
Proto Physics

New Directions In Software Technology, Saint John's (2007-12-04),
Space-Time Programming in Proto

Ideas Boston, Federal Reserve Building (2007-10-04),
Computational Dance: Challenges and Opportunities

New England Programming Language Seminar, TUFTS (2007-04-11),
Spatial Programming in Proto

DARPA ISAT study on Engineered Ensembles Effects, CMU (2007-04-06),
Space-Time Programming in Proto

Animation as Installation class, Harvard (2007-03-16),
Computational Animation

Programming Languages Group Meeting, Harvard (2007-03-14),
Space-Time Programming in Proto

Self-Organizing Systems Group Meeting, Harvard (2007),
Space-Time Programming in Proto

Growth, Form, and Interaction: Artists and Engineers Look to Biology, Harvard (2006),
Proto and Gooze.

Self-Organizing Systems Group Meeting, Harvard (2005),
Neighborhood Amorphous Programming Language..

Lightweight Languages 4 Conference, MIT (2004),
Gooze: A Multimedia Stream Processing Language.

Colloquium, Center for Research in Computing in the Arts, UCSD (2003),
Alien Goo: A Lightweight C Embedding Facility

Dynamic Languages Seminar, MIT (2003),
Alien Goo: A Lightweight C Embedding Facility

Computer Science Colloquium, BBN (2002),
The Java Syntactic Extender

Programming Languages Seminar, Northeastern University (2002),
The Java Syntactic Extender

Computer Science Colloquium, Yale (2002),
The Java Syntactic Extender

Computer Science Colloquium, Harvard (2002),
Simple Dynamic Compilation with GOO

Lightweight Languages 1 Conference, MIT (2001),
Rethinking Lightweight Languages, Java Syntactic Extender and Proto

New Jersey Programming Language Seminar, AT&T (2001),
The Java Syntactic Extender

Dynamic Languages Seminar, MIT (2001),
Simple and Efficient Subclass Predicates

OOPSLA Conference (2001),
The Java Syntactic Extender

Dynamic Languages Seminar, MIT (2000),
Efficient Predicate Dispatch for Dylan

Dynamic Languages Seminar, MIT (2000),
Procedural Macros for Java

NIPS Conference (1991),
A Connectionist Architecture for Navigation

Selected Classes

MIT 6.894 (2001),
The Design and Implementation of Dynamic Object-Oriented Languages

Selected Students

Velin Tzanov, MIT Masters (2006),
Distributed Area Search with a Team of Robots

Christopher Taylor, MIT Masters (2005),
Simultaneous Localization and Tracking in Wireless Ad-hoc Sensor Networks

Adam Eames, MIT Masters (2005),
Enabling Path Planning and Threat Avoidance with Wireless Sensor Networks

Michael Salib, MIT Masters (2003),
Starkiller -- A Type Inferencing System for Python

Andrew Sutherland, MIT Masters (2002),
Towards RSEAM: Resilient Serial Execution on Amorphous Machines

James Knight, MIT Masters (2002),
Parameterized Types for GOO

Aaron Ucko, MIT Masters (2001),
Predicate Dispatching in the Common Lisp Object System.

Organizing Activities

Curator, MIT Stata Center Gallery (2006 - present),
COLLISION 11-12

Curator, Axiom Gallery (2007 - present),
COLLISION:technomorph

Curator, Art Interactive (2004 - 2006),
COLLISION 6-10

Curator, Boston Art Windows Project (2005),
windowCOLLISIONone

Organizer, Cambridge (2002 - present),
Collision Collusion Art Technology Speaker Series

Curator, MIT Compton Gallery (2003),
COLLISIONfive, the next dimension

Curator, MIT Museum (2002),
hyperCOLLISION and COLLISION3, in super 3D

Organizer, MIT AI Lab, (2001),
Language Wizard Panels

Organizer, MIT AI Lab, (2000 - 2004),
Dynamic Languages Seminar Series

Selected Awards and Grants

LEF Grant for String Beings with Snappy Dance Theater and Luci Lin, Jan 2007

NSF Bio Inspired Computation Grant, Sep 2006

Nominated for Rockefeller New Media Award, Sep 2006

Professional Activities

Member Program Committee (2007),
Self Organization in Pervasive Distributed Systems in 2008 ACM Symposium on Applied Computing

Member of the editorial board (2004 - present),
Ad Hoc and Sensor Networks journal

Reviewer (2006 - present),
ACM Transactions on Programming Languages (TOPLAS)

Reviewer (2003 - present),
ACM Transactions on Sensor Networks

Patents

D. Paluska, J. Banks, J. Bachrach. Method for exposing film using robotic arm.
Patent Pending (2004)

Outside Activities

Drummer, Brazilian Cultural Center, Cambridge MA (2000 - 2004),
Joh Camera's African Dance Classes

Drummer, Dance Complex Cambridge, MA (2000 - 2004),
Astou Sagna's African Dance Classes

Dancer, Troupe Sewa, MA (2002),
Joh Camera's African Dance Troupe

Computer Clubhouse, Computer Museum, Boston, MA (1999)
Mentor