Goal Modelling for DNA Programming

Sometimes, your research can have influences in unexpected places. A couple of months ago, Google Scholar alerted me of a paper by Robyn Lutz and colleagues at NASA JPL and the Iowa State University that applies goal-oriented requirements modelling to the design and analysis of programmable DNA nanotechnology. This is part of the fascinating field of synthetic biology; the idea that we could engineer new biological systems performing useful functions that can’t be performed by natural biological systems, much in the same way that material engineers have developed new materials such alloys or reinforced concrete that exhibit properties that could not be found in natural metals and stones. These biological systems are composed of huge numbers of nanoscale living organisms that when put together have some global emergent properties and behaviours. The individual organisms are designed by programming their DNA, long sequences of A-T-C-G letters, which is the equivalent of machine language instructions for a computer program. In fact, this period in the development of synthetic biology is often compared to the early days of computer science, with plenty of stories and scares about people hacking systems in their garage. That’s about how much I understand about it at the moment.

Interestingly, software engineering concepts appear to play a significant role in the development of this field. This comic published in Nature, for example, refers to concepts such as abstraction, information hiding, and interfaces that are at the heart of software architecture. The research appears to still be laying out the basic technological foundations and, apart from important general concerns about safety and security, there doesn’t seem to be much explicit consideration for requirements and the relations between requirements and architectures for such systems. As the technology progresses, this will certainly change. The paper by Robyn Lutz and her colleagues is probably the first to investigate what requirements engineering methods for such systems might look like. The paper will be presented at the New Idea and Emerging Research track at ICSE this week. It is one of the many talks I’m looking forward to.