ppm Logo

An Expedition in Computing for Compiling Printable Programmable Machines

Daniela Rus, Project PI

Vijay Kumar, UPenn PI

Andre DeHon, Martin Demaine, Sanjeev Khanna, Sangbae Kim, Insup Lee, Wojciech Matusik, Martin Rinard, Rob Wood


This project envisions a future desktop technology that prints actual programmable hybrid electro-mechanical devices from simple descriptions on-demand, anywhere, and with performance one would expect from a team of professional engineers, using advanced materials. The project aims to transform manufacturing as dramatically as the personal computer democratized information technology and transformed how we communicate.


The capability to customize cyber-physical systems on-demand would change how we plan for contingencies. Rescuers engaged in humanitarian aid and disaster reliefs in remote locations could minimize their logistic needs on-site. Warehouses of spare and replacement parts that may never be used could be replaced by storing only their designs digitally, not the physical parts themselves.


Fundamental problems in computer science about what is computable by digital machines will change. The problems will be reframed in a larger context as what functional hybrid machines are constructible from cyber-physical primitives.


The technical approach builds on analogies with compiler technology and its support algorithmic theories. Experienced engineers may know from experience what is constructible but their experience must be expressed in a language that blends the continuous with the discrete, the cyber with the physics of materials processing. The project addresses broad classes of constructible cyber-physical systems: (1) the development of tools for functional specification and automated co-design of the mechanical, electrical, computing, and software aspects of the device; (2) the design of planning and control algorithms for the assembly of the device and for delivering the desired function of behavior, and tools for the analysis of these algorithms that take into account all the necessary resources, including actuators, sensors, and data streams from the world; (3) the methodology to generate device-specific and task-specific programming environments that provide safeguards for programs written by non-expert users to enable them to operate the machines safely; and (4) the development of novel approaches to the automated production of new devices which may be based on the synthesis of programmable materials with customizable electrical or mechanical properties. This research is highly multidisciplinary, primarily leveraging the disciplines of computer science, electrical and mechanical engineering, materials, and manufacturing science.


This project will create a community in this new research area, reach out to young people in grades K-12, engage the national and international community through professional society meetings, and establish new interdisciplinary programs among the participating academic institutions.  Like the very successful MOSIS program, this project will disseminate the research results and provide a community resource and service for experimentation with our technologies.

Supported by the National Science Foundation Expeditions in Computing