TANGO (от англ. TAco Next Generation Objects) — свободная объектно-ориентированная система, предназначенная для управления ускорителями, экспериментальными установками а также различным оборудованием и программным обеспечением. Система TANGO активно разрабатывается сообществом (в основном) операторов синхротронов
TANGO — распределённая система управления. Она может работать как на одной, так и на сотнях машин. TANGO использует omniORB реализацию CORBA в качестве сетевого протокола. Основной моделью взаимодействия является модель клиент-сервер. Взаимодействие между клиентами и серверами может быть синхронным, асинхронным, либо событийно-ориентированным.
TANGO основана на принципах объектной и сервисной ориентированности. Объектная модель TANGO поддерживает методы, атрибуты и свойства. В TANGO все объекты являются представлениями устройств.
В состав TANGO входят база данных, в которой хранятся все зарегистрированные в системе устройства, среда быстрой разработки приложений, а также большое число вспомогательных инструментов.
TANGO в первую очередь используется, чтобы предоставить доступ к оборудованию по локальной сети. При этом диапазон оборудования может меняться от простейших регистров ввода вывода, пересылающих отдельные байты, до сложнейших детекторных систем, или даже целых систем управления заводом. Доступ к оборудованию программируется в процессах, называемых сервер устройства (англ. Device Server). Сервер устройства реализует классы, обеспечивающие доступ к оборудованию. В процессе работы сервер устройства создаёт экземпляры устройств, отображающие логические сущности компонент оборудования. Клиент взаимодействует с устройствами, используя протокол TANGO.
TANGO распространяется под двумя лицензиями. Библиотеки лицензируются в соответствии с GNU Lesser General Public License. Средства разработки и сервера устройств лицензируются (если не указано иное) по лицензии GNU General Public License.
Основные компоненты TANGO
Ядро TANGO
Средства разработки и развертывания приложений
- Джайв (англ. JIVE — независимое Java приложение созданное для просмотра и редактирования базы данных TANGO. JIVE написан на Swing и для его запуска требуется виртуальная машина Java версии выше 1.4.0.
- POGO — генератор кода для серверов устройств TANGO
Средства запуска и управления системой TANGO
- Управлять хостами;
- Запускать/Останавливать сервера устройств;
- Посылать простые команды серверу устройства.
Система TANGO также содержит встроенную систему архивировоания, использующую либо MySQL либо Oracle. Система архивирования позволяет сохранять необходимые вам данные, поступающие от устройств. Подробнее смотреть описание на соответствующей странице сайта проекта TANGO.
Поддерживаемые TANGO языки программирования
Ссылки