Growler is a C++-based distributed object and event architecture. It is written in C++, and supports serialization of C++ objects as part of its Remote Method Invocation, Event Channels, and in its Interface Definition Language. Its primary application has been in support of interactive, distributed visualization, computational steering, and concurrent visualization, but it is a general purpose system for distributed programming. Growler is suitable for application to high-performance LAN environments as well the internet. Its features include strong integration with C++, selective distributed reference counting, and efficient well-typed event channels for local as well as remote event broadcast, with support for low-latency/low-perturbation events via a loss-tolerant event model.
Several key aspects of growler distinguish it from existing software tools, particularly when taken together:
Growler provides the architectural underpinnings for another open source project developed within NASA: NodeMon. It was also instrumental in the development of the Concurrent Visualization pipeline described in .  Concurrent Visualization in a Production Supercomputing Environment David Ellsworth, Bryan Green, Chris Henze, Patrick Moran, Timothy Sandstrom IEEE Transactions on Visualization and Computer Graphics. 2006.