wireless sensor networks. One of the most typical
self-organization approaches to distributed systems is
swarm intelligence (Bonabeau et al., 1999; Dorigo
and Stutzle, 2004). Although there is no central-
ized control structure dictating how individual agents
should behave, interactions between simple agents
with static rules often lead to the emergence of in-
telligent global behavior. Most existing approaches
have only focused on their target problems or ap-
plications but they are not general purpose, whereas
CPSs are general purpose. Our software adaptation
approach should be independent of applications. Fur-
thermore, most existing self-organization approaches
explicitly or implicitly assume a large population of
agents or boids. However, real CPSs have no room
to execute such large numbers of agents. In fact, a
CPS consists of embedded computers, whose com-
putational resources are limited. Consequently, our
software adaptation mechanism for CPSs must spend
little computational resources of the systems for soft-
ware adaptation as possible.
Georgiadis et al. (Georgiadis et al., 2003)
presented connection-based architecture for self-
organizing software components on a distributed sys-
tem. Like other software component architectures,
they intended to customize their systems by chang-
ing the connections between components instead of
the internal behaviors inside them. Like ours, Cheng
at al. (Cheng et al., 2006) presented an adaptive se-
lection mechanism for servers by enabling selection
policies, but they did not customize the servers them-
selves. They also needed to execute different servers
simultaneously. Herrman et al. proposed the bio-
inspired deployment of services on sensor networks
(Herrman, 2008). Unlike ours, their work focused on
the deployment and coordination of services, instead
of the adaptation of software itself to provide services.
We proposed a nature-inspired approach to dy-
namically deploying agents at computers in our previ-
ous paper (Satoh, 2007). The approach enabled each
agent to describe its own deployment as a relation-
ship between its location and another agent’s location.
However, the approach had no mechanism for dif-
ferentiating or adapting agents themselves. We also
presented an early prototype of this approach (Satoh,
2011) and its extension for sensor networks (Satoh,
2012). The former aimed at an adaptive mechanism
in application-specific services and the latter was an
early implementation of the approach.
3 APPROACH
Traditional management approaches may not be able
to support complications or dynamism in CPSs. In-
stead, we introduce a bio-inspired approach to CPSs.
The basic inspiration for our approach lies in cellular
differentiation, which is the process by which a less
specialized cell develops or matures to possess a more
distinct form and function in developmental biology.
When a parent cell divides into two or more daugh-
ter cells, the latter may be differentiated from the for-
mer. For example, cellular slime molds, e.g., dic-
tyostelium discoideum, are eukaryotic microorgan-
isms in the soil. Once food becomes scarce, dic-
tyostelium discoideum cells start to aggregate and dif-
ferentiate themselves. They can also be differentiated
into two types: prespore cells and prestalk cells. Each
cell tries to become a prespore cell and periodically
secretes cyclic-adenosine-monophosphate (cAMP) to
other cells. If a cell can receive more than a specified
amount of cAMP from other cells, it can become a
prespore cell. There are three rules. 1) cAMP chemo-
tactically leads other cells to prestalk cells. 2) A cell
that is becoming a prespore cell can secrete a large
amount of cAMP to other cells. 3) When a cell re-
ceives more cAMP from other cells, it can secrete less
cAMP to other cells.
Computer 1
Behavior A
Initial phase
Differentiation
phase
Behavior B Behavior A Behavior B
Computer 2
Computer 1
Computer 2
Network
Agent 1
Agent 2
Network
Computer 1
Dedifferentiation
phase
Computer 2
Network
partioning
Behavior B
(progression)
Behavior A
(regression)
Behavior A
(progression)
Behavior B
(regression)
Behavior A Behavior B Behavior A Behavior B
Figure 1: Differentiation mechanism for software adapta-
tion.
Our approach introduces the notion of
(de)differentiation into software components,
called agents that is like a cell, where each agent is
defined as autonomous software consisting of one or
more functions. We provide hardware or physical
components in CPSs with proxies that can interact
with agents. The approach involves treating the
undertaking/delegation of functions in agents from/to
other agents as their differentiation factors. Each
function is a programmable entity and has its own
weight corresponding to the amount of cAMP and
this indicates its superiority. When an agent delegates
a function to another agent, if the former has the
function, its function becomes less-developed and
the latter’s function becomes well-developed. Agents
ICAART2013-InternationalConferenceonAgentsandArtificialIntelligence
258