Researchers at Standford University develop multi-level programming language for biotic games using swarms of microorganisms
Computer games are a ubiquitous pastime and a great example of how a single programming language give rise to a myriad of games. But what about biotic games? How could you program biological systems to function in an interactive way? Biotic games are interactive applications that interface biology and computer science for the promotion of science. The Riedel-Kruse Lab at Standford specialize in developing biotic games that use light to control swarms of Euglena gracilis—a phototaxic microorganism that avoids—and can direct, capture, and move whole swarms or individual organisms.
But programming swarms of microorganisms is no easy task. Swarms exhibit collective behaviour and therefore need to be controlled through local context rather than at the individual level. In their recent publication, the Riedel-Kruse Lab developed a set of hierarchical programming abstractions that allows swarms of Euglena within a biological processing unit (BPU; i.e., chip, microscope, and light stimuli) to be programmed in a single and efficient language at the stimulus, swarm, and system levels. At the lowest level, stimulus space programming (which the authors analogize to machine code) allows the programmer to have direct control over the various stimuli (e.g., turn left light on for 3 s), independent of the Euglena. Higher level programming at the swarm and system levels are more general and commands are given in terms of what the user wants the Euglena or system to do. For instance, swarm space commands direct the swarm in different operations such as move, split, and combine. System space commands incorporate conditional statements that can be used to confine a specific number of Euglena to a certain region or to clear Euglena from the field of view, for example.
While Lam et al. used this new language to program a biotic game, this new language and approach to swarm programming could be generalized for any type of swarm and stimuli. One application could be to program swarms to construct complex structures on the microscale. In future, by increasing access to BPUs through cloud computing and releasing this new programming language it will be possible for hobbyists and researchers alike to write new programs and applications. And maybe this is just the beginning of a revolution like the one ushered in by the release of the personal microcomputer.
To download the full article for free* click the link below:
Device and programming abstractions for spatiotemporal control of active micro-particle swarms
Amy T. Lam, Karina G. Samuel-Gama, Jonathan Griffin, Matthew Loeun, Lukas C. Gerber, Zahid Hossain, Nate J. Cira, Seung Ah Lee and Ingmar H. Riedel-Kruse
Lab Chip, 2017,17, 1442-1451
DOI: 10.1039/C7LC00131B
*Free to access until 24th May 2017.
About the Webwriter
Darius Rackus is finishing his Ph.D. at the University of Toronto working in the Wheeler Lab. His research interests are in combining sensors with digital microfluidics for healthcare applications.