University of Cambridge > > Microsoft Research Summer School > Molecular programming

Molecular programming

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Dr Fabien Petitcolas.

Abstract: Moore’s law is pushing technology towards smaller and smaller devices, and quite soon we will reach the ultimate goal: devices made of single molecules. At that point we will need to engineer systems one molecule at a time, using tools of comparable accuracy. Molecular engineering is already in full swing, but that usually means building ad-hoc molecular devices that lack programmability.

Nucleic acids (DNA/RNA) encode information digitally, and are currently the only truly ‘user-programmable’ entities at the molecular scale. The fact that they have biological origin is incidental: they are just very handy engineering materials. DNA /RNA can be used to manufacture nano-scale and meso-scale structures, produce physical forces, act as sensors and actuators, and also to compute. They are unique in that they are both materials and carriers of information: they are programmable matter. Moreover they can interface to biological entities, with enormous medical implications: we will be able to detect and cure diseases at the cellular level under program control.

The (bio-)technology to create and manipulate nucleic acids has existed for many years, but the imagination necessary to exploit them programmatically has been evolving slowly. Recently, some simple computational schemes have been developed that are autonomous (run completely on their own once initialized) and involve only short, easily synthesizable, DNA strands with no other complex molecules. Since DNA computation is massively concurrent, some tricky and yet familiar issues arise: the need to formally analyze and verify molecular programs to avoid subtle deadlocks and race conditions, and the need to design high-level languages and compilers that exploit concurrency and stochasticity.

Molecular programming is the emerging discipline of designing and constructing molecular system that behave algorithmically, in carrying out computation, in forming physical and dynamic structures, or both.

Biography: Luca Cardelli was born near Montecatini Terme, Italy, studied at the University of Pisa (until 1978-07-12), and has a Ph.D. in computer science from the University of Edinburgh (1982-04-01). He worked at Bell Labs, Murray Hill, from 1982-04-05 to 1985-09-20, and at Digital Equipment Corporation, Systems Research Center in Palo Alto, from 1985-09-30 to 1997-10-31, before assuming a position on 1997-11-03 at Microsoft Research, in Cambridge UK, where he is currently Principal Researcher and head of the Programming Principles and Tools and Security groups.

His main interests are in type theory and operational semantics (for applications to language design, semantics, and implementation), and in concurrency theory (for applications to computer networks and to modeling biological systems). He implemented the first compiler for ML (one of the most popular typed functional language, whose recent incarnations are Caml and F#) and one of the earliest direct-manipulation user-interface editors. He was a member of the Modula-3 design committee, and has designed a few experimental languages, including Obliq: a distributed higher-order scripting language (voted most influential POPL ’95 paper 10 years later), and Polyphonic C#, a distributed extension of C#. His more protracted research activity has been in establishing the semantic and type-theoretic foundations of object-oriented languages, resulting in the 1996 book “A Theory of Objects” with Martin Abadi. More recently he has focused on modeling global and mobile computation, via the Ambient Calculus and Spatial Logics, which indirectly led to a current interest in Systems Biology and stochastic systems.

This talk is part of the Microsoft Research Summer School series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2019, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity