A distributed biological system can be defined as a system whose components are
located in different subpopulations, which communicate and coordinate their actions
through interpopulation messages and interactions. We see that distributed systems
are pervasive in nature, performing computation across all scales, from microbial
communities to a flock of birds. We often observe that information processing within
communities exhibits a complexity far greater than any single organism. Synthetic
biology is an area of research which aims to design and build synthetic biological
machines from biological parts to perform a defined function, in a manner similar
to the engineering disciplines. However, the field has reached a bottleneck in the
complexity of the genetic networks that we can implement using monocultures, facing
constraints from metabolic burden and genetic interference. This makes building
distributed biological systems an attractive prospect for synthetic biology that would
alleviate these constraints and allow us to expand the applications of our systems
into areas including complex biosensing and diagnostic tools, bioprocess control and
the monitoring of industrial processes. In this review we will discuss the fundamental
limitations we face when engineering functionality with a monoculture, and the key
areas where distributed systems can provide an advantage. We cite evidence from
natural systems that support arguments in favor of distributed systems to overcome
the limitations of monocultures. Following this we conduct a comprehensive overview
of the synthetic communities that have been built to date, and the components that
have been used. The potential computational capabilities of communities are discussed,
along with some of the applications that these will be useful for. We discuss some of
the challenges with building co-cultures, including the problem of competitive exclusion
and maintenance of desired community composition. Finally, we assess computational
frameworks currently available to aide in the design of microbial communities and identify
areas where we lack the necessary tool