CORBA & TANGO
TANGO is an object-oriented distributed control system. It is a software bus for connecting hardware and software objects using CORBA technology. Devices can either be located on the same computer or distributed across computers linked by a network. Programming support is available for C++, Java and Python.
TANGO provides libraries which mask network access details for greater security and enable the use of objects. TANGO is based on the principle of a software bus, in other words, a set of links (cables, printed circuits, etc.) which may be shared by several devices for communications.
All the devices connected to the bus can intercommunicate. Thus applications such as system configuration tools, supervision tools (for monitoring the status of certain devices), and test interfaces communicate not only with one another but also with all the system’s hardware. Hardware devices are connected to the bus via a server application called the “device server” which offers TANGO interfaces.
Programmers can either use generic methods and attributes for each device server, or write custom ones. Some of the code can be generated automatically using the tools provided: developers simply add the code required to manage the hardware. This code can access the vendor-supplied control system (DLLs, libraries, RS-232 commands, GPIB, etc.). Heterogeneous equipment can be connected to the TANGO bus and communicate. Users are unaware of the diversity: they benefit from well-referenced and accessible methods and attributes.