Проблемы проектирования интерактивных систем

 Е.И. Артамонов,
зав. лаб, д.т.н., проф.,
ИПУ РАН, г. Москва

За последние два десятилетия  появился новый класс программных и технических средств – интерактивные системы (ИС). Эти системы позволяют в реальном времени получать информацию от датчиков технологических  процессов и оператора, управлять процессом решения прикладной задачи,  представлять полученные результаты оператору или управлять исполнительными механизмами и станками с ЧПУ. Интерактивные системы производят операции над графическими данными по созданию геометрических моделей, расчету процессов визуализации моделей объектов и соответствующих  параметров.   

 

   Классификация интерактивных систем

 

По способу связности с различными внешними устройствами и человеком оператором интерактивные системы можно разделить на четыре класса (см. табл.1):

-    системы, использующие традиционные средства взаимодействия пользователя с системой;

-    системы со специальными устройствами ввода или датчиками технологических процессов;

-    системы со специальными устройствами вывода;

-    системы, одновременно использующие специальные устройства ввода и вывода.

Табл. 1

КлассифИС

Во второй строке таблицы перечислены основные функциональные блоки систем. Для каждого класса знаком «+» отмечено наличие внешних устройств и соответствующих блоков, приведены примеры ИС.

К первой группе ИС относятся локальные автоматизированные системы проектирования, системы ситуационного моделирования, игровые системы и т.п. Ко второй – системы измерения и визуализации параметров технологических процессов. К третьей - программное управление исполнительными механизмами, станками с ЧПУ, графопостроителями, координатографами, фото плоттерами, устройствами стерео литографии. К четвертой - интегрированные системы проектирования и управления, системы безопасности и т.п.   

 Для проектирования  и создания ИС требуются новые методы формализации процесса выбора их структуры, систематизации, стандартизации и согласования структур данных для обмена информацией внутри ИС и с внешней средой.  Эти методы существенным образом определяют эксплуатационные характеристики создаваемых ИС.

Сложность проблемы выбора структурной организации ИС продемонстрируем на рис.1, где показан фрагмент некоторых возможных реализаций последовательно выполняемых операций. Все реализации для двух способов кодирования  a1 и a2 представлены в виде пространственного графа, разделенного на части, выполняющие набор последовательных операций. Части пространственного графа далее будем называть локальными структурами (ЛС), а набор операций которые они выполняют - локальными алгоритмами (ЛА). Каждая ЛС представляется  двумя плоскими графами (в виде вертикальных поперечных плоскостей на рисунке) и  дугами, соединяющими вершины левых и правых плоских графов. Вершины графа соответствуют форматам и типам данных. Разнообразие форматов данных в ИС легко представить по [1].  Дуги графа ориентированы по направлению обработки информации, отображают возможные реализации и имеют весовые коэффициенты, соответствующие сложности реализации. Левая сторона пространственного графа является входом, правая – выходом. В дальнейшем такое представление структуры будем называть обобщенной моделью структуры.

Множества локальных структур ЛС11-ЛС31 и ЛС12-ЛС32 реализуют локальные алгоритмы для способов кодирования a1 и  a2 соответственно.

Из рисунка видно, что преобразования данных в обобщенной модели занимают значительное место. Так ЛС1212, ЛС1221, ЛС2312, ЛС2321 реализуют ЛА преобразований способов кодирования, вертикальные поперечные плоскости в пространственных графах представляют преобразования форматов файлов и типов данных. ЛС1212 и ЛС2312, ЛС1221 и ЛС2321 являются эквивалентными; ЛС1211, ЛС2311, ЛС1222, ЛС2322 отображают связи между вершинами предыдущих и последующих графов (значения их дуг равны 0). Качество проектируемой системы в существенной мере зависит от количества преобразователей, используемых не только внутри комплекса, но и для согласования с другими, внешними по отношению к проектируемой, ИС. Сокращение общего количества преобразователей возможно за счет использования стандартных структур данных. 

 

Рис.1. Обобщенная модель структуры ИС

Реализация каждой операции на множестве локальных структур заранее подготавливается в виде конкретных реализаций, соответственно, подсчитываются  значения качественных показателей каждой реализации. Эти значения могут быть  получены теоретически, за счет оценок алгоритмов работы блоков, и практически путем анализа разработанных ранее систем.

 Различные варианты структурной организации проектируемой ИС будут соответствовать различным путям прохождения информации от входа к выходу на обобщенной модели структуры. Если представить, что вершин графа, отображающих разнообразие возможных форматов и типов данных (принадлежащих вертикальным поперечным плоскостям на рис.2) будет несколько, то, как видно из рисунка, общее число возможных путей даже для двух способов кодирования информации может быть достаточно большим. Лучшая структурная организация системы соответствует кратчайшему пути на обобщенной модели структуры ИС.

Далее сформулируем основные положения технологии выбора лучшей структурной организации программно реализованных интерактивных систем.

Технология выбора лучшей структурной организации ИС

