Воеводин В.П., Клименков Е.В.
ГНЦ РФ Институт физики высоких энергий, Протвино, Россия
Система Управления (СУ) комплекса У-70 использует Базу Данных (БД) ССУДА [1] для хранения [2] описаний прикладных данных, списков для вывода этих данных, а также описание задач контроля и управления, взаимосвязей задач. Корректное создание и использование [3] описаний возможно только с помощью специальных программных средств, представленных ниже. Каждая прикладная программа (ПП) [4] СУ предназначена для работы на определенном компьютере и для отладки ПП создан программный инструмент, который не может быть включен в Диалоговые программы [5]. Вычислительная сеть СУ отделена от офисной шлюзом [6], и для возможности просмотра данных СУ пользователями в любом месте офисной сети также необходимы специальные программные средства.
1. Редактирование описаний в БД
Программа-редактор БД позволяет модифицировать содержимое БД как в ручном, так и в автоматизированном режиме, вводя большие объемы данных, заполняя при этом одну или несколько таблиц БД и редактируя связи с данными в других таблицах.
Реально программа-редактор - это комплекс программ для Рабочей Станции, каждая из которых предназначена для определенной цели. Главная из этих программ позволяет модифицировать содержимое БД в ручном режиме. Автоматический режим организуется этой же программой.
Для автоматизированного внесения изменений в таблицы Главная программа загружает программы комплекса, которые обрабатывают содержимое заранее подготовленных текстовых файлов и результат обработки записывают в БД. Файлы создаются с помощью любого редактора текстов и содержат требуемые описания, составленные с учетом правил [2,4] СУ и правил, позволяющих облегчить составление таких описаний. Запись в БД описаний меню и задач необходимо производить в определенном пункте меню СУ. Описания же прикладных данных и их списков предназначены для использования во многих задачах. Поэтому они не зависят от конкретного пункта меню СУ и записываются в БД программами, которые можно вызывать без участия Головной программы.
2. Программа-Отладчик прикладных программ
Отладчик предназначен для работы с прикладными программами [3], создаваемыми для работы в СУ на Рабочих Станциях. Отладчик вызывает отлаживаемые ПП без участия Загрузчика-сервера. Готовые ПП, включенные в каталог СУ, вызываются посредством Загрузчика-сервера.
Отладчик выполняет все функции Диалоговой программы [5] – выбор объекта управления и работа с выбранной задачей. Кроме этого Отладчик имеет некоторые особенности и дополнительные свойства:
- Работа ведется в текстовом режиме экрана, что позволяет использовать в ПП любые операторы ввода/вывода (printf и др.) для отладки алгоритма;
- Вывод диалогового меню СУ сопровождается информацией для проверки корректности меню;
- Имеется возможность просматривать описание любой таблицы БД;
- Имеется несколько вариантов работы, отличающихся выводом комментариев и вспомогательной информации при взаимодействии с ПП;
- Пункты диалогового меню СУ, в которых ведется работа с прикладной задачей, включают сервис, необходимый для отладки пакетов ПП:
- возможность изменить командную строку параметров, передаваемую ПП при загрузке;
- просмотр прикладных данных без загрузки ПП;
- просмотр и обнуление значений интерфейсных семафоров;
- принудительное удаление ПП из памяти.
3. Загрузчик прикладных программ
Загрузчик-Сервер прикладных программ - это постоянно работающая программа, предназначенная для загрузки прикладных программ СУ в память компьютера, на котором работает Загрузчик-Сервер, и удаления прикладных программ из памяти.
Загрузчик использует протокол UDP и работает на всех машинах Системы Управления, где должны запускаться прикладные программы.
Клиентами Загрузчика-Сервера являются программы, в функции которых входит взаимодействие с прикладными программами СУ - Диалоговый Сервер, Супервизоры [7], а также Менеджер программных серверов.
Загрузчик-Сервер загружает программы как параллельные процессы и ведет список загруженных им программ, который корректируется анализом системных сообщений. Это позволяет автоматически соблюдать следующие правила, установленные в СУ:
- одна и та же программа с одними и теми же параметрами не может быть загружена более одного раза;
- указанная программа может быть удалена, если она и указанные для нее параметры имеются в списке.
4. Диалоговый Сервер.
Диалоговый Сервер - это программа, постоянно работающая в памяти компьютера, используемого в качестве сервера Базы Данных [6]. Диалоговый Сервер обеспечивает централизованный корректный доступ к данным всех работающих в СУ пользователей. Поэтому алгоритм работы Диалогового Сервера оптимизирован по скорости, реализует максимально простые правила взаимодействия с программами Клиентами и использует протокол UDP. Основными программами-Клиентами Диалогового Сервера являются Диалоговые программы [5] и Менеджер программных Серверов.
Сессия работы программ с Диалоговым Сервером состоит из трех этапов: регистрации пользователя программы Клиента, последовательности запросов и ответов и закрытии сессии.
Основными информационными единицами, используемыми Диалоговым Сервером, являются идентификатор программы Клиента (ИПК) и регистрационные данные сессии программы Клиента. ИПК формируется программой Клиентом и обязательно присутствует в запросах и ответах. Регистрационные данные формируются Диалоговым Сервером и используются им для санкционированного доступа к данным.
4.1. Работа с задачей.
Контроль работы пользователей Диалоговый Сервер производит при выборе ими конечного пункта в диалоговом меню СУ – конкретной задачи СУ. При этом программа Клиент посылает Диалоговому Серверу запрос лишь с координатами этого пункта меню. Диалоговый Сервер самостоятельно определяет пройденный пользователем в меню путь и проводит соответствующий анализ. Предусмотрено два варианта работы с задачей в конечном пункте меню:
- Согласно описанию в БД, если
- конечный пункт меню означает управляющую задачу и пользователь имеет достаточные права, при этом все выбранные пункты меню свободны либо какие-то пункты заняты этим же пользователем;
- конечный пункт меню означает задачу просмотра данных;
- Управляющая задача изменена на задачу просмотр данных, если:
- пользователь не имеет достаточных прав;
- пользователь имеет достаточные права, но один или несколько выбранных им пунктов меню заняты другими пользователями (задача управления занята);
Диалоговый Сервер не позволяет пользователям выбрать для работы одну и ту же задачу управления более одного раза.
4.2. Загрузка пакета ПП.
Одной из основных функций Диалогового Сервера является корректная загрузка прикладных программ. Для этого Диалоговый Сервер, взаимодействуя с Загрузчиком-Сервером, реализует алгоритм, который не позволяет загружать программы для одной и той же задачи СУ более, чем в одном экземпляре:
- Загрузчику посылается запрос на проверку существования в памяти требуемых ПП с заданными параметрами;
- Если в памяти находятся какие-либо ПП пакета без головной программы (пакет разрушен), то Загрузчику посылается запрос на удаление этих программ;
- Если головная ПП пакета существует в памяти, то ей (т.е. всем ПП пакета) посылается команда “закончить работу”; если в течение 2-3 секунд какие-то ПП пакета не закончили работу, это означает разрушение пакета и Загрузчику посылается запрос на удаление этих программ;
- Загрузчику посылается запрос на загрузку в память требуемых ПП с заданными параметрами.
5. Транспортировщик файлов
Программный Сервер транспортировки файлов через сеть (Транспортировщик) - это постоянно работающая программа, предназначенная для пересылки файлов с компьютера, на котором работает Транспортировщик, на любой другой компьютер, имеющий к нему доступ через сеть.
Клиентами программного Сервера могут являться любые программы, реализующие установленные для Транспортировщика правила взаимодействия с использованием протокола семейства TCP/IP. В настоящее время это Диалоговая программа СУ и программа просмотра данных СУ, работающие на нескольких IBM PC за пределами сети СУ, а также Менеджер программных Серверов СУ.
Транспортировщик способен работать одновременно с несколькими клиентами. Он состоит из двух частей – приемной и ответной (на рис. 1 и 2 – это “Reciever part” и “Sender part”). Приемник сообщений постоянно находится в памяти компьютера и при получении запроса загружает в память ответную часть как параллельный процесс, который выполняет запрос и удаляется из памяти.
Для того, чтобы программа-Клиент могла пользоваться услугами Транспортировщика, компьютер, на котором она будет в дальнейшем всегда работать, должен быть зарегистрирован в списке легальных компьютеров, который формирует Транспортировщик. Первое обращение программы-Клиента к Серверу должно содержать запрос на регистрацию.
Любой запрос к программному Серверу содержит два обязательных параметра – код запроса и номер сетевого порта, через который запрашивающая программа Клиент ожидает ответа (см. рис.1). Однако, программа Клиент может работать на компьютере, для которого закрыт доступ к требуемому компьютеру (имеется один или несколько сетевых шлюзов). В этом случае запрос необходимо сделать через один или несколько компьютеров, каждый из которых доступен предыдущему и на каждом из которых работает программа Сервер. Такой запрос должен содержать дополнительный параметр – сетевой путь, который представляет собой список сетевых адресов программных Серверов, работающих на всех требуемых компьютерах (см. рис.2).
6. Менеджер программных серверов СУ
Менеджер программных Серверов дает возможность оперативного взаимодействия со всеми Серверами СУ, перечисленными выше. Это необходимо для отладки Серверов, слежения за их состоянием, коррекции их работы с помощью сообщений (например, обновилось содержимое БД, закрыть сессию с Клиентом, освободить задачу и т.д.), внося тем самым вклад в безаварийную работу Системы Управления.
7. Просмотр данных СУ в любой точке сети
Согласно проекту [6] вычислительная сеть СУ отделена от офисной сети шлюзом. Однако, серверные программы транспортировки файлов позволяют организовать просмотр данных, формируемых в СУ, за пределами сети СУ. Для этой цели создана программа “u70_view.exe”, работающая на IBM PC под управлением Windows 95/98/NT. Эта программа выводит на экран файлы графического формата Device-Independent Bitmap, которые она получает с диска Рабочей Станции СУ. В настоящий момент прикладные программы СУ диамически формируют десятки таких файлов [2,7,8], которые содержат, как правило, данные измерений параметров пучка частиц, представленные в графическом виде – значения интенсивности, спектра, орбиты пучка и т.д.
Установка программы “u70_view.exe” производится специальной установочной программой. Эта программа запускается на данной IBM PC и регистрирует компьютер у ближайшего Транспортировщика файлов. Затем с помощью нескольких последовательно расположенных Транспортировщиков получает и записывает на диск IBM PC требуемые программные файлы.
Программа “u70_view.exe” имеет графический пользовательский интерфейс и показывает только те bitmap файлы, которые перечислены в ее списке. Каждому bitmap файлу соответствует его описание, которое выводится по запросу пользователя. Описания bitmap файлов готовятся программистом с помощью текстового редактора или могут динамически формироваться соответствующей ПП СУ. Пользователь может в любой момент получить из сети обновленный список файлов, если такой существует. При получении специального сообщения от программы пользователь может загрузить из сети новую версию программы.
8. Заключение.
Представленные выше Редактор описаний в БД и Отладчик ПП были созданы до начала эксплуатации СУ ускорительного комплекса У-70 и они в значительной степени обеспечили быстрое развитие СУ. Правильность распределения функций между программными серверами и схем взаимодействия с ними подтверждается безаварийной работой прикладного программного обеспечения СУ на протяжении нескольких сеансов работы ускорительного комплекса. Просмотр измеренных данных СУ – значений интенсивности, потерь пучка - необходим всем пользователям пучка У-70, рабочие места которых находятся за пределами сети СУ в разных зданиях ускорительного комплекса. Было проверено, что просмотр данных СУ У-70 возможен для профессионально заинтересованных пользователей в любой точке всемирной сети.
Список литературы
[1] Воеводин В.П. ССУДА – Специализированная Система Управления распределенными Данными реального времени — Труды XVI Совещания по ускорителям заряженных частиц, Протвино, 1998, т.1, стр.135.
[2] Воеводин В.П., Клименков Е.В. Описания основных объектов Системы Управления комплекса У-70 — доклад на этом Совещании.
[3] Клименков Е.В. Организация задач контроля и управления в Системе Управления комплекса У-70 — доклад на этом Совещании.
[4] Клименков Е.В. Структура прикладного программного обеспечения в Системе Управления комплекса У-70 — доклад на этом Совещании.
[5] Воеводин В.П., Кузьменко В.Г., Щербаков С.Е. Пользовательский интерфейс в новой системе управления ускорительного комплекса У-70 — Труды XVI Совещания по ускорителям заряженных частиц, Протвино, 1998, т.1, стр.141.
[6] Komarov V.V., Milichenko Y.V., Voevodin V.P., Yurpalov V.D. Draft Design Study for the Control System of the U-70 Complex — IHEP&CERN, CERN internal note: PS/CO/Note 96-26, Geneve, Switzerland, 1996.
[7] Балакин С.И., Клименков Е.В. Первичная диагностика в Системе Управления комплекса У-70 — доклад на этом Совещании.
[8] Воеводин В.П., Клименков Е.В., Мамучашвили Н.Г., Миличенко Ю.В. Система наблюдения аналоговых сигналов ускорительного комплекса У-70 — доклад на этом Совещании.