of agent mobility and processing on hardware single-chip
level. Flexibility and design time versus resource require-
ments is the main difference. The state-machine based
approach I with fixed and hard implemented functional agent
behaviour is well suited for a small set of different agents with
simple algorithm complexity, whereas the code morphing
approach II is suited for a larger set of different agents with
higher algorithm complexity. A program-controlled approach
II is less power efficient and requires more resources, but
provides a higher lever of implementation and design free-
dom. The code morphing approach II reduces communication
complexity. One main issue addressed in the design of multi-
agent systems is cooperation and communication of agents,
and to ensure how can agents understand each other. Message
based systems require some kind of communication language.
Each node, which processes agents must comply about well
known data structures used for inter-agent communication,
fixed at design time. There are only limited capabilities to
handle data type inconsistency and the non-availability of
expected data. In contrast, the code based approach II uses
named code and data words resolved by a dictionary, with a
well known interface, and the capability to check and handle
type inconsistency. The hardware implementation of the
dictionary and the operational interface produces a fairly high
overhead of the resources compared with the traditional
shared data approach using memory references (as used in the
state-machine-based approach I). The smart routing protocol
must be modified to overcome the message live lock issues
and to improve stability by preserving reliability and robust-
ness. Future experimental investigations using real sensor
networks with different classes of data processing algorithms
should clarify the advantages and disadvantages of both
approaches.
References
1. Bosse S (2011) Hardware-software-co-design of parallel and
distributed systems using a unique behavioural programming and
multi-process model with high-level synthesis. In: Proceedings of
the SPIE microtechnologies 2011 conference, 18.4.2011–
20.4.2011, Prague, session EMT 102 VLSI circuits and systems
2. Bosse S, Lehmhus D (2010) Smart communication in a wired
sensor- and actuator-network of a modular robot actuator system
using a hop-protocol with delta-routing. In: Proceedings of smart
systems integration conference, Como, Italy, 23 to 24 Mar 2010
3. Bosse S, Pantke F, Kirchner F (2012) Distributed computing in
sensor networks using multi-agent systems and code morphing.
In: ICAISC conference, Prague
4. Kansal A, Hsu J, Zahedi S, Srivastava MB (2007) Power man-
agement in energy harvesting sensor networks. ACM Trans
Embed Comput Syst 6(4):32-es
5. Kent A, Williams JG (1998) Mobile agents, encyclopedia for
computer science and technology. M.Dekker Inc., New York
6. Klu
¨
gel F (1998) The multi-agent simulation environment
SeSAm. In: Bning HK (ed) Proceedings of workshop ’’simulation
in knowledge-based systems’’, Paderborn, Apr 1998
7. Pantke F, Bosse S, Lehmhus D, Lawo M (2011) An artificial
intelligence approach towards sensorial materials. In: Future
computing conference
8. Peine H, Stolpmann T (1997) The architecture of the ara platform
for mobile agents, MA ’97. In: Proceedings of the first interna-
tional workshop on mobile agents, Springer, London
9. Ro
¨
mer K, Mattern F (2004) The design space of wireless sensor
networks. In: IEEE Wireless Communications 11, Dezember,
Nr. 6, pp 54–61
10. Wang AI, Sørensen CF, Indal E (2003) A mobile agent archi-
tecture for heterogeneous devices. Wireless Opt Comm
11. Wooldridge M (2009) An introduction to multiagent systems.
Wiley, New York
Table 3 Comparison of the two data processing approaches for mobile agents
Approach I. State-machine Approach II. Code morphing
Agent behaviour is Fixed, nodes must comply with previously
defined common data types and structures as
well as message formats
Not fixed, can change dynamically, and nodes do
not require knowledge of data structures and
types in advance
Functional behaviour is implemented Statically in local data processing machine Dynamically in programming code, which can
be modified by the program itself
Implementation in Hardware, single chip Hardware, single chip
Agent state is kept in Data storage Code, stacks, and data storage
Message size depends on Data complexity and size, data and control state,
but is independent of code complexity
Code complexity and size, but is independent of
state
Hardware resources are Small (\1M eq. logic gates including storage) Large ([1M–3M eq. logic gates including
storage)
Storage resources are Small (\5,000 register cells) Large ([10,000 register cells)
Speed is High (1–2 clock cycles per statement) Medium (5–20 clock cycles per core word
instruction)
Power consumption is Low and depends on code complexity Medium and is independent of code complexity
Prod. Eng. Res. Devel. (2013) 7:43–51 51
123