Технология выбора лучшей структурной организации систем основана на классификации и систематизации структур данных, базовых типовых решений по выполнению отдельных операций в алгоритмах функционирования ИС [2, 3]. Для поиска наилучших вариантов  построения систем по наперед заданным критериям на первом этапе со структурой алгоритма функционирования проводятся  операции разделения его на части - локальные алгоритмы (ЛА). Под локальным алгоритмом понимается сильно связанная часть общего алгоритма функционирования ИС с последовательным выполнением операций над данными, представленными с одинаковой точностью и одним способом кодирования. Одному локальному алгоритму (ЛА) всегда соответствует набор блоков – локальных структур (ЛС), реализующих этот ЛА с разными показателями качества. Таким образом создается структура первого набора вариантов реализаций системы. 

Понятие «локальная структура» аналогично известному из литературы понятию «модуль». В [4], например, под программным модулем понимается набор связанных процедур вместе с данными, которые они обрабатывают. Разница между этими понятиями заключается в том, что в ЛС заведомо определена точность представления данных и их способ кодирования. Последнее дает возможность точно сформулировать правила первоначального разделения алгоритма функционирования на локальные, сократить  и упорядочить перебор общего числа вариантов построения структуры ИС.

Операция разделения алгоритма функционирования системы на локальные   производится в тех случаях, когда в структуре алгоритма имеются несвязные части общего алгоритма,  объекты информации представлены с разными точностями и способами кодирования. 

При наличии неопределенности в выборе точности представления и способа   кодирования во вновь образуемых ЛА, возникающей в процессе разделения, то эти параметры выбираются такими, реализации которых требуют меньших затрат. 

С целью образования следующих наборов вариантов структур проводятся операции последовательного объединения ЛА. Каждая операция объединения приводит к образованию нового ЛА и, соответственно, новой ЛС. Образуется новый набор вариантов структуры системы. В процессе объединения иногда наблюдается неопределенность в выборе основных характеристик новых ЛА. В таких  случаях способы кодирования объектов информации приводятся к единой форме;  из двух различных способов  кодирования и точностей представления предпочтение отдается кодированию, определенному в техническом задании на проектирование системы, а  точность выбирается наибольшая. 

Важной операцией в процессе выбора лучшей структурной реализации является  систематизация возможных вариантов реализаций ЛС. Для этого создается  ориентированная объемная графовая модель каждой полученной на предыдущих этапах ЛС. Вершинам графовой модели, как уже отмечалось, соответствует множество форм внешнего представления информации на входе и выходе ЛС, дугам - реализации операций в соответствующем ЛА. Теоретически, полученный граф должен быть полным за исключением того, что  в нем отсутствуют дуги, ориентированные в сторону противоположную направлению обработки информации. Практически, на текущий момент времени не каждой дуге можно найти соответствующую реализацию.

Систематизация реализаций отдельных операций по формам представления входной и выходной информации играет важную роль не только в практическом плане, но и в академическом, при обучении основам информатики, вычислительной техники или основам конструирования в машиностроении. В процессе систематизации накапливаются классы реализаций, отличающиеся точностью представления и способами кодирования информации. 

В заключительной стадии проектирования для всех наборов вариантов структуры строятся их обобщенные модели структур в виде набора взаимосвязанных моделей ЛС, реализующих общий алгоритм функционирования системы. На обобщенных моделях каждой дуге присваивается вес, соответствующий показателю качества реализации. Задача выбора лучшей системы для одного варианта структуры сводится к определению кратчайшего пути на графе обобщенной модели. Лучшая структурная организация системы выбирается по значениям показателей качества для всех вариантов структур.

Далее на примере разработанного при участии автора некоторого класса интерактивных систем рассмотрим особенности проектирования структур технических и программных средств, а также их отдельные эксплуатационные характеристики.  

Сравнительные характеристики структурной организации одного класса ИС

 В рассматриваемый класс ИС входят система управления процессами смешения нефтепродуктов (СУПС), система визуализации параметров при испытаниях разгонных блоков РКТ (СВП), система мониторинга состояния окружающей среды при уничтожении химического оружия (СМ), система управления спутниковой сетью связи (СУСС).

Основные операции в алгоритмах функционирования  для всех систем данного класса соответствуют табл.1. Коротко изложим особенности алгоритмов каждой системы.

СУПС предназначена для высоко­точного поддержания заданных соотношений компонентов в смеси. Количество компонентов – 14.  Входная информация о каждом компоненте поступает в систему уп­равления от расходомеров и датчиков темпера­туры, начальные параметры процесса смешения устанавливаются оператором. Выходная информация передается на исполнительные механизмы и представляется опе­ратору с периодичностью в 0.5 сек. Алгоритм управления можно представить в виде: 

 

 

  , где

           ,

 

- процентное содержание j – го компонента в смеси;

П - производительность системы смешения;

- коэффициент объемного расширения  j – го компонента;

- регулирующее воздействие в цифровой форме, вычисленное по каждому каналу; 

 - приращение температуры компонента относитель­но 20С;

 - заданное и текущее значение регулируемого параметра, текущее значение поступает на вход системы в виде частотного сигнала; 

