An Evolving Multi Agent System for Meteorological Alerts Sandy Dance and Malcolm Gorman Bureau of Meteorology Melbourne, AUSTRALIA s.dance,m.gorman @bom.gov.au Lin Padgham and Michael Winikoff RMIT University Melbourne, AUSTRALIA linpa,winikoff @cs.rmit.edu.au ABSTRACT The Australian Bureau of Meteorology has a requirement for com- plex and evolving systems to manage its weather forecasting, mon- itoring and alerts. This paper describes an agent-based system that monitors in real time the current terminal area forecasts (forecasts for areas around airports) and alerts forecasters to inconsistencies between these and observations obtained from automatic weather station data. Categories and Subject Descriptors H.4 [Information Systems Applications]: Miscellaneous; D.3.2 [Language Classifications]: Java General Terms Design, Algorithms, Reliability Keywords Agents, Meteorology, Alerts, BDI, XML 1. INTRODUCTION The Australian Bureau of Meteorology 1 is the national weather service of Australia. The Forecast Streamlining and Enhancement Project (FSEP) within the Bureau is a major project which seeks to improve the quality, quantity, consistency and timeliness of weather products. Intelligent alerting within the forecast system has a high priority in FSEP. It must be able to evolve, be distributed and open, handle complex data sets, and involve a range of goals. 2. SYSTEM ARCHITECTURE The architecture of the pilot system contains a number of spe- cially developed agents, a number of existing components, includ- ing the real-time data input system, and the data representation and management layer which is crucial to the overall architecture. These components can be run on different machines across the network. In the pilot we have successfully run the system with components running on an operational server with real-time data communications, a test system on a development machine, and agent driven graphical user interfaces (GUIs) running on forecaster workstations. See Fig 1. http://www.bom.gov.au Copyright is held by the author/owner. AAMAS’03, July 14–18, 2003, Melbourne, Australia. ACM 1-58113-683-8/03/0007. XML system call system call TTable alert event alert event subscription event event TTable alert event event event email agent alert event TafSender AWS Decoder VaacAlert TafAlert agent alertGui agent VaacMailFilter agent AWS TAF agent subscription subscr subscr forecast database Figure 1: Diagram showing broad data-flow within the alerts system. These components communicate using TCP/IP or JACK Intelli- gent Agents 2 messages, and send objects encoded using tree- table-xml (see Section 2.2) contained in JACK messages. The main component of the system is an agent system that con- tains a DataStreamDispatcher agent and some number of TAFMon- itor agents. The DataStreamDispatcher agent is responsible for managing subscriptions and for routing messages. A TAFMonitor agent will subscribe to TAF and AWS messages and will generate alerts that it sends to the DataStreamDispatcher, which are then routed to the appropriate subscribers (eg, a GUI agent). 2.1 Patterns The agent network in the Intelligent Alerts system is connected using the publish-subscribe design pattern (see Ch5 in [2]). A server agent behaves as a publisher and advertises its service to other agents. Other agents may subscribe to the service and receive notification of events published by the server agent. The benefits of the Publish-Subscribe pattern are:- Agents can be varied and reused independently without in- terfering with their respective subscribers or publishers. State changes in one agent can trigger state changes in other agents without knowing how many agents need to be changed. Agents can notify other agents without knowing about the other agents, and avoid tight coupling. 2.2 TTables A generalized XML format known as TTable [3] is in use. The data is contained in a table called data and the corresponding JACK Intelligent Agents is a product of Agent Oriented Software, see http://www.agent-software.com.