Luca Cardelli: Geek of the Week

Luca Cardelli is probably best known for Polyphonic C# and Biocomputing, but he has designed a number of experimental languages and published a variety of papers on Theoretical Computing subjects such as type theory and operational semantics. He is now Principal Researcher at Microsoft Research in Cambridge, and head of the Programming Principles and Tools and Security groups. We sent a slightly apprehensive Richard Morris to ask him about DNA Computing

Although Luca Cardelli is now a well-known figure in Cambridge, he was born near Montecatini in Italy, he first studied computer science at the University of Pisa before heading to Scotland and studying for a Ph.D in computer science at the University of Edinburgh. Since then he has worked for Bell Labs and at Digital Equipment Corporation, Systems Research Centre in Palo Alto.

794-LucaCardelli.JPG

His research 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.

“I have been reading
Scientific American
every month since I
was a teenager:
I was always
fascinated by…
biochemistry, but I
never thought I would
be doing it seriously.”

Luca is a Fellow of the Royal Society, an ACM Fellow, an Elected Member of the Academia Europaea, a long-standing member of EATCS, in 2007, Luca won the Senior AITO Ole-Johan Dahl and Kristen Nygaard award which honoured his pioneering work on object-orientation.

He says the most exciting Modula-3 design meeting ever, was abruptly interrupted by the San Francisco 7.1 earthquake. He is apparently the 45th most cited computer scientist in the world and the third most acknowledged. He is currently the assistant director at Microsoft Research in Cambridge, where is now researching DNA computing models.

RM:
You are well known for your work on the Modula-3 language. How did you get involved with DNA computing?
LC:
Very indirectly. Around 2001 I was involved in supervising a chapter of a thesis of a biologist, because she was wanted to use a process algebra to model biological compartments. At that point I thought “I’d better read some serious Biology”, and I was hooked. Particularly about molecular biology, because everything there is  about molecular machines that process materials and process information, and where you can almost ‘see the bottom’ of what’s happening in biology. DNA computing is an aspect of that: it is a part of biology where we have enough control to build our own molecular machines. And where you have information processing machines, eventually you are going to need languages too.
RM:
Biocomputing has become a hot research topic in recent years but as so often happens when a new term comes into vogue, it means different things to different people. What does it mean to you?
LC:
It may mean ‘what can we learn from Biology to apply to Computing?’ or ‘what can we learn from Computing to apply to Biology?’. I am definitely in the second camp, because I don’t think that, very generally speaking, we understand how things work in complicated biological systems. A good way to find that out (apart from very, very hard explorative work) is to try to build such systems and see if we can make them work, and learn from the experience. As Feynman said: “What I cannot create, I do not understand.” Increasingly, this can be done ‘in silico’, although you eventually have to find experimental validation.
RM:
At Microsoft Research in Cambridge you’re working with a number of people including the scientist Andrew Phillips to develop a language in which large models of biological systems can be programmed to simulate a biological system on a computer, and then implement it inside a living organism. What’s your motivation behind this?
LC:
The specific motivation is to apply techniques we have in Computer Science for the analysis and design of concurrent systems. Molecular systems are massively concurrent, non-deterministic, and discrete, and are traditionally analysed with mathematical techniques that are sequential (functions), deterministic, and continuous. While a number of quite amazing techniques exist in the continuous domain, there is a great potential for applying orthogonal techniques coming from the discrete domain, particularly because the conceptual tools we have in Computer Science (like the theories of formal languages, concurrent systems, and model checking) are virtually unknown in the other Sciences. This goes well beyond algorithms and data bases, which have been the most immediate tech transfers into Biology.
RM:
DNA computer science will attract attention because it can help prove and predict to a certain degree various kinds of biological processes. Can your work help map future diseases and future drugs to combat them?
LC:
The higher motivation is to cure diseases. Almost all incurable and chronic diseases are now ‘system diseases’: cells run very complicated and poorly understood programs, and when something goes wrong, it is not something that one can often fix with a silver bullet: biological systems rarely have a single point of failure, or a single point of cure: it takes a program to cure a program. DNA based techniques will begin to have an impact relatively soon, but we will be working on this for centuries. Future diseases will always surprise us, because nature has an unlimited reserve of tricks to play, and evolution can manoeuvre around almost anything. Because of that, it is important to understand that the ‘drugs’ of the future are not this chemical or that chemical: they are programs that sense the environment, make decisions, and apply remedies, cell by cell.
RM:
Do you work closely with the Gates Foundation or other organisations and do they have any direct input in your work?
LC:
No, the Gates Foundations is not connected to Microsoft (except for Bill, of course). We work in various ways with academic and pharmaceutical organizations, and we now have a Life Sciences division at Microsoft.
RM:
Where do you see DNA computing heading in the future, particularly in the next 5 to 10 years?
LC:
DNA technology is actually now a broad subject: DNA is ‘programmable matter’ in a kind of universal sense. So that’s a bit like asking “what is the future of electronics?”. Nature uses DNA in certain ways, but we are not actually limited to follow those ways. Thanks to the work of armies of biochemists who wanted to understand natural DNA, we now have toolkits that allow us to use DNA/RNA to do many more things. We can build complex physical structures, machines, sensors, and computational devices. Nature does that in very different ways, largely by proteins, but do not have nearly the same amount of control over proteins. What we really want to do is to build nano-devices and nano-computers: DNA is currently the richest playground, because it is digital, programmable, and relatively predictable.
RM:
Among many other attributes, you’re an author and lecturer.  When do you find time to write? If you have a question you can’t answer, who do you go to in order to get the answer?
LC:
I am not at all a prolific author; I try to work hard on one or two really good papers a year, at most. I write very slowly and painfully, so I don’t write a paper unless I think I absolutely ‘have to’. I guess papers pile up after a while, but most of that is thanks to collaborators.
A question I can’t answer? That’s for Wikipedia right now: the best unreliable source in the world! Then I try to find confirmation in online articles or lecture notes. If that doesn’t help, I ask people at conferences (random people know more than you think). The final option is to ‘read the manual’, i.e. a book.
RM:
What things in your technological life would you have done differently? And what are you most proud of?
LC:
I have been reading Scientific American every month since I was a teenager: I was always fascinated by, e.g., biochemistry, but I never thought I would be doing it seriously. Those readings prepared me in a non-professional way for what I am doing now, but I wish I had gotten into it a bit sooner. I am most proud of my work on the foundations of programming languages, also because I think it will reincarnate every time a new computational technology comes around. Type systems for DNA? Sure! But you can’t go in with the idea of using what you already know: you have to ‘go native’ first.