Abstract
Hermes is a middleware system for design and execution of activity-based applications in distributed environments. It supports mobile computation as an application implementation strategy. While middleware for mobile computing has typically been developed to support physical and logical mobility, Hermes provides an integrated environment where application domain experts can focus on designing activity workflow and ignore the topological structure of the distributed environment. Generating mobile agents from a workflow specification is the responsibility of a context-aware compiler.
Hermes is structured as a component-based, agent-oriented system with a 3-layer software architecture. It can be configured for specific application domains by adding domain-specific component libraries. The Hermes middleware layer, compilers, libraries, services and other developed tools together result in a very general programming environment, which has been validated in two quite disparate application domains, one in industrial control and the other in bioinformatics. In the industrial control domain, embedded systems with scarce computational resources control product lines. Mobile agents are used to trace products and support self-healing. In the bionformatics domain, mobile agents are used to support data collection and service discovery, and to simulate biological system through autonomous components interactions.
This work was supported by the Fulbright grants, by the Center of Excellence for Research “DEWS: Architectures and Design Methodologies for Embedded Controllers, Wireless Interconnect and System-on-chip” and by Italian CIPE project “Sistemi Cooperativi Multiagente”.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Amici, R., Cacciagrano, D., Corradini, F., Merelli, E.: A process algebra view of coordination models with a case study in computational biology. In: Proceedings of 1st International Workshop on Coordination and Petri Nets, PNC 2004 (2004)
Angeletti, M., Culmone, R., Merelli, E.: An intelligent agent architecture for dna-microarray data integration. In: NETTAB Workshop on CORBA and XML: Towards a bioinformatics integrated network environment, Genova (2001)
B’Far, R.: Mobile Computing Principles. Cambridge University Press, Cambridge (2005)
Bartocci, E., Mariani, L., Merelli, E.: An XML view of the “world”. In: International Conference on Enterprise Information Systems, ICEIS, Angers, France, April 2003, pp. 19–27 (2003)
Bartocci, E., Moeller, S., Todo, L., Merelli, E.: Integration of ensembl with bioagent. In: Abstract book of the Biocomp - Gruppo di Cooperazione in Bioinformatica (2004)
Bellwood, T., Clément, L., Ehnebuske, D., Hately, A., Hondo, M., Husband, Y.L., Januszewski, K., Lee, S., McKee, B., Munter, J., von Riegen, C.: UDDI version 3.0. Published specification, Oasis (2002)
Bluetooth, http://www.bluetooth.org
Bonura, D., Corradini, F., Merelli, E., Romiti, G.: Farmas: a MAS for extended quality workflow. In: 2nd IEEE International Workshop on Theory and Practice of Open Computational Systems. IEEE Computer Society Press, Los Alamitos (2004)
Bonura, D., Mariani, L., Merelli, E.: Designing modular agent systems. In: Proceedings of NET.Object DAYS, Erfurt, September 2003, pp. 245–263 (2003)
Cardelli, L.: Abstract machines of systems biology. In: Transaction on Computation System Biology, special issue for NETTAB Workshop on Model and Metaphors from Biology to Bioinformatics Tools. LNCS, Springer, Heidelberg (2005) (to appear)
Cardelli, L., Gordon, A.D.: Mobile ambients. Theoretical Computer Science 240(1), 117–213 (2000)
Carriero, N., Gelernter, D., Mattson, T.G.: Linda in heterogeneous computing environments. In: Proceedings of the Workshop on Heterogeneous Processing, Beverly Hills, CA, March 1992, pp. 43–46 (1992)
Corradini, F., Culmone, R., Di Berardini, M.R.: Code mobility for pervasive computing. In: 2nd IEEE International Workshop on Theory and Practice of Open Computational Systems. IEEE Computer Society Press, Los Alamitos (2004)
Corradini, F., Ercoli, C., Merelli, E., Re, B.: An agent-based matchmaker. In: Proceedings of WOA 2004 dagli Oggetti agli Agenti - Sistemi Complessi e Agenti Razionali (2004)
Corradini, F., Mariani, L., Merelli, E.: A programming environment for global activity-based applications. In: Proceedings of WOA 2003 dagli Oggetti agli Agenti - Sistemi Intelligenti e Computazione Pervasiva (2003)
Corradini, F., Mariani, L., Merelli, E.: An agent-based approach to tool integration. Journal of Software Tools Technology Transfer 6(3), 231–244 (2004)
Corradini, F., Merelli, E., Vita, M.: A multi-agent system for modelling the oxidation of carbohydrate cellular process. In: First International Workshop On Modelling Complex Systems (MCS 2005). LNCS, Springer, Heidelberg (2005) (to appear)
Culmone, R., Merelli, E.: An semantic comparison of ontologies. Technical Report TR02, Dipartimento di matematica e Informatica, Universitá di Camerino (2003)
De Nicola, R., Ferrari, G.L., Pugliese, R.: Klaim: A kernel language for agents interaction and mobility. IEEE Transaction of Software Engineering 24(5), 315–330 (1998)
Echelon, http://www.echelon.com
Enhydra. Jawe (2003), http://jawe.enhydra.org/
Ercoli, C.: Un modello di qualità per la scelta di servizi web in ambito biologico - il middleware. Master’s thesis, Laurea in Informatica, Università di Camerino, a.a (2003-2004), http://dmi.unicam.it/merelli/tesicl26/ercoli.pdf
Finin, T., Fritzson, R., McKay, D., McEntire, R.: KQML as an Agent Communication Language. In: Adam, N., Bhargava, B., Yesha, Y. (eds.) Proceedings of the 3rd International Conference on Information and Knowledge Management (CIKM 1994), Gaithersburg, MD, USA, pp. 456–463. ACM Press, New York (1994)
FIPA. The foundations for intelligent physical agent, http://www.fipa.org
FIPA-ACL. FIPA97 specification, part 2: Agent communication language. Specification, FIPA (October 1997)
Frishman, D., Heumann, K., Lesk, A., Mewes, H.-W.: Comprehensive, comprehensible, distributed and intelligent databases: current status. Bioinformatics 14(7), 551–561 (1998)
Fuggetta, A., Picco, G., Vigna, G.: Understanding code mobility. IEEE Transaction of Software Engineering 24(5), 352–361 (1998)
Gelenter, D.: Generatve communicationin linda. ACM Computing Survey 7(1), 80–112 (1985)
HermesV2, http://hermes.cs.unicam.it
Hollingsworth, D.: The Workflow Reference Model (January 1995)
IBM. TSpace web page, http://www.almaden.ibm.com/cs/TSpace
Javapace. The javaspace specification web page, http://www.sun.com/jini/spec/js-spec.html
Jayashankar, J., Swaminathan, M., Smith, S., Sadeh, N.: Modeling supply chain dynamics: A multiagent approach. Decision Sciences 29(3) (1998)
Jennings, N.R.: An agent-based approach for building complex software systems. Communications of the ACM 44(4), 35–41 (2001)
JINI. Jini network technology, http://wwws.sun.com/software/jini
Kitano, H.: Foundations of Systems Biology. MIT Press, Cambridge (2002)
Martin, A.C.R.: Can we integrate bioinformatics data on the internet? Trends in Biotechnology (19), 327–328 (2001) (Meeting Report)
Mascolo, C., Capra, L., Emmerich, W.: Middleware for mobile computing (a survey). In: Gregori, E., Anastasi, G., Basagni, S. (eds.) Neworking 2002 Tutorial Papers. LNCS, vol. 2497, pp. 20–58. Springer, Heidelberg (2002)
Merelli, E., Culmone, R., Mariani, L.: Bioagent: a mobile agent system for bioscientists. In: NETTAB Workshop on Agents nd Bioinformtics, Bologna (July 2002)
Merelli, E., Romano, P., Scortichini, L.: A workflow service for biomedical application. In: Abstract book of the Biocomp - Gruppo di Cooperazione in Bioinformatica (2003)
Merz, M., Lieberman, B., Lamersdorf, W.: Using mobile agent to support inter-organizational workflow management. Applied Artificial Intelligence 11(6), 551–572 (1997)
Milner, J.P., Walker, R.D.: A calculus of mobile processes, part 1-2. Information and Computation 100(1), 1–77 (1992)
Murphy, A.L., Picco, G.P., Roman, G.-C.: Lime: A middleware for physical and logical mobility. In: Golshani, F., Dasgupta, P., Zhao, W. (eds.) Proceedings of the 21st International Conference on Distributed Computing Systems. ACM Publisher, New York (2001)
O2I. Oncology over internet, strategic project founded by italian nationa research minestry, http://www.o2i.org
Omicini, A., Zambonelli, F.: Coordination for Internet application development. Autonomous Agents and Multi-Agent Systems 2(3), 251–269 (1999); Special Issue: Coordination Mechanisms for Web Agents
Pezzé, M., Taylor, R.N., Young, M.: Graph models for reachability analysis of concurrent programs. ACM Transaction on Software Engineeringn and Methodology (TOSEN) 4(2), 171–213 (1995)
Picco, G.P., Murphy, A.L., Roman, G.-C.: Lime: Linda meets mobility. In: Proceedings of the 21st International Conferece on Software Engineering (ICSE 1999), May 1999, pp. 368–367 (1999)
Picco, G.P., Murphy, A.L., Roman, G.-C.: Developing mobile computing applications with lime. In: International Conference on Software Engineering archive Proceedings of the 22nd international conference on Software engineering, pp. 766–769 (2000)
Re, B.: Un modello di qualità per la scelta di servizi web in ambito biologico - il modello di coordinazione. Master’s thesis, Laurea in Informatica, Università di Camerino, a.a (2003-2004), http://dmi.unicam.it/merelli/tesicl26/re.pdf
Robert, R.D., Stevens, D., Robinson, A.J., Goble, C.A.: mygrid: personalised bioinformatics on the information grid bioinformatics. Bioinformatics (19), 302–304 (July)
Roman, G.-C., Picco, G.P., Murphy, A.L.: Software engineering for mobility: A roadmap. The Future of Software Engineering, 241–258 (2000)
Mueller-Wilken, S.S., Wienberg, F., Lamersdorf, W.: On integrating mobile devices into a workflow management scenario. In: Society, I.C. (ed.) Proc. 11th International Workshop on Database and Expert Systems Applications (DEXA), Hamburg, pp. 186–192 (2000)
Stephan Gatzka, C.H., Geithner, T.: The kertasarie vm. In: NET.Object DAYS 2003, Erfurt, September 22-25, pp. 285–299 (2003)
Steven, R., Goble, C., Kaker, P., Brass, A.: A classification of tasks in bioinformatics. Bioinformatics 17(2) (2001)
Sun Microsystems. The CVM, http://java.sun.com/CDC
Sun Microsystems. The KVM, http://java.sun.com/clcd
Tanenbaum, A., van Steen, M.: Distributed Systems: Principles and Paradigms. Prentice Hall, Englewood Cliffs (2002)
TIDA. The infrared data association, http://www.irda.org
UML Revision Taskforce. OMG UML Specification v.1.4. Object Magemement Group (2001)
Vito, L.: Hermesv2 e web services. Master’s thesis, Laurea in Informatica, Università di Camerino, Italy, a.a. (2003-2004), http://dmi.unicam.it/merelli/tesicl26/vito.pdf
WLAN. The working group for wlan standards, http://grouper.ieee.org/groups/802/11/
The BioAgent project, http://www.bioagent.net/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Corradini, F., Merelli, E. (2005). Hermes: Agent-Based Middleware for Mobile Computing. In: Bernardo, M., Bogliolo, A. (eds) Formal Methods for Mobile Computing. SFM-Moby 2005. Lecture Notes in Computer Science, vol 3465. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11419822_8
Download citation
DOI: https://doi.org/10.1007/11419822_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25697-7
Online ISBN: 978-3-540-32021-0
eBook Packages: Computer ScienceComputer Science (R0)