Abstract
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.
Similar content being viewed by others
References
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Götz M, Dittmann F, Xie T (2009) Dynamic relocation of hybrid tasks: strategies and methodologies. Microprocess Microsyst 33(1):81–90
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
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
IEEE: IEEE 754 standard (2012). http://grouper.ieee.org/groups/754/. Access in March 2012
Kalman RE (1960) A new approach to linear filtering and prediction problems. J Basic Eng 82(Series D):35–45
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
Laboratory (2012) U.D.I.E.: mobilec project website. http://www.mobilec.org/. Access in March 2012
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
Luck M, McBurney P, Preist C (2003) Agent technology: enabling next generation computing (a roadmap for agent based computing). Agentlink. ISBN 0854 327886
Lundgren D (2012) Opencores project web site. http://opencores.org/project,fpu_double. Access in March 2012
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
Lysecky R, Stitt G, Vahid F (2006) Warp processors. ACM Trans Des Autom Electron Syst 11:659–681
Marík V, Lazansky J (2007) Industrial applications of agent technologies. Control Eng Pract 15(11):1364–1380
Marik V, McFarlane D (2005) Industrial adoption of agent-based technologies. IEEE Intell Syst 20(1):27–35
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
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
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
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
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
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
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
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
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
Shen W, Norrie D (1999) Agent-based systems for intelligent manufacturing: a state-of-the-art survey. Knowl Inf Syst 1(2):129–156
Simon D (2001) Kalman filtering. In: Embedded systems programming, pp 72–79
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
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
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
TILAB: Jade website (2012). http://jade.tilab.com. Accessed in March 2012
Van Dyke Parunak H (1999) In: Weiss G (ed) Multiagent systems, chap. industrial and practical applications of DAI. MIT Press, Cambridge, pp 377–421
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
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
Xilinx: Partial reconfiguration user guide (2011)
Xilinx: Partial reconfiguration user guide. Chapter 4—PlanAhead support (2011)
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-013-9116-3