Monday, August 06, 2012

On the Evaluation of Space-Time Functions

Back in May, I discussed my ongoing obsession with first class space-time functions---programs that can be dynamically created, moved around, and operate on one another, even though they're being run distributed over many devices scattered across space and time.

We've now made another step forward, with the publication of a new paper, On the Evaluation of Space-Time Functions.  This paper is an extension of last year's Spatial Computing Workshop paper, generalizing the results to be not just about Proto, but in fact any distributed computing system (of which Proto is simply our prototypical example).

I'm rather proud of this paper, and think it's a fairly readable discussion of these concepts---though still not for the faint of heart.

Monday, July 30, 2012

Presenting In Absentia

One of the lovely things about having good colleagues: just because you're having a major life event doesn't mean everything has to grind to a complete halt.  For the month preceding my daughter's expected due date, I was grounded---not travelling anywhere, in case she should decide to come early.


That time also overlapped with a couple of conference presentations, and fortunately my colleagues were able to go in my place.  Aaron Adler took over my invitation to present on our synthetic biology tools at the Biological Systems Design meeting at ISMB, a major computational biology conference,
and Hala Mostafa presented our paper, A Manifold Operator Representation for Adaptive Design, at the Generative & Developmental Systems track of the GECCO evolutionary computation conference.

From their reports, it sounds like both meetings went very well, and that our work was well received.  Frankly, though, I'm quite glad I didn't take the risk of missing my daughter's birth.  Professional life continues, and there will be many more chances for me to travel in the future---and perhaps even take a baby with me, if she turns out to be social and a good traveller.

Monday, July 23, 2012

Non-Maskable Life Interrupt

Last Tuesday, my daughter was born.

I've been mostly off the Internet ever since, and certainly not doing any scientific work.
Fortunately, this was planned for: I've got six weeks of paternity leave scheduled, and am looking forward to taking all of this time to learn what parenthood is like and who is this little person who is my daughter.

And yet... I find that my reactions as a parent are clearly shaped by my inclinations and education as a scientist.  Rocking a fussy neonate to sleep, cooing to her in woogie-woogie tones, "Oh, don't you worry little thing, you don't know how to regulate your emotional state yet, so you're just counting on us your parents to do it for you... isn't ooo?  Yes, yes, you're using your parents as an externalized regulatory mechanism, you silly little mammal you."

I've had to set down and ignore two position papers that I was in the middle of writing --- hopefully I'll be able to come back to them before my colleagues completely run out of patience, but maybe I won't.  Work/life balance has an entirely new meaning now, and I will be utterly fascinated to find out how I am able to navigate this balance between fatherhood and science.

Right now, though, I'm taking everything one hour at a time, and I think that's the right way to do it.

Monday, July 16, 2012

Synthetic Biology: End-to-End and Also in the Middle

Dear reader, you must not, of course, expect this run of publication posts to extend indefinitely, but for the moment we're hitting pretty well and experiencing a good bit of synchronicity as all my different projects seem to have long gestating papers maturing all at once.

The latest in the series: over the past week, we've had not one but two of our synthetic biology papers accepted for publication, both in ACS Synthetic Biology, as part of a special issue on design tools.

The first, "An End-to-End Workflow for Engineering of Biological Networks from High-Level Specifications," is essentially a summary of the key results of the whole TASBE project---the "Tool-Chain for Acceleration of Synthetic Biology Engineering" that I led  last year, with Ron Weiss and Doug Densmore collaborating.  The big result: coming up with a series of models and tools for turning high-level computer programs into DNA for controlling the behavior of cells.  And we made it work, at least for our version of "hello world"---a program that fluoresces one color when it detects a signal molecule, and a different color when it's not there.  Not the most complicated thing in the world, and there's a lot of duct tape and baling wire used to hold the tool-chain together, but it took a lot to sort this much out and it's a good starting point.  Moreover, now that we've showed it's possible, we (and others) can expand and do more and more complicated things---the hardest part is getting anything at all to go reliably from end to end, and now that we've got that, we've got a foundation to build on top of.

The other paper, "Automated Selection of Synthetic Biology Parts for Genetic Regulatory Networks,"
is all the details for one of the new key pieces of the tool-chain, for selecting which DNA parts can actually be used to correctly implement a computation.  This was led by my colleague Fusun Yaman, who worked with the folks over at BU and came up with a nice mapping of the problem onto a graph problem (NP-complete, of course), and a good set of heuristic algorithms for solving it.


I'm quite proud of both of these papers, since I think they're an important milestone in the progress of synthetic biology, and especially of raising the level of abstraction at which it's actually practical to design organisms.  There's a long, long way to go, but we're making progress and (eventually) reporting and publishing it as well.

Monday, July 09, 2012

Energy Management = Cover Story!


