The central principles of the Tornado architecture are the following:
Minimal intrusion on the target, by exploiting the development host as extensively as possible for interactive development tools.
Centralized communications with the target, so that multiple development tools can share access to the target even when communications channels are limited.
Published protocols and application program interfaces (APIs) to make it simple to customize or extend Tornado.
The following two protocols are particularly important, because they mediate all contact between a Tornado tool and the target:
WTX
The WTX (Wind River Tool eXchange) protocol specifies how the target server communicates with host-resident development tools. The protocol is extensible, to permit adding new services as required for new tool designs.
WDB
The WDB (Wind DeBug) protocol specifies how the target server (on the host) communicates with the target agent (on the target). The protocol includes a compact programming language called Gopher, which permits on-the-fly extension by supporting programmable investigation of the target system.
Figure 1-1 illustrates the role of these two protocols in Tornado.