TANGO
TANGO (от англ. TAco Next Generation Objects) — свободная объектно-ориентированная система, предназначенная для управления ускорителями, экспериментальными установками, а также различным оборудованием и программным обеспечением. Система TANGO активно разрабатывается сообществом (в основном) операторов синхротронов
TANGO | |
---|---|
Тип | свободное и открытое программное обеспечение |
Разработчик | TANGO Consortium |
Операционная система | Cross-platform |
Первый выпуск | 19 апреля 2001 |
Последняя версия | 9.3.3 |
Тестовая версия | |
Лицензия | LGPL, GPL |
Сайт | tango-controls.org |
TANGO — распределённая система управления. Она может работать как на одной, так и на сотнях машин. TANGO использует omniorb реализацию CORBA в качестве сетевого протокола. Основной моделью взаимодействия является модель клиент-сервер. Взаимодействие между клиентами и серверами может быть синхронным, асинхронным, либо событийно-ориентированным.
TANGO основана на принципах объектной и сервисной ориентированности. Объектная модель TANGO поддерживает методы, атрибуты и свойства. В TANGO все объекты являются представлениями устройств.
В состав TANGO входит база данных, в которой хранятся все зарегистрированные в системе устройства, среда быстрой разработки приложений, а также большое число вспомогательных инструментов.
Основные компоненты TANGO
JIVE
JIVE — независимое Java-приложение, созданное для просмотра и редактирования базы данных TANGO. JIVE написан на Swing и для его запуска требуется виртуальная машина Java версии выше 1.8.0.
POGO
POGO — генератор кода для серверов устройств TANGO.
Astor/Starter
Astor — программный менеджер для системы TANGO. Astor может:
- Управлять хостами;
- Запускать/останавливать сервера устройств;
- Посылать простые команды серверу устройства.
Сервера устройств
TANGO в первую очередь используется, чтобы предоставить доступ к оборудованию по локальной сети. При этом диапазон оборудования может меняться от простейших регистров ввода-вывода, пересылающих отдельные байты, до сложнейших детекторных систем или даже целых систем управления заводом. Доступ к оборудованию программируется в процессах, называемых Сервер устройства (англ. Device Server). Сервер устройства реализует классы, обеспечивающие доступ к оборудованию. В процессе работы сервер устройства создаёт экземпляры устройств, отображающие логические сущности компонент оборудования. Клиент взаимодействует с устройствами, используя TANGO протокол.
Поддерживаемые языки программирования
Лицензия
TANGO распространяется в основном под двумя лицензиями. Библиотеки лицензируются в соответствии с GNU Lesser General Public License (LGPL). Средства разработки и сервера устройств лицензируются (если не указано иное) под GNU General Public License (GPL). Также часть библиотек/компонент распространяются под MIT или Apache 2.0 лицензиями.
Консорциум
Консорциум — группа институтов, активно разрабатывающих TANGO. Чтобы присоединиться к консорциуму институт должен подписать Меморандум и активно принимать участие в разработке TANGO. В настоящее время консорциум состоит из следующих институтов:
- ESRF — Европейский центр синхротронного излучения, Гренобль, Франция
- SOLEIL — Синхротрон Soleil, Париж, Франция
- ELETTRA — Синхротрон Elettra, Триест, Италия
- ALBA — Синхротрон Alba, Барселона, Испания
- DESY — Синхротрон Petra III, Гамбург, Германия
- MAX IV — Синхротрон MAX-IV, Лунд, Швеция
- Solaris — Синхротрон Solaris, Краков, Польша
- INAF — Итальянское национальное астрономическое общество
- SKAO — Square Kilometer Array Organization, головная структура строительства радиотелескопа SKA в ЮАР
Цель консорциума — гарантировать развитие TANGO.
Использование в России
Система TANGO используется[1]:
- на станциях Курчатовского источника синхротронного излучения,
- для управления ускорительным комплексом ионного коллайдера NICA, ОИЯИ, Дубна,
- в ускорителе ЛИУ-20 ИЯФ СО РАН, Новосибирск.
См. также
- EPICS — Experimental Physics and Industrial Control System
Ссылки
- Р. А. Сенин и др.//Кристаллография, 2013, том 58, № 3, с. 520—525