A cyberorganism may freely split and join
other organisms, its parts may be distributed, and
the parts may be destroyed and regenerate.
inherently parallel actor languages that enable the use
of multicore processors. However, to facilitate more
complex and interesting services, software must be
able to endure and adapt. Thus, the concept of an
actor as an ephemeral process tied to a single computer at a time is not sufficient to execute such services.
Endurance and adaptation are common traits in
natural systems that require a relatively “long” life
cycle depending on their ability to adapt through
feedback mechanisms provided by the environment.
Natural selection uses such feedback to change the
programming of organisms.
Organisms with mobility and more complex functions (like animals in nature) use environmental feedback to learn complex new tasks. Software must also
learn to purposefully navigate its environment. As
such, it must be more like an animal: mobile and able
to forage for resources, learn from the environment,
evolve, and provide services. One can imagine
cyberorganisms [ 2] roaming the pervasive cyberspace,
gaining “wealth” by providing services, negotiating
with computers to sense the environment, and computing, actuating, and learning (self-modifying) from
the results of their actions.
This is not to argue that software will be entirely
analogous to biological hardware—even if we were to
create biological computers, as we will eventually. An
innatedifference between organisms and software
will persist: Software cannot directly sense, compute,
or affect its environment; rather, it depends on the
availability of computer nodes and networks. It is like
a Platonic ideal of mind with a life independent of a
physical body, albeit one that may move from one
body to another, adapt itself or modify how the body
it controls may operate.
However, this metaphor also suggests the possibility of a different sort of resilience: a cyberorganism
need not be bounded in space and time like its biological counterparts. Rather, it may freely split and
join other organisms, its parts may be distributed, and
the parts may be destroyed and possibly regenerate.
In pervasive cyberspace, no central authority exercises complete control over the actions of cyberorganisms. This does not mean that control mechanisms
will be entirely absent. We can foresee a pervasive
cyberspace with many autonomous monitoring
agents and mechanisms that limit access. Some mechanisms will affect systems as a whole, others the interaction among nominally independent systems. Some
of these monitoring-and-control mechanisms will
affect macro-level properties of systems, much as a
central bank influences the emergent properties of a
national economy by controlling key interest rates.
We are at the threshold of an entirely new science
of computing, one that will be inspired by the biological metaphor, not by the notion of algorithm.
Reporting this scientific evolution, the next 50 years
of CACM should make even more exciting reading
than the previous 50 years. c
REFERENCES
1. Agha, G. Concurrent object-oriented programming. Commun. ACM 33,
9 (Sept. 1990), 125– 141.
2. Jamali, N., Thati, P., and Agha, G. An actor-based architecture for customizing and controlling agent ensembles. IEEE Intelligent Systems 14, 2
(Apr. 1999), 38– 44.
GUL AGHA ( agha@cs.uiuc.edu) is Director of the Open Systems
Laboratory and a professor in the Department of Computer Science at
the University of Illinois at Urbana-Champaign. He was Editor-in-Chief of ACM Computing Surveys 1999–2007.