Тс - время цикла работы системы;

 - параметры настройки, ,  принима­ет значения 2,4,8,16.

СВП измеряет около 200 текущих значений различных параметров процесса испытания изделий, определяет и сигнализирует о выходе параметров за «норму», хранит измеренные значения и отображает на двух мнемосхемах с периодичностью не более одной секунды. Мнемосхемы представляют собой две параллельные цепи технологического процесса. Система позволяет также в автономном режиме просмотреть результаты проведенных испытаний.

СМ производит сбор и предварительную обработку информации от датчиков состояния окружающей среды, хранит измеренные значения параметров, определяет и сигнализирует о выходе параметров за «норму», отображает на картах местности местоположение датчиков и текущие значения параметров в виде выпадающих таблиц. Система позволяет одновременно анализировать изменения параметров за истекшие периоды времени, строить графики изменения параметров и готовить отчетные документы. Общее количество датчиков около 200, каждый из которых измеряет до десяти параметров. Периодичность отображения параметров 20 минут.

СУСС осуществляет прием и передачу сигналов через спутник связи, усиление и преобразование сигналов, их распознавание и передачу по адресам пользователей. Общая структура технических средств включает центральную станцию и периферийные станции пользователей. Передача и прием информации в каждой станции производится через спутник связи. Каждая станция связывается со спутником через соответствующие антенны. Управление сигналами, поступающими на антенны со стороны станций, осуществляется через модемы, трансиверы и усилители.  Программное обеспечение СУСС размещается на компьютере центральной станции. Центральная станция для работы с пользователями имеет столько модемов, сколько имеется периферийных станцией. Настройка оборудования станций и управление приемом и передачей сигналов производится с центральной станции через ее модемы передачей команд специального языка, описывающих настройку оборудования на определенную частоту, анализ состояния оборудования, измерение параметров сигналов и т.п. Периферийные станции пользователей содержат пользовательские модемы, трансиверы и усилители.

СУСС производит сбор и предварительную обработку информации о состоянии станций пользователей, хранит измеренные значения параметров, определяет и сигнализирует о выходе параметров за «норму», отображает на карте региона местоположение станций и текущие значения параметров в виде выпадающих таблиц. Система позволяет одновременно анализировать изменения параметров за истекшие периоды времени, строить графики изменения параметров и готовить отчетные документы. 

Возможные варианты структурной организации технических средств и программного обеспечения могут быть получены за счет проведения предварительных операций с алгоритмами функционирования. На рис.2 показаны некоторые структуры алгоритмов системы управления процессами смешения нефтепродуктов (СУПС), образованные после проведения соответствующих операций.

Варианты структур, представленных на  рис. 2 a,b,c, соответствуют параллельному выполнению слабо связанных вычислений для каждого канала регулирования. При этом   выделен из-за требуемой меньшей точности вычислений;  - параллельные;

рис1

Рис. 2. Основные варианты сочетаний локальных алгоритмов для  системы смешения (СУПС) после проведения операций с алгоритмами

; используют упрощенный способ выпол­нения операций. На рис. 2 a,b,c пока­заны результаты последовательного объединения ЛА для каждого из каналов регулирования. Полученные варианты структур предполагают неза­висимые вычисления регулирующих воздействий. На рис. 2 d,e,f приведены  варианты структур после объединения ЛА по всем каналам. 

Каждая структура алгоритмов определяет соответствующую структуру технических средств и программного обеспечения.  Созданные  реализации технических средств  рассматриваемого класса систем можно характеризовать следующим образом. 

СУПС  и    СУСС выполнены в виде однопроцссорных систем, причем первая использует специализированный процессор из-за сравнительно простого алгоритма функционирования и большого быстродействия.

СВП реализована на двух процессорах, на одном производятся измерения параметров, на другом – визуализация.

СМ использует процессор для измерения параметров, сервер и процессор для визуализации.

       Структура программного обеспечения систем с одной стороны соответствует общей структуре технических средств, с другой стороны – различается способами реализации отдельных подсистем, использованием универсальных или специализированных средств для хранения информации, использованием различных средств визуализации (Табл.2). 

  Табл.2

№ п/п

Наименование системы

Средства визуализации

Средства управления БД

1

СУПС

аппаратные

аппаратные

2

СВП

C++ Builder

специализированные

3

СМ

C++ Builder

MS SQL Server

4

СУСС

Visual C++

специализированные

Литература

1.  Гюнтер Борн. Форматы данных. Торгово-издательское бюро BHV. Киев. 1995 г. 

2.  Artamonov E.I. Automation of digital device structure design. B-215, ACTA IMEKO, 1973, p. 561-570.

3.  Артамонов Е.И. Проектирование  структур программных средств CAD/CAM систем. Автоматизация проектирования, N2 ,1997 г.

Бьерн Страуструп. Язык программирования С++. Третье издание. AT&T Labs. Мюррей-Хилл, Нью-Джерси. Перевод с английского. М.-СПб. 2000 г.