There's a nice article about my distributed energy management work with Zome Energy Networks
in the MIT Energy Initiative's "Energy Futures" magazine.  We're the cover story (though the cover image is of a simulation from a much older generation --- they really liked the Proto graphics, even if our current simulations don't use Proto any more).

Monday, July 02, 2012

Coordination Languages vs. Proto

Got an interesting new paper for you folks, a little bit into a different space than the last few: Linda in Space-Time: An Adaptive Coordination Model for Mobile Ad-Hoc Environments.  This was just published in Coordination 2012, and is another collaboration with Mirko Viroli, who really did the bulk of work in the paper --- my last author position means "consultant" rather than "supervisor" on this one (on a completely side note, it bugs me that the semantics of author position are so ill-defined, but that's a post for another time...).

The interesting thing about this paper for me is it's really pushing my boundaries on how to think about spatial computing languages.  Mirko comes much more out of the coordination languages community, where they think about programming more in terms of a blackboard that a whole pile of different processes can write to.  So everything folds down into one or more "tuple spaces" and you have no idea what might be shoving itself into the tuple space or deleting stuff out of it, or even any way to guarantee that names mean the same thing to different programs---the whole point is that you can have a bunch of different programs written by different authors all coming into the same place and sorting things out between them as they go.

To me, this is scary --- anarchy!  With Proto, you always know exactly what everything means in every scope --- it's exactly the sort of control-freakiness that's so elegant and so often limiting with Scheme.  To Mirko and others in his community, coordination languages are a wonderful world of open pervasive ecosystems.  So when Mirko approached me about bringing ideas from Proto into the Linda coordination language, I struggled but ended up finding the challenge interesting.

Overall, I think we're still very early in figuring out how spatial computing programming languages can and should work.  There are certainly some key ideas that keep popping up over and over again: neighborhoods, distributed distance measures, vector fields, restriction, broadcasts, gossip, etc.  A group of us had a discussion of this after the spatial computing workshop, and decided that we ought to start building a table of the useful primitives, and which variants are being made available in all of our languages (kind of an obvious next step after the Spatial DSL Survey).

Linda in Space-Time is a start on another perspective, and I'm looking forward to where it goes next, and what the tension between it and Proto can teach us about computing on space in general.

Monday, June 25, 2012

Hi ho, hi ho, it's off to DC we go...

As a scientist, one of the things I do fairly frequently is make pilgrimages to Washington D.C.  Or more typically, not to D.C. proper, but just next door to Arlington, where all the funding agencies I work with have their offices, there to talk to program managers, attend PI meetings, sit on review panels, whatever.

This trip, though, I'm rather more nervous and keyed up about than usual, though, because tomorrow morning we're going to be talking about demand shaping and the Zome/ColorPower project in front of the Federal Smart Grid Task Force.  They've asked us to give a half hour presentation on these wild and disruptive technologies that we're bringing to the table, and so the Zome CTO & I will be there to present a story of Truth and Beauty (or at least our versions thereof) to representatives of a dozen or so key federal agencies.

What makes me happy is that I'm feeling really solid about our technology and our impact story.
What makes me nervous is that I've never presented to this level of Federal official before, let alone a whole gang of them all at once.
What makes me excited is that this could be a really useful step forward in bringing the whole distributed demand response project into reality...

Well, onward into the breach, dear friends!  It's wouldn't be science if I got to be too comfortable...

Monday, June 18, 2012

Underserved Diseases

I've been reading a lot about underserved diseases recently, as part of the work I'm doing on the our CCM project. CCM is a DARPA program that's working on synthetic biology approaches to human medical problems, and one of the things the program manager has been very clear about is that he want to make sure what we do is actually aimed at solving real disease problems faced by the military. Not by coincidence, it seems that a lot of the things the military is worried about are widespread diseases in the developing world: that's where our soldiers tend to end up, and when they live there, they suffer the same things that the rest of the people living there do.

So I guess that's got me thinking a lot about the whole larger issues of society and medical care. You see, a lot of these diseases are on the WHO's list of "underserved diseases," meaning that they don't get a lot of funding relative to the number of people who suffer from them. Just why that is, I don't know the medical funding world enough to judge, but I'd guess it's no coincidence that a lot of the people who suffer from them are very poor.

The amazing thing, too, is how many of these diseases could be seriously mitigated just by improving public health facilities, or infrastructure, or other relatively simple actions that become not so simple when you need to carry them out on a national or regional scale. I remember my own experiences in Kolkata, visiting my in-laws. Both my wife and I were struck down and hospitalized by a nasty viral gastroenteritis, and we were never really well again until we got back to the US: every time one of us was getting better, the other picked up another round of something that just pounded on our weakened immune systems again. How, why? It was simply that all of the infrastructure we take for granted was not there in Kolkata, and it was so hard to maintain a clear chain of provenance on anything we consumed. After we arrived home, we opened up a big "Infrastructure" coffee-table book I've got and read with fascination about how clean water is actually assured here in the US. Something so simple that we take so much for granted turned simply magical in the wake of that experience.

So... now here I am, as a researcher, thinking about these things again, from a different angle. These problems are so big, so infrastructural: what am I realistically like to accomplish? Well, not much. At least, not soon. I'm not a doctor, I'm not a disease specialist. What business do I have looking at these problems at all?

What I am, though, is a computer scientist, and one with (I think) a good understanding of complex systems, emergent interactions, and automated reasoning. I'm not going to cure any of these diseases myself. But with the techniques we're working on, and the new tools that I and my colleagues can provide, maybe we can make it a lot easier to study and attack these diseases... and that might turn out to make a big difference somewhere down the line.

And maybe even to those folks in the developing world who really need it. I was fascinated to learn, a little while back, that one of the big things that the US military does in places like Afghanistan is to provide health care to people in the villages that troops visit. From a cold realpolitik view it can be viewed as a sort of trade: I heal your sick child, you're more likely to be on my side in some future conflict. But at the same time, I don't really care about the motivation: the basic human diplomacy of health care still brings tears to my eyes... we all deserve to have people and institutions that care for our health, and it's a damned shame so many are underserved. I just have to do my damnedest to make sure the resources that I'm being given to help are being used as best we can...

Monday, June 11, 2012

Meanwhile, on the west coast...


While I was off at the Spatial Computing Workshop, my colleagues Aaron Adler and Fusun Yaman were representing the synthetic biology side of my work over at IWBDA - the International Workshop on Bio-Design Automation.  

We had two entries there this year.  The one presented by Aaron summarized the results of the TASBE project (short form: we made an end-to-end tool-chain for putting computer programs in living cells and it worked, though there's a lot of work needed for it to be practical.  Fusun presented the other (accepted as a poster), which has our preliminary results on designing cell-state detectors using the miRNA sensors being developed in Ron Weiss's lab.

I tried to have my cake and eat it too at least to some extent by dialing into the SBOL workshop, since I really *need* that standard to be able to support the designs emitted by our BioCompiler.  Alas, however, the quality of internet service was not enough for Skype to believe that I was actually typing the numbers of the dial-in conference code, and I could only get updates via IM (thank you so much to Mandy!)

I wonder if I got volunteered for any organizer duties while I wasn't looking...

Wednesday, June 06, 2012

The Spatial Computing Workshop has come and gone

Yesterday was the 2012 edition of the Spatial Computing Workshop, which I helped get started 5 years ago.  Next year, I will probably not be an organizer, and that will be a damned good thing.

The spatial computing community is small, if you count by the number of people who self-identify as researchers working in spatial computing, but it's becoming nicely coherent and starting to produce some nice results.  At yesterday's meeting, we had people coming from radically different fields all speaking the same language, and I think a growing sense of the shared set of problems that we all face.  At the heart of the work that everybody is doing is this problem of how to get good, robust, collective behavior out of the systems we deal with, all embedded in the messy, geometrical world.  And by God, there's actually a sense of progress!

Amongst the many highlights, from my own highly biased point of view:
  • Stefan Dulman's group has Proto at the heart of a design toolchain for architecture, where they've managed to build a "chart programming" GUI that the artistic types they work with may actually find usable, as well as a nice real-time OS layer underneath.  Experiments on architects begin next week...
  • Ulrik Schultz gave one of the wonderfully humble robotics talks that I've come to expect from him or Kasper Stoy.  It's so much more interesting from a research point of view to see the struggles in robotics as well as the parts that work well---and it makes me appreciate the programming language work they're doing much more to understand just how many hardware and communication problems it has to cope with.
  • Matt Duckham gave a talk on the view from the Spatial Information Systems community, where nearly every slide also contained critical commentary copied from the acid comments that the reviewers gave his paper.

About that last... one of the interesting things that I've noticed about the spatial computing community is that there's a very particular style to the reviewing.  Reviewers often seem come into a review with guns blazing, smashing away at a paper with every possible critique and concern, leaving nothing but rubble and scorched earth behind, oceans rising as earthquakes devour the land.  And the final judgement after all this fire and storm? "A good contribution deserving of publication.  Accept."  You know what?  I like that and think it's a good thing.  Strong scientific critique helps all of us produce better research---I never want to be submitting to an echo chamber of all likeminded individuals.  Yet that critique should be constructive, and judgement of a work made simply based on whether it is a contribution to the field.  I like how the community tends to review, and I really liked how Matt made the critique an integral part of his own presentation.

For my own part, we contributed one reviewed paper and one informal overview talk:
I will leave it to others to judge the worthiness of our own contributions.

All told, however, between the formal program and all the informal discussion surrounding it, I'm feeling seriously psyched about spatial computing, and happy there's enough other enthusiastic people that I can pass the torch and let go on organizing for next year.