Summary: | Large-scale scientific applications require new middleware paradigms that do not suffer from the limitations of traditional request/reply middleware. These limitations include tight coupling between components, a lack of information filteringlanalytic capabilities, the ability to offer autonomous behaviour and support for many-to-many communication semantics. The present author argues that event-based agent middleware is a scalable and powerful new type of middleware for building largescale scientific applications that require real-time stream analysis facilities for sensor/mobile networks. However, it is important that an event-based agent middleware platform include all of the standard functionality that an application programmer expects from middleware. In this thesis, the present author describes the design and implementation of GISMO, a distributed, event-based agent middleware. The scalability, expressiveness and flexibility of GISMO are illustrated throughout this thesis for two application domains: Internet-wide scientific sensor-based observatory and ad-hoc mobile network for healthcare. GISMO follows a type- and content-based publish/subscribe model that emphasises programming language integration by supporting type-checking of event data and event type inheritance. Further attention is given to the integration of predictive analytics into the pattern detection and discovery process. In order to address dynamic, large-scale environments, GISMO uses peer-to-peer techniques combined with agency concepts for automatic management of its overlay network of event brokers and for scalable event distribution. Event routing is achieved by utilising specialised tuple spaces that introduce scoping mechanisms to reduce routing state in the system. This is achieved without compromising scalability and efficiency, as is shown by the evaluation of GISMO. The core functionality of the agent environment is extended by introducing four lower-level middleware services that address different requirements in a distributed computing environment. The first is a novel messaging service that attempts to avoid network congestion in the overlay by pushing change in consumer interest in a given pattern closer to the data source, and therefore enables a resource-efficient deployment of middleware. The expressiveness of subscriptions in the event-based agent middleware is enhanced with a composite event analytic service that performs hte distributed detection and discovery of complex event patterns, thus removing the burden from the clients. A new service/component composition model service is added in order to manage the introduction of new types without requiring system shut-down and complex redeployment of packages. Finally, a standardised middleware integration service is made available that allows agents to interact with agents in other agent environments, as well as external legacy applications and services.
|