In outline EQUIP may be viewed as a middleware platform, plus a number of (relatively) standard services and modular facilities or libraries. EQUIP aims to:
The core of EQUIP is the shared data service "equip_data". This supports pattern-based query operations and query-driven replication inspired by tuple-spaces. It seeks to combine this with ownership-oriented data publishing and updating primitives based on work with collaborative virtual environments. This allows significantly better performance and more flexible data replication for data publishing applications than is possible with pure tuple-spaces. As with most general-purpose pattern-based data/event distribution services the most flexible style of use is to create nominally independent information publishers (producers) and subscribers (consumers). The producers place information in the data space and keep it up to date. The consumers use patterns to express their information interests, and the data space routes relevant information to them. Using this approach it is relatively easy to create generic system components and to reuse them in a range of applications. EQUIP is available both in a full dual-language (C++ and Java) version, and in a cut-down Java/C++-only versions (EQUIP4J/EQUIP4CPP). EQUIP has been used to implement ECT. The homepage for EQUIP (and ECT) is here. |