Hermes: Agent-Based Middleware for Mobile Computing

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.

[1]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[2]  Emanuela Merelli,et al.  An agent-based matchmaker , 2004, WOA.

[3]  Timothy W. Finin,et al.  KQML as an agent communication language , 1994, CIKM '94.

[4]  Giovanni Vigna,et al.  Understanding Code Mobility , 1998, IEEE Trans. Software Eng..

[5]  Dmitrij Frishman,et al.  Comprehensive, comprehensible, distributed and intelligent databases: current status , 1998, Bioinform..

[6]  Cecilia Mascolo,et al.  "Middleware for Mobile Computing (A Survey)". In Advanced Lectures on Networking , 2002 .

[7]  Nicholas Carriero,et al.  Linda in Heterogeneous Computing Environments , 1992, Proceedings. Workshop on Heterogeneous Processing.

[8]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[9]  Hiroaki Kitano,et al.  Foundations of systems biology , 2001 .

[10]  Luca Cardelli,et al.  Abstract Machines of Systems Biology , 2005, Trans. Comp. Sys. Biology.

[11]  A C Martin Can we integrate bioinformatics data on the Internet? , 2001, Trends in biotechnology.

[12]  Leonardo Mariani,et al.  A Programming Environment for Global Activity-based Applications , 2003, WOA.

[13]  Ezio Bartocci,et al.  Integration of EnsEMBL with BioAgent , 2003 .

[14]  Amy L. Murphy,et al.  LIME: Linda meets mobility , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[15]  Emanuela Merelli,et al.  FarMAS: a MAS for extended quality workflow , 2004, 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[16]  Ezio Bartocci,et al.  An XML View of the "World" , 2003, ICEIS.

[17]  Emanuela Merelli,et al.  A Process Algebra View of Coordination Models with a Case Study in Computational System Biology. , 2004 .

[18]  Carole A. Goble,et al.  A classification of tasks in bioinformatics , 2001, Bioinform..

[19]  D. Hollingsworth The workflow Reference Model , 1994 .

[20]  Rocco De Nicola,et al.  KLAIM: A Kernel Language for Agents Interaction and Mobility , 1998, IEEE Trans. Software Eng..

[21]  NICHOLAS R. JENNINGS,et al.  An agent-based approach for building complex software systems , 2001, CACM.

[22]  Leonardo Mariani,et al.  Bioagent: a mobile agent system for bioscientists , 2002 .

[23]  Franco Zambonelli,et al.  Coordination for Internet Application Development , 1999, Autonomous Agents and Multi-Agent Systems.

[24]  D Bonura,et al.  Designing Modular Agent Systems , 2003 .

[25]  Amy L. Murphy,et al.  Software engineering for mobility: a roadmap , 2000, ICSE '00.

[26]  Emanuela Merelli,et al.  A Multi-agent System for Modelling Carbohydrate Oxidation in Cell , 2005, ICCSA.

[27]  Carole A. Goble,et al.  myGrid: personalised bioinformatics on the information grid , 2003, ISMB.

[28]  Emanuela Merelli,et al.  An intelligent agents architecture for DNA-microarray data integration , 2001 .

[29]  Leonardo Mariani,et al.  An agent-based approach to tool integration , 2004, International Journal on Software Tools for Technology Transfer.

[30]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[31]  Jayashankar M. Swaminathan,et al.  Modeling Supply Chain Dynamics: A Multiagent Approach , 1998 .

[32]  Winfried Lamersdorf,et al.  On integrating mobile devices into a workflow management scenario , 2000, Proceedings 11th International Workshop on Database and Expert Systems Applications.

[33]  D. Walker A Calculus of Mobile Processes, Part Ii , 1989 .

[34]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[35]  Leonardo Mariani,et al.  An Agent-Based Layered Middleware as Tool Integration , 2003, FSE 2003.

[36]  Winfried Lamersdorf,et al.  Using Mobile Agents to Support Interorganizational Workflow Management , 1997, Appl. Artif. Intell..

[37]  Amy L. Murphy,et al.  LIME: a middleware for physical and logical mobility , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[38]  Roy T. Fielding,et al.  Mobile Computing Principles: A Case Study , 2004 .

[39]  Flavio Corradini,et al.  Code mobility for pervasive computing , 2004, 13th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[40]  Amy L. Murphy,et al.  Developing mobile computing applications with LIME , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.