Dynamically reconfigurable hardware/software mobile agents


The paper describes an approach to allow dynamic reconfiguration of mobile agents. Both pure software agents—as the ones usually supported by multi-agent systems frameworks—as well as pure hardware agents, running in FPGA hardware, are supported. Agents can migrate among nodes or move from software to hardware (or vice-versa) using high-level services. The proposed approach even supports that a software agent migrates to another node and becomes a hardware agent in the target node. This opens a wide spectrum of possibilities for system designers, allowing dynamic reconfiguration of distributed applications based on current system requirements. Communication among agents follows the same schema usually adopted by multi-agent frameworks and the fact that the called agent is implemented as hardware or software is totally transparent to the calling agents. This is made possible due to the development of the an agent wrapper layer, on which proxy agents, implemented in software, are responsible for handling all necessary information to their hardware counterparts. The proposed approach was implemented using the Jade framework, a Java-based multi-agent systems framework which is widely adopted in several applications. In order to assess the timing performance and memory overhead of the proposed approach, a case study including two computationally intensive agents—a Floating Point Unit (FPU) and a Kalman Filter agent—were developed and implemented both as software as well as hardware agents. Obtained results that allowed the validation of the proposed ideas are presented in the paper.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13


  1. 1.

    Anjum M, Park J, Hwang W, il Kwon H, Kim HJ, Lee C, Kim SK, il Danr CD (2010) Sensor data fusion using unscented Kalman filter for accurate localization of mobile robots. In: International conference on control automation and systems (ICCAS), pp 947–952

    Google Scholar 

  2. 2.

    Bauer L, Shafique M, Kramer S, Henkel J (2007) RISP: rotating instruction set processing platform. In: 44th ACM/IEEE design automation conference, DAC ’07, pp 791–796

    Google Scholar 

  3. 3.

    Benso A, Cilardo A, Mazzocca N, Miclea L, Prinetto P, Szilard E (2005) Reconfigurable systems self-healing using mobile hardware agents. In: Proceedings of IEEE international test conference, ITC 2005, pp 9–476

    Google Scholar 

  4. 4.

    Bussmann S, Jennings NR, Wooldridge MJ (2004) Multiagent systems for manufacturing control: a design methodology. Springer series on agent technology. Springer, Berlin, New York, Paris

    Book  Google Scholar 

  5. 5.

    Cervera E (2008) Practical multi-robot applications with player and JADE. In: ICARCV 10th international conference on control, automation, robotics and vision, pp 2004–2009

    Google Scholar 

  6. 6.

    Cilardo A, Coppolino L, Mazzocca N (2007) A framework for the design of distributed reconfigurable embedded systems. In: 20th international conference on architecture of computing systems (ARCS), pp 1–8

    Google Scholar 

  7. 7.

    de Freitas EP (2011) Cooperative context-aware setup and performance of surveillance missions using static and mobile wireless sensor networks. PhD thesis (doctor of philosophy), Halmstad University, Halmstad, Sweden

  8. 8.

    de Freitas EP, Heimfarth T, Pereira CE, Ferreira AM, Wagner FR, Larsson T (2011) Multi-agent support in a middleware for mission-driven heterogeneous sensor networks. Comput J 54(3):406–420

    Article  Google Scholar 

  9. 9.

    Di Domenico D, Fiengo G, Stefanopoulou A (2008) Lithium-ion battery state of charge estimation with a Kalman filter based on a electrochemical model. In: IEEE international conference on control applications, CCA, pp 702–707

    Google Scholar 

  10. 10.

    Fok CL, Roman GC, Lu C (2005) Rapid development and flexible deployment of adaptive wireless sensor network applications. In: Proceedings of the 25th IEEE international conference on distributed computing systems, ICDCS ’05. IEEE Computer Society, Washington, pp 653–662

    Google Scholar 

  11. 11.

    Fok CL, Roman GC, Lu C (2009) Agilla: a mobile agent middleware for self-adaptive wireless sensor networks. ACM Trans Auton Adapt Syst 4:16:1–16:26

    Article  Google Scholar 

  12. 12.

    Garcia P, Compton K, Schulte M, Blem E, Fu W (2006) An overview of reconfigurable hardware in embedded systems. EURASIP J Embed Syst 2006:1–19

    Article  Google Scholar 

  13. 13.

    Gomez-Gualdron J, Velez-Reyes M, Collazo L (2007) Self-reconfigurable electric power distribution system using multi-agent systems. In: Electric ship technologies symposium—ESTS. IEEE Press, New York, pp 180–187

    Google Scholar 

  14. 14.

    Götz M, Rettberg A, Pereira CE (2006) Run-time reconfigurable real-time operating system for hybrid execution platforms. In: Proceedings of the 12th IFAC symposium on information control problems in manufacturing (INCOM), Saint-Etienne, France, vol I—Inform. Elsevier, Oxford, pp 81–86

    Google Scholar 

  15. 15.

    Götz M, Dittmann F, Xie T (2009) Dynamic relocation of hybrid tasks: strategies and methodologies. Microprocess Microsyst 33(1):81–90

    Article  Google Scholar 

  16. 16.

    Herbert J, O’Donoghue J, Ling G, Fei K, Fok CL (2006) Mobile agent architecture integration for a wireless sensor medical application. In: IEEE/WIC/ACM international conference on web intelligence and intelligent agent technology workshops, WI-IAT workshops, pp 235–238

    Google Scholar 

  17. 17.

    Hsieh CM, Wang Z, Henkel J (2013) DANCE: distributed application-aware node configuration engine in shared reconfigurable sensor networks. In: Design, automation test in Europe conference exhibition (DATE), pp 839–842

    Google Scholar 

  18. 18.

    IEEE: IEEE 754 standard (2012). http://grouper.ieee.org/groups/754/. Access in March 2012

  19. 19.

    Kalman RE (1960) A new approach to linear filtering and prediction problems. J Basic Eng 82(Series D):35–45

    Article  Google Scholar 

  20. 20.

    Kearney DA, Jasiunas M (2007) Using simulated partial dynamic run-time reconfiguration to share embedded FPGA compute and power resources across a swarm of unpiloted airborne vehicles. EURASIP J Embed Syst 2007

  21. 21.

    Laboratory (2012) U.D.I.E.: mobilec project website. http://www.mobilec.org/. Access in March 2012

  22. 22.

    Levis P, Madden S, Polastre J, Szewczyk R, Whitehouse K, Woo A, Gay D, Hill J, Welsh M, Brewer E, Culler D (2005) TinyOS: an operating system for sensor networks ambient intelligence. In: Weber W, Rabaey JM, Aarts E (eds) Ambient intelligence. Springer, Berlin/Heidelberg, pp 115–148. Chap 7

    Google Scholar 

  23. 23.

    Luck M, McBurney P, Preist C (2003) Agent technology: enabling next generation computing (a roadmap for agent based computing). Agentlink. ISBN 0854 327886

  24. 24.

    Lundgren D (2012) Opencores project web site. http://opencores.org/project,fpu_double. Access in March 2012

  25. 25.

    Lysecky R, Vahid F (2009) Design and implementation of a microblaze-based warp processor. ACM Trans Embed Comput Syst 8(3):22:1–22:22

    Article  Google Scholar 

  26. 26.

    Lysecky R, Stitt G, Vahid F (2006) Warp processors. ACM Trans Des Autom Electron Syst 11:659–681

    Article  Google Scholar 

  27. 27.

    Marík V, Lazansky J (2007) Industrial applications of agent technologies. Control Eng Pract 15(11):1364–1380

    Article  Google Scholar 

  28. 28.

    Marik V, McFarlane D (2005) Industrial adoption of agent-based technologies. IEEE Intell Syst 20(1):27–35

    Article  Google Scholar 

  29. 29.

    Meng Y (2005) An agent-based reconfigurable system-on-chip architecture for real-time systems. In: Second international conference on embedded software and systems (ICESS’05). IEEE Press, New York, pp 166–173

    Google Scholar 

  30. 30.

    Meng Y (2006) An agent-based mobile robot system using configurable SOC technique. In: Proceedings 2006 IEEE international conference on robotics and automation, ICRA, pp 3368–3373

    Google Scholar 

  31. 31.

    Mois G, Stefan I, Enyedi S, Miclea L (2010) Reconfiguration and hardware agents in testing and repair of distributed systems. In: Design test symposium (EWDTS), pp 195–198

    Google Scholar 

  32. 32.

    Naji H, Wells B (2002) On incorporating multi-agents in combined hardware/software based reconfigurable systems—a general architectural framework. In: Proceedings of the thirty-fourth southeastern symposium on system theory (Cat. no. 02EX540). IEEE Press, New York, pp 344–348

    Google Scholar 

  33. 33.

    Naji HR, Wells B, Etzkorn L (2004) Creating an adaptive embedded system by applying multi-agent techniques to reconfigurable hardware. Future Gener Comput Syst 20(6):1055–1081

    Article  Google Scholar 

  34. 34.

    Onori M, Lohse N, Barata J, Hanisch C (2012) The IDEAS project: plug & produce at shop-floor level. In: Assembly automation, vol 32. Emerald, Bingley, pp 124–134

    Google Scholar 

  35. 35.

    Quaritsch M, Kruggl K, Wischounig-Strucl D, Bhattacharya S, Shah M, Rinner B (2010) Networked UAVs as aerial sensor network for disaster management applications. E&I, Elektrotech Inftech 127(3):56–63

    Article  Google Scholar 

  36. 36.

    Shafique M, Bauer L, Henkel J (2009) REMiS: run-time energy minimization scheme in a reconfigurable processor with dynamic power-gated instruction set. In: IEEE/ACM international conference on computer-aided design—digest of technical papers, ICCAD 2009, pp 55–62

    Google Scholar 

  37. 37.

    Shafique M, Bauer L, Henkel J (2010) Selective instruction set muting for energy-aware adaptive processors. In: IEEE/ACM international conference on computer-aided design (ICCAD), pp 353–360

    Google Scholar 

  38. 38.

    Shen W, Norrie D (1999) Agent-based systems for intelligent manufacturing: a state-of-the-art survey. Knowl Inf Syst 1(2):129–156

    Article  Google Scholar 

  39. 39.

    Simon D (2001) Kalman filtering. In: Embedded systems programming, pp 72–79

    Google Scholar 

  40. 40.

    Srivastava S, Nandi G (2010) Localization of mobile robots in a network using mobile agents. In: International conference on computer and communication technology (ICCCT), pp 415–420

    Google Scholar 

  41. 41.

    Tapia DI, Alonso RS, Rodríguez S, Paz JFD, González A, Juan M (2010) Embedding reactive hardware agents into heterogeneous sensor networks. In: 2010 13th conference on information fusion (FUSION), Edinburgh. IEEE Press, New York, pp 1–8

    Google Scholar 

  42. 42.

    Tapia D, Alonso R, García O, Corchado J (2011) Highlights in practical applications of agents and multiagent systems. In: Pérez JB, Corchado JM, Moreno MN, Julián V, Mathieu P, Canada-Bago J, Ortega A, Caballero AF (eds) Highlights in practical applications of agents and multiagent systems—advances in intelligent and soft computing. Advances in intelligent and soft computing, vol 89. Springer, Berlin, pp 249–256. Chap HERA: Hard

    Google Scholar 

  43. 43.

    TILAB: Jade website (2012). http://jade.tilab.com. Accessed in March 2012

  44. 44.

    Van Dyke Parunak H (1999) In: Weiss G (ed) Multiagent systems, chap. industrial and practical applications of DAI. MIT Press, Cambridge, pp 377–421

    Google Scholar 

  45. 45.

    Walder H, Platzner M (2004) A runtime environment for reconfigurable hardware operating systems. In: Proceedings of the 14th international conference on field-programmable logic and applications (FPL), pp 831–835

    Google Scholar 

  46. 46.

    Wigley G, Kearney D (2001) The development of an operating system for reconfigurable computing. In: Proceedings of the 9th IEEE symposium on field-programmable custom computing machines (FCCM), pp 249–250

    Google Scholar 

  47. 47.

    Xilinx: Partial reconfiguration user guide (2011)

  48. 48.

    Xilinx: Partial reconfiguration user guide. Chapter 4—PlanAhead support (2011)

  49. 49.

    Yoneki E, Bacon J (2005) A survey of wireless sensor network technologies: research trends and middleware’s role. Tech. rep, University of Cambridge, Computer Laboratory

  50. 50.

    Zhou QL, Zhang Y, Qu YH, Rabbath CA (2010) Dead reckoning and Kalman filter design for trajectory tracking of a quadrotor UAV. In: IEEE/ASME international conference on mechatronics and embedded systems and applications (MESA), pp 119–124

    Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Marcelo Götz.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Cemin, D., Götz, M. & Pereira, C.E. Dynamically reconfigurable hardware/software mobile agents. Des Autom Embed Syst 18, 39–60 (2014). https://doi.org/10.1007/s10617-013-9116-3

Download citation


  • Multi-agent systems
  • Hardware agent
  • Mobile agent
  • Reconfigurable computing