An Agent-Based Layered Middleware as Tool Integration

Applications based on coordination and orchestration of human/system activities are more and more present in our nowadays life. They often need the coherent composition of components, services and data from heterogeneous sources. Moreover, the increasing number of (often conflicting) attributes makes the design of these complex applications very difficult. We tackle the problem of tool integration by means of an agent-based layered middleware that supports the execution of the above mentioned applications. In order to control heterogeneity, the middleware associates, as a first layer of integration, “wrapper agents” to the tools we integrate. Wrapper agents may present tool services in a standard format, convert data in a coherent way or interfaces for interoperability depending on the nature of the wrapped tools. On the top of wrapper agents reside the so-called “user agents” that bridge the gap between applications, described as workflow of activities, and tools. Summing up, workflows expressed in a graphical notation guarantee transparency and user-friendliness at the user level. Agent-based technologies guarantee interoperability and coordination of activities. Wrapper agents and the software infrastructure guarantee support for gluing tools. An application of our tool integration environment is presented in the Bioinformatics application domain. We are currently investigating its applicability to other interesting domains.