Введение к работе
АКТУАЛЬНОСТЬ работы. Информационные и производственные технологии (информационно-телекоммуникационные системы, гибкие производственные системы, системы автоматизированного управления и др.) относятся к приоритетным направлениям науки и техники, и их развитие актуально не только в нашей стране. К настоящему времени созданы средства программирования и разработки систем автоматизированного управления (САУ) различного масштаба - развитые системы программирования, средства быстрой разработки приложений RAD, системы типа SCADA, специальные средства построения систем управления экспериментальным и промышленным оборудованием крупных объектов (например, EPICS, ОРС). По мере развития средств разработки САУ увеличивается их сложность, возникает возможность автоматизировать управление более сложными объектами, улучшаются' эксплуатационные характеристики разрабатываемых САУ. Одновременно растет число разработчиков, вовлекаемых в разработку близких по назначению САУ, разработка САУ приобретает комплексный характер и требуется привлечение специалистов разного профиля. В результате в ряде случаев сроки разработки САУ могут оказаться не адекватными темпам развития аппаратной базы и средств программирования.
Способ разработки САУ существенно зависит от их масштабов и области применения. Так, создание заводов, технологических линий по производству специализированной электроники, привлечение крупных коллективов программистов приемлемо для проектов национального масштаба, а также сложных или уникальных объектов автоматизации. Соответствующее программное обеспечение таких систем обычно довольно консервативно (срок жизни >10 лет) и для него решаются вопросы компетентного сопровождения. Сроки его разработки (>1..2 лет) адекватны срокам создания объектов и являются приемлемыми.
Данная работа посвящена вопросам разработки программного обеспечения (ПО) САУ меньшего масштаба, а именно: автоматизированных систем научных исследований (АСНИ) в области физики низких энергий, систем сбора данных для систем мониторинга, таможенного контроля, автоматизации технологических процессов в небольших научно-производственных центрах и т.п. Такие системы имеют свою специфику:
автоматизируемые объекты следует квалифицировать как объекты небольшой сложности, с числом управляемых компонентов обычно в пределах нескольких сотен;
системы подлежат тиражированию с небольшими изменениями, обусловленными требованиями заказчика или характеристиками автоматизируемого объекта;
рассматриваемый класс САУ подвержен систематическому изменению методики исследования, состава контролируемых и управляемых параметров,
ввиду этого неоднократно изменяется состав используемого специального оборудования в течение срока жизни системы. В этом случае роль сроков разработки ПО, тем более - адаптации программной системы к новым условиям использования, существенно возрастает. Системы автоматизации научных исследований, мониторинга, таможенного контроля и т.п. имеют между собой много общего, поэтому далее будет использовано общее обозначение "системы автоматизации экспериментов" (САЭ).
Ввиду отсутствия в данной области общепризнанных стандартов, коллективы разработчиков зачастую дублируют работу друг друга. В работе [Л1] выполнен анализ 200 САЭ по результатам опроса 40 различных организаций АН СССР и союзных республик, представляющих практически все направления, нуждающиеся в автоматизации научных исследований. "На разработку и доведение каждой из 200 созданных систем автоматизации при наличии базовых средств затрачено в лучшем случае год, а в большинстве случаев до двух-трех лет. Для каждой системы программное обеспечение создается практически независимо" [Л1]. Со времени публикации работы [Л1] прошло более 20 лет. Выполненный автором анализ материалов конференций (например, NOBUGS с 2002 г.) и отчетов разработчиков технологических систем разработки САЭ (SCADA-систем) показывает, что за эти годы достигнут существенный прогресс в области методики разработки ПО САЭ, однако, как и раньше, сроки разработки не удовлетворяют пользователей. В связи с этим, безусловно, актуальны работы, направленные на обеспечение преемственности разработанного кода и на сокращение сроков разработки САЭ.
Одной из очевидных причин удлинения сроков разработки САЭ является комплексный характер этой работы, в частности то, что мы вынуждены использовать элементы программирования на этапе адаптации САЭ к новому методу исследования. Логично было бы ввести в САЭ инструменты для адаптации ее к различным методикам эксперимента и составу оборудования без привлечения программирования. В системах типа SCADA появилась тенденция частичного отказа от использования традиционных языков программирования, однако при этом вводятся средства графического программирования, также предполагающие привлечение профессионалов [Л2].
Наибольшее влияние на преемственность кода и сроки модификации САЭ оказывают способ учета методики эксперимента и необходимость расширения состава специального оборудования. В Таблице 1 САЭ, разработанные с помощью традиционных средств, условно разделены на две основные группы. Интерпретирующие - это системы, имеющие в своем составе интерпретатор. С фиксированным набором управляющих параметров - это системы с "жесткой" логикой, имеющие ограниченный набор предусмотренных методик и фиксированный интерфейс пользователя.
Выделим две проблемы, которые существенным образом влияют на решение задачи сокращения сроков модификации САЭ.
1. Адаптация системы к прикладной методике. Пользователи интерпретирующих систем могут в широком диапазоне изменять прикладную
До последнего времени считалось, что разработка и модификация САЭ без применения программирования невозможна по причине непредсказуемости возможного развития метода выполнения эксперимента. Анализ требований к СЛЭ, условий использования и средств для их разработки в рассматриваемой области, выполненный в главе 1, позволил сделать вывод, что в настоящее время в достаточной мере развита методическая база, чтобы поставить в диссертации задачу разработки программного обеспечения такой системы и ее применения для автоматизации экспериментов в области физики низких энергий.
ОСНОВНАЯ ЗАДАЧА: разработать ПО и среду, позволяющую без перетрансляции компоновать из готовых модулей программную САЭ, код которой в рамках определенной области приложений инвариантен относительно изменений метода исследования и конфигурации оборудования.
В процессе работы автором найдено компромиссное решение обозначенных выше проблем.
Решение проблемы адаптации системы к прикладной методике заключается в фиксировании алгоритма выполнения методики. Это стало возможным благодаря использованию следующих методов:
1. Представление подсистемы управления в виде конечного автомата с
повторным входом (reentrant), базирующегося на понятии "состояние". Состояния нумеруются, номер реализованного состояния запоминается и используется для инициализации системы при повторном входе. В каждое конечное состояние вложено одно и то же действие - экспозиция регистрирующей системы.
Метод параметрического управления (возможность обеспечена предыдущим методом, не требуется использования явного вызова процедур при составлении задания).
Представление задания в виде списка состояний САЭ.
Использование названий в терминах предметной области.
Инкапсуляция специфичных для аппаратуры алгоритмов перехода устройств из одного состояния в другое внутри драйверного слоя.
Решение проблемы адаптации системы к составу оборудования
заключается в разработке драйверного слоя, используя методы:
Представление драйвера в виде конечного автомата, базирующегося на понятии "состояние". В качестве входных символов приняты названия параметров и их значения. При пуске САЭ драйвер получает набор начальных значений полного списка его параметров, в дальнейшем -"усеченный". При этом обеспечивается единообразное управление всеми объектами.
Драйвер для каждого устройства - отдельный, функционально законченный модуль в исполняемом формате.
Используется автоматическая регистрация драйверов в системе (подключение к исполняющим программам).
Используется единый способ композиции, а также единый интерфейс системы к драйверу (выполнена унификация).
Для реализации этих методов разработаны соответствующие структуры, алгоритмы и программы.
МЕТОДЫ исследования. При решении поставленных задач использовались методы математического и физического моделирования, абстрагирования, системного анализа, методы объектно-ориентированного программирования и разработки интеллектуальных систем, Интернет технологии и др. Автором в рамках созданного ПО разработаны и использованы новые методы: метод представления подсистемы управления состоянием САЭ и драйверов в виде конечных автоматов, метод параметрического управления состоянием САЭ, метод составления задания исполняющей системе в виде списка состояний системы, и др.
ЗАЩИЩАЕМЫЕ ПОЛОЖЕНИЯ. В рамках созданного ПО систем автоматизации экспериментов разработаны новые технологии, в том числе:
Представление подсистемы управления состоянием САЭ в виде конечного автомата [8]. Данная концепция позволила разработать метод параметрического управления состоянием САЭ и унифицировать способ управления САЭ и драйверами.
Метод параметрического управления САЭ, при котором пользователь описывает только условия работы, задавая названия и значения параметров, определяющих эти условия [8]. Данный метод, в сочетании со специальной структурой компонентов драйверного слоя программ [5], позволил создать универсальную программу подготовки задания на эксперимент, адаптирующуюся к используемой конфигурации оборудования САЭ. Основные достоинства метода:
исключается необходимость изучения специального языка, описывающего методику решения задачи;
доступны все возможные (в данной конфигурации) варианты методов исследования, и в то же время интерфейс пользователя не является избыточным.
Метод составления задания исполняющей системе в виде списка состояний конечного автомата и средства настройки интерфейса пользователя на заданную пользователем методику эксперимента [8].
Специальная структура компонентов драйверного слоя программ, обеспечивающая возможность автоматизировать включение их в состав программной системы - подключение к исполняющей подсистеме и к подсистеме составления задания [5,6,7]. Эти компоненты также представляются в виде конечных автоматов.
5. Специальная структура САЭ, включающая унифицированные базовые
модули и драйверный слой программ, а также способ интеграции модулей в
систему [5,9]. Достоинства принятого решения следующие:
существенная экономия времени разработчиков благодаря использованию значительного объема проверенного кода базовых модулей и преемственности компонентов драйверного слоя;
возможность масштабирования САЭ без перетрансляции;
при наличии готовых модулей - возможность выполнить модификацию системы силами пользователя, включая и расширение конфигурации САЭ.
6. Унифицированная подсистема передачи данных, предназначенная для
использования в распределенных САЭ со смешанным составом аппаратных
средств коммуникации [9].
НАУЧНАЯ НОВИЗНА работы определяется тем, что в ней при разработке программного обеспечения систем автоматизации экспериментов автором решены актуальные задачи, имеющие самостоятельное научное и практическое значение:
Разработай и впервые применен метод представления драйверов и подсистемы управления состоянием САЭ в виде конечных автоматов. Данный метод лег в основу метода параметрического управления состоянием САЭ и позволил унифицировать способ управления САЭ и драйверами.
Разработан и впервые применен метод параметрического управления состоянием САЭ. Такое управление позволило создать универсальную программу подготовки задания на эксперимент в виде описания конечного автомата (списка состояний системы).
Впервые поставлена и решена задача разработки программной среды, позволяющей без перетрансляции компоновать из готовых модулей САЭ, код которой остается неизменным при модификации методики исследования и конфигурации оборудования. Реализация этой концепции позволяет существенно сократить время разработки и развития программного обеспечения САЭ.
Разработана оригинальная структура ПО САЭ, основанная на использовании нового метода параметрического управления ее состоянием, позволяющая интегрировать САЭ из готовых модулей в загрузочном формате силами пользователей.
Основные положения, выводы и рекомендации доведены до практической реализации и выдержали проверку в эксплуатации. Разработанные при участии автора программные системы позволили получить важные научные результаты в экспериментах на реакторе ИБР-2 [Л4, Л5].
ПРАКТИЧЕСКАЯ ценность. Работа выполнялась в соответствии с проблемно-тематическими планами НПЦ "АСПЕКТ" и протоколами о сотрудничестве с ЛНФ ОИЯИ. Результаты данной работы нашли практическое применение в системах автоматизации экспериментов на реакторе ИБР-2.
Помимо этого, в Приложении-1 к диссертации приведены названия 9 массовых потребителей систем контроля транспортных средств и грузов, систем радиационного контроля и др., разработанных с участием диссертанта. В Приложении-2 даны названия 10 программных продуктов, используемых с 1997 года на таможенных станциях, ядерных объектах России, ближнего и дальнего зарубежья. Тираж этих продуктов - до 300 шт. Некоторые из доложенных методов и алгоритмов проверены в процессе эксплуатации этих систем. Проблемы, с которыми сталкивался автор, опыт, приобретенный при разработке и внедрении этих приложений, а также анализ результатов эксплуатации дали важную информацию для выполнения данной работы. Приложение-3 содержит отзывы потребителей. Опыт работы автора в НПЦ "АСПЕКТ" показывает, что разработка, особенно - сопровождение этих систем малым коллективом, значительно упрощается при использовании предложенных методов.
АПРОБАЦИЯ работы. Отдельные разделы работы были представлены на Всероссийской научно-технической конференции "Методы и средства обработки информации (МСО-2005)", 5-7 окт. 2005, МГУ; XVIII Совещании по использованию рассеяния нейтронов в исследованиях конденсированного состояния. 12-16 октября 2004, Заречный, Россия; 57 Международной конференции "Ядро 2007" "Фундаментальные проблемы ядерной, атомной энергии и ядерных технологий", 25-29 июня 2007, Воронеж. Основные результаты работы докладывались на научных семинарах ЛНФ ОИЯИ, ЛИТ ОИЯИ, НИИПА, АСПЕКТ, ВМК МГУ, ФЭИ. Ряд работ представлен в отчетах по гранту РФФИ № 04-07-90256в.
ПУБЛИКАЦИИ и личный вклад автора. По результатам диссертации опубликовано 9 работ [1..9]. В работе [1] автору принадлежит разработка алгоритмов и программного обеспечения системы. Аппаратная часть системы [1] и программы окончательной математической обработки разработаны соавторами и не описываются в диссертации. Вопрос о возможности разработки САЭ, инвариантной относительно изменений методики ее использования, впервые был поднят в работе [Лб]. Однако в этой работе допускалось изменение методики только в рамках фиксированной конфигурации оборудования, что является частным случаем и не соответствует сегодняшним запросам. В диссертации, в отличие от [Л6], сформулирована концепция системы, инвариантной относительно изменения конфигурации оборудования САЭ, отражающей прикладную методику [5, 9]. Автором разработаны основные алгоритмы и методы, выполнена проверка реализуемости предложенной концепции на практике. Результаты, выносимые на защиту, получены лично автором. В работах, опубликованных в соавторстве, личный вклад автора был определяющим на всех этапах выполнения данных работ.
Структура и объем диссертации. Диссертационная работа состоит из введения, 6 глав и заключения. Она изложена на 113 страницах машинописного текста, содержит 26 рисунков, 3 таблицы, 3 приложения. Список литературы включает 93 наименования.