Evolution of Computing Site Map

The Underlying Problems of Complexity in computing are similar to those in biology

The history of computing -- The complexity of hardware, software, and usage models has increased monotonically, not to say exponentially, from the invention of computers to the explosion of smartphones, to social media, to the Internet of Things (IoT), and now to machine-learning, cryptocurrencies and one day soon to Quantum Computing.

A brief statement of the problem -- Complexity in the digital world is beyond our control, yet computing becomes ever more central to business and society

The future of computing -- Several trends in computing will continue to change society:
  • The Internet of Things and malicious botnets magnify the insecurity of the Internet in unpredictable ways.
  • As we use more Internet-connected services, we become more like cyborgs.
  • The expansion of cryptocurrencies is likely to change commerce...but for better or worse?
  • And the development of practical Quantum Computing, presumably in the next decade or so, will toss a cat among the pigeons! It will upend encryption in general and Bitcoin and other cryptocurrencies in particular.
  • Artificial General Intelligence (AGI) is still decades away. However Machine-learning will continue to be adopted in thousands more applications. Each, by itself, may be benign but their interactions will be unpredictable.
  • Four principles of multicellular systems -- Architectural strategies for managing cooperation between biological cells emerged more than 500 million years ago. They are nearly universal in multicellular organisms. And they all evolved before or coincident with the emergence of multicellular life. Now webs of cooperating computers are evolving similar principles.

    1) Specialization -- a fundamental characteristic of biological multicellular systems. Unspecialized cells, such as stem cells, must be kept under control.

    Specialization in Computing -- Although there is a tendency to talk about computers as general purpose, many computers are quite specialized already. Unfortunate exceptions happen in cheap Internet of Things devices that therefore invite hacking.

    2) Messaging -- the receiver, not the sender, determines a message'a meaning

    Messaging in biological systems -- the taboo of intercellular transfer of genetic information

    Messaging in multicellular computing -- code transfer should also be taboo.

    Issues of loading code and dealing with interpreted code complicate matters.

    3) Stigmergy -- individual parts of the system communicate by modifying their local environment. The modifications become persistent cues for other elements in the system

    Stigmergy and self -- self is defined by the body-as-stigmergy-structure, not by the genetic identities of the cells

    Stigmergy in computing systems -- cues left in persistent stores, e.g., databases, network structures and Web Services, organize multicellular computing

    Novel stigmergy structures in the Internet -- Stigmergy is the primary organizing force in the Internet

    4) Apoptosis (Programmed Cell Death) -- Multicellular organisms protect and even "sculpt" themselves during development by deliberate cell suicide

    Apoptosis in Computing -- in multicellular computing, the individual computer must be willing to sacrifice itself for the good of the larger organism. But old single-cell computing attitudes that each computer is supreme will die slowly.

    How the four principles are intertwined -- the four principles co-evolved and are interdependent both as abstract architecural principles and as concrete implimentations within each cell.

    Conclusions -- The evolution from single-cell to multicellular computing is happening. The Four Principles can smooth the transition.

    Characterizing Complexity -- Dynamic complex systems inevitably become even more complex. But why? Turns out that's a deep question.

    Dynamic Complexity -- Dynamic elements in a system that adapt to other dynamic elements create positive feedback loops and complex interdependencies

    Out of control complexity -- Once complexity is out of control, it takes control

    The need for Encapsulation -- both life and computing use encapsulation to limit unwanted dynamic interactions

    The parallels between biology and computing -- Information processing, complexity, encapsulation and the evolution toward multicellularity

    Biological information processing -- Cells process information in order to survive and thrive. How comparable are their processing capabilities to those of computers?

    Background Issues: Emergence and Evolution

    Multi-Level Emergent Complexity -- Complex systems inevitably evolve multiple levels of complexity which are difficult to understand, and even more difficult to predict

    Multi-Level Biological Systems -- It took more than a dozen intermediate stages/levels of emergence to evolve multicellular life, and they all still play a role in everyday living systems.

    Multi-Level Computing Systems -- The evolution of computing systems is far shorter than the evolution of life, but now the two are merging!

    Scale and Emergence -- The tradeoff between the richness of possible interactions and the number of elements required in a system for emergence to generate new surprises.

    Examples of Emergence -- Some familiar examples in nature (hurricanes, flocks of birds, and sand dunes), in human affairs (agriculture and sailing ships), and in the Internet (Google, Facebook, and Twitter).

    The evolution of multicellular systems -- from biofilms (training wheels for multicellularity) to full-blown multicellular life

    Evolution, co-evolution and monoculture -- No matter how hard we try to engineer complex computing systems, they stubbornly insist upon evolving.

    Other Resources

    Companion Paper(pdf) 2007
    Slides(pdf) From the 2004 TII/Vanguard Conference on Complexity
    Slides(pdf) From the 2009 University of Birmingham Seminar
    Author Bio

    Last revised 9/19/2018