Содержание к диссертации
Введение
Глава 1. Анализ методов построения программного обеспечения современных информационно- управляющих систем 22
1.1 Анализ способов построения и задач, решаемых современными информационно-управляющими системами 22
1.2 Анализ структуры и мультиагентного представления программного обеспечения информационно-управляющих систем 36
1.3 Анализ алгоритмов контроля и диагностики программного обеспечения современных информационно-управляющих систем 44
1.4 Перспективное программное обеспечение информационно-управляющих систем 60
1.5 Выводы по главе. Задачи, решаемые в диссертационной работе 66
Глава 2. Разработка математических моделей, используемых для описания программных агентов в информационно-управляющих системах 68
2.1 Разработка методики построения графовых моделей программ лингвистически адаптируемых программных средств информационно-управляющих систем 68
2.2 Разработка графовых моделей программного обеспечения информационно-управляющих систем 77
2.3 Разработка нейросетевой модели контроля функционирования программного обеспечения агентов информационно-управляющих систем 81
2.4 Разработка нейросетевой модели восстановления данных в агентах информационно-управляющих систем 85
2.5 Результаты и выводы 93
Глава 3. Применение разработанных математических моделей для построения программного обеспечения лингвистически адаптируемых агентов информационно-управляющих систем 95
3.1 Применение разработанных графовых моделей программ для построения инструментальных средств разработки информационно-управляющих систем 95
3.2 Применение сетевых технологий для программной реализации коммуникационных функций агентов информационно-управляющих систем 104
3.3 Разработка алгоритмов построения и сопровождения программного обеспечения распределенной информационно-управляющей системы средствами адаптируемого программного обеспечения 108
3.4 Результаты и выводы 118
Глава 4. Применение разработанных алгоритмов для контроля и диагностики программного обеспечения агентов информационно-управляющих систем 119
4.1 Применение разработанной нейросетевой модели для контроля функционирования программного обеспечения нейросетевых агентов распределенных информационно-управляющих систем 119
4.2 Применение алгоритма построения и сопровождения лингвистически адаптируемых программ для контроля и диагностики информационно-управляющей системы учебного процесса 130
4.3 Применение нейросетевых моделей и программного обеспечения для восстановления данных в информационно-управляющих системах медицинского назначения 134
4.4 Результаты и выводы 140
Заключение 142
Литература 144
Приложение
- Анализ структуры и мультиагентного представления программного обеспечения информационно-управляющих систем
- Разработка графовых моделей программного обеспечения информационно-управляющих систем
- Применение сетевых технологий для программной реализации коммуникационных функций агентов информационно-управляющих систем
- Применение алгоритма построения и сопровождения лингвистически адаптируемых программ для контроля и диагностики информационно-управляющей системы учебного процесса
Введение к работе
На современном этапе развития научно-технического прогресса важное значение во всех областях человеческой деятельности имеет информация, технологии анализа и обмена ею. В этой ситуации понятие «информационно-управляющая система» (ИУС) может рассматриваться как универсальное представление для широкого спектра форм человеческой деятельности. Идущее быстрыми темпами внедрение компьютерных и телекоммуникационных технологий во все сферы жизни создаёт возможность рассмотрения многих объектов реального мира в виде объектов управления. В работе рассматриваются наряду с «классическими» объектами управления, такими как агрегаты летательных аппаратов или технологический процесс производства полиэтилена, такие объекты как учебный процесс и медицинская практика, что стало возможным в силу действующих в настоящий момент в этих предметных областях общих тенденций информатизации общества.
Отличительной особенностью процесса построения и функционирования современных ИУС является воздействие на них ряда феноменов, качественно изменяющих деятельность компьютеризованных компонентов ИУС. В [48] рассматривается три феномена, созданных быстрым развитием вычислительной техники и информационных технологий: персональные вычисления (заключается в возможности широкого использования персональных ЭВМ); кооперативные технологии (компьютерная поддержка совместной согласованной работы группы работников); компьютерные коммуникации (увеличение возможностей обмена любой информацией). Они составляют технологическую основу обеспечения параллельного вычислительного процесса в распределенной компьютерной сети.
Решение задач построения большинства ИУС, отвечающих современным требованиям, немыслимо без использования персональных ЭВМ, кооперативных и сетевых технологий. С их использованием ИУС выполняются в виде многомашинных распределенных вычислительных комплексов, содержащих вычислительные машины, решающие неоднородные задачи. Важнейшими характеристиками ИУС являются: надежность, отказоустойчивость, конкурентоспособность (гибкость, учет требований реального мира, сроки разработки или модернизации, их стоимость и
др.), сложность (распределенность, многосвязность) [5], кроссплатфор-менность, и функционирование в условиях неопределенности. Различным аспектам проектирования ИУС посвящены работы таких отечественных ученых, как В.И. Васильев, В.А. Виттих, Б.Г. Ильясов, Ю.С. Кабальнов, А.В. Каляев, Г.Г. Куликов, В.В. Липаев, В.И. Матов, А.С. Нариньяни, Л.Б. Уразбахтина, Я.А. Хетагуров и других. Однако не все проблемы, относящиеся к построению ИУС, можно считать решёнными в достаточной степени. В частности, сказанное можно отнести к методам обеспечения эволюционного характера развития программ в ИУС, а также их разработки в условиях неопределенности и раннего учёта требований реального мира. Необходимость поддержания на должном уровне таких качеств ИУС, как надежность и отказоустойчивость, требует дальнейшего развития механизмов контроля и диагностики, их адаптации к новым условиям существования ИУС. Различным аспектам контроля и диагностики программного и аппаратного обеспечения ИУС посвящены работы таких ученых, как А. Авидженис, В.И. Васильев, Ю.М. Гусев, В.Н. Ефанов, А.И. Иванов, К.А. Иыуду, В.Г. Крымский, Ж.К. Лапри, В.В. Липаев, В.И. Матов, Я.А. Хетагуров и других. Однако, интенсивное развитие современных технологий построения вычислительной техники и ИУС требует постоянного решения вновь возникающих задач. Вопросы, решаемые в рамках рассматриваемого направления: уменьшение времени разработки, его стоимости, повышение гибкости за счет применения адаптируемых (настраиваемых) программных систем; упрощение процесса программирования средствами визуального программирования, автоматизированного анализа программ; осуществление контроля и диагностики функционирования программного обеспечения ИУС; придание ИУС черт интеллектуального поведения, способности функционирования в условиях действия различных неопределенных факторов.
Распределенные компьютерные сети начали применяться для задач управления сравнительно недавно. В настоящее время развитие этого сектора информационных технологий находится на подъеме. Реализация ИУС на базе распределенной обработки данных является перспективным на-
правлением развития процесса сбора информации, её обработки и управления техническими и иными объектами.
Важнейшей характеристикой ИУС производственных предприятий является конкурентоспособность. Эта характеристика вмещает в себя широкий спектр качеств ИУС (надежность, отказоустойчивость, гибкость сроки разработки и др.). В настоящее время в международной практике одним из главных средств, обеспечивающих выживание предприятия [80,137] признана интегральная система управления (ИСУ). Для обеспечения необходимой гибкости и эффективности разработки ИСУ актуально применение эволюционных методов в области программных технологий. Они составляют довольно широкий круг информационных технологий, затрагивающих самые разнообразные области применения и решаемые задачи. В качестве примера можно привести способы построения эволюционных компьютеров, использующих средства, имитирующие механизмы естественной эволюции [16,110, 141]; программирование с применением прототипов [149,165,118]; CASE-технологии [20]; программирование на адаптируемых языках программирования [41] и др. С эволюционными методами программирования перекликается предложенный Эдвар-дсом Демингом подход к управлению производством, названный «Непрерывное усовершенствование процессов» или Continues Process Improvement (CPI) [37]. Его информационно-технологическая составляющая заключается в такой организации работ, при которой модернизация программного продукта идет в течение всего времени эксплуатации. Его применение дает возможность предприятиям сохранять конкурентоспособность в условиях непрерывной изменчивости внешней среды [106,123]. Эволюционный характер сложных комплексов программ ИУС показан в [139]. Стремление максимально полно учесть требования потребителя программной продукции при разработке и дальнейшей эволюции ПО логично выражалось бы в их тесном взаимодействии. Однако в современных условиях значительную степень унификации имеют не только аппаратные, но и программные средства ИУС (на основе сетевых технологий). Фирмы-изготовители ПО определяют направление его модернизации исходя из собственных аналитических разработок, лишь частично учитывающих требования потребителей (в силу широкого их спектра). Этот недостаток
был парирован приданием разрабатываемому универсальному ПО адаптивных свойств (возможности настройки на конкретную предметную область). В настоящее время задача придания программам адаптивных свойств признана перспективной [4].
Применение лингвистически адаптируемых программ позволит сократить общий срок разработки (сопровождения или эволюции) ПО ИУС за счет исключения операции перекомпиляции операционного ядра программной системы; уменьшить затраты на дополнительные инструментальные средства программирования (ИСП) (профайлеры, отладчики, анализаторы программ) за счет простоты их реализации в большинстве языков программирования, поддерживающих лингвистическую [164,41,117]; сокращение числа проектных ошибок и времени разработки ПО за счёт раннего и полного учета практических ограничений и требований, выраженного стиля структурного программирования (предотвращение ошибок, повышение производительности разработки, унификация архитектуры комплекса программ, стандартизация принципов разработки [139]).
Эти преимущества применения лингвистически адаптируемых программных систем (ЛАПС) создают предпосылки для построения эволюционирующих, гибких ИУС, обеспечивающих конкурентоспособность в условиях динамично меняющейся окружающей среды. Организация работы ИУС, выполненных в виде распределенных неоднородных вычислительных сетей, под управлением универсального, адаптируемого пользователями или специалистами и максимально приближенного к реальной задаче ПО, позволит обеспечить отказоустойчивость (за счет избыточности и возможности гибкого перераспределения задач) ИУС. Одновременно будет уменьшаться стоимость программ. Это будет происходить в силу того, что стоимость настройки универсального программного средства ниже, чем стоимость разработки аналогичного ПО «с нуля». Кроме того, универсальные программные средства, находясь в широком использовании, подвергаются более интенсивному тестированию, чем если бы они тестировались в пределах одной ИУС. Это приводит к выявлению большего числа скрытых ошибок. Такой подход к использованию универсальных настраиваемых элементов ИУС соответствует бизнес-принципу NDE (Non-
Developmental Item) — использование «неразрабатываемых заново технологий». Принципу NDE соответствуют не только программные, но и аппаратные средства вычислительных систем специального назначения, заключающиеся в выборе и адаптации готовой аппаратуры под специфику решаемой на ней задачи. Таковы COTS-, ROTS-, МЭТЗ-технологии (Commercial-, Rugged-, Military-Off-The-Shelf - готовые к применению коммерческие модули, модули повышенной надежности, военные модули) разработанные в соответствии с зарубежными стандартами МЭК 821 и IEEE/ANSI 1014 [114].
Сложность решаемых ИУС задач, необходимость обеспечения высокой производительности вычислительного ядра, его надежности и отказоустойчивости определяет необходимость применения принципов распределенной обработки данных. Функционирование современных ИУС, построенных на этих принципах, происходит на основе её самоорганизации [23,137]. Этот процесс облегчается за счет упрощения процесса программирования, его приближения к естественному языку.
Совместное функционирование отдельных рабочих станций распределенных ИУС можно рассматривать как взаимодействие между собой некоторых сущностей (агентов), способных к активным самостоятельным действиям. Принципы организации и управления такими объектами рассматриваются в [23] с точки зрения взаимодействия элементов мультиа-гентной системы.
Агент может быть определен через понятие реагирующих систем (reactive systems) [93]. Такие системы при взаимодействии с окружающей средой изменяют свое внутреннее состояние и посылают ответные сообщения. Агент - это самостоятельная программная или программно-аппаратная система, существующая в определенной окружающей среде (реальной или виртуальной) и имеющая возможность принимать воздействие от внешнего мира, определять свою реакцию на это воздействие и осуществлять реакцию на него [75]. Основным качеством, определяющим агентов среди реагирующих систем в целом, является активность, возможность самостоятельной инициации каких-либо действий. Со стороны внешней среды агент является неделимым и рассматривается как единая сущность, а не как совокупность частей.
Другими характеристическими свойствами агентов являются автономность (способность функционирования без прямого вмешательства человека, самостоятельно отслеживая состояние окружающей среды и собственных параметров), реактивность (способность своевременной и адекватной реакции на внешнюю среду) и возможность общения друг с другом [46].
Агент состоит из следующих составных частей различной природы: физическая основа (аппаратные средства вычислителя, на котором он работает); система управления (алгоритм управления или средства интеллектуального управления); коммуникационная система (языки общения агентов, протоколы и аппаратура передачи данных). Широкие возможности разнообразной реализации приведенных составных частей определяет достаточную свободу в построении самых разнообразных агентов.
Способность агентов к общению дала возможность построения систем, содержащих коллектив интеллектуальных агентов, связанных телекоммуникационными каналами связи для достижения общей цели. Каждый агент подобной мультиагентной системы способен самостоятельно решать некоторые локальные задачи и имеет возможность взаимодействия с другими агентами в процессе решения общей задачи.
В силу этого в ИУС, реализуемых в виде распределенных вычислительных систем, возникает потребность реализации адаптируемого к внешней среде поведения. Задача обучения ИУС легко решается средствами искусственного интеллекта, однако процесс их внедрения не сможет произойти изолированно от ныне применяемой техники и мгновенно породить вычислитель, способный взять на себя многочисленные функциональные задачи современных машин. Широкое использование обучаемых архитектур вычислительных машин (например, представленных в [55]) в ИУС затруднительно из-за необходимости перехода на мало распространенное программное обеспечение - параллельные языки программирования. Фактически, современный мир заполнен, в первую очередь, универсальными ЭВМ. Поэтому экономически эффективными будут методы адаптации, не требующие замены всего парка вычислительной техники. К таким методам можно отнести эволюционные способы программирования. Это не следует понимать как полный отказ от сущностной модернизации
архитектур вычислительных средств ИУС. Применение универсальных вычислительных машин совместно с обучаемым ПО не отвергает изменения их аппаратных средств. Применение обучаемых архитектур, а также архитектур, ориентированных на языки программирования [88], и др. уже сейчас могут быть эффективно использовано в совокупности с универсальными ЭВМ в виде сопроцессоров или плат расширения (например, ./яш-акселератор [166]). Таким же образом могут быть использованы и машины с перестраиваемой архитектурой, существующие в настоящее время в виде плат расширения к IBM PC [55].
Несмотря на широкие возможности реализации агентов ИУС, в большинстве своем они будут определяться теми же факторами, на основании которых развивались до настоящего момента информационные технологии: последовательный детерминированный (алгоритмический) процесс, объектно-ориентированная технология программирования, фон-неймановская компьютерная архитектура, традиционная вычислительная математика. В качестве альтернативы приведенным факторам можно привести средства искусственного интеллекта (СИИ) и нейрокомпьютеры, применение которых, по мнению академика А.С. Нариньяни [94], вытеснит руководящий принцип алгоритма и традиционную вычислительную математику.
В настоящее время СИИ получают связь с сетевыми технологиями [36] и, в частности, с глобальной компьютерной сетью Internet [140]. Internet уже воспринимается не как огромная гипертекстовая книга, а как совокупность большого числа программных агентов, при построении которых существенную роль играют СИИ. Интернет рассматривается как среда развития искусственного интеллекта, в которой «живут» автономные обучаемые нейросетевые агенты, процесс обучения которых никогда не заканчивается [140].
Возможность построения агента ИУС с использованием СИИ создаёт базу для «интеллектуализации» программно-аппаратных вычислительных комплексов. Появилось понятие распределенного искусственного интеллекта (РИИ), основанное на кооперативном взаимодействии распределенных интеллектуальных систем [36]. Сетевое взаимодействие рассматривается уже не как некое подобие многофункциональной электронной почты,
выполняющей функции передачи информации от человека к человеку, а как взаимодействие некоторых виртуальных сущностей. Естественно, что каждая из них опирается на конкретный программно-аппаратный информационно-вычислительный комплекс или на мигрирующее программное обеспечение (ПО) [74].
Архитектура ЭВМ, на которую опирается последовательный алгоритмический процесс, подвергается критике уже более пятнадцати лет [38]. Основой для критики является, в частности, то, что при развитии ЭВМ большинство функций реализовывалось с помощью более гибких и удобных программных средств, в то время как архитектура аппаратных средств оставалась принципиально неизменной. Этот процесс сопровождается усложнением ПО, которое не свободно от неисправностей (ошибок). Он приводит к неадекватному распределению вероятностей проектных ошибок на долю программ, что при росте сложности ПО значительно снижает надежность работы всего вычислительного комплекса. При этом не используются (или слабо используются) возможности по их парированию аппаратурой. Поэтому благоприятна ситуация, при которой процессор располагает возможностями, адекватными возможностям программ [38], т.е. структура вычислительной системы приводится в соответствие структуре решаемой задачи. Путь к достижению такой адекватности лежит через построение программно-ориентированных архитектур ЭВМ, машин языков высокого уровня, архитектур, программируемых под структуру задачи [55]. Однако, стремление построить вычислитель, ориентирующийся на понятия реального мира, наталкивается на необходимость определить границы его детализации. При этом аппаратура окажется устаревшей в тот момент, когда ее пользователь захочет расширить эти границы, например, в специфической предметной области. В этой ситуации, видимо, справедливо говорить о применении адаптируемых программных систем [162,41] а также средств искусственного интеллекта.
На сегодняшний день развитие новых принципов построения вычислительных систем не позволяет выполнять в полном объеме все задачи, традиционно решаемые на основании старых принципов. Так, например, функции текстового процессора могут быть достаточно просто реализованы с использованием алгоритмического процесса, в то время как использо-
вание для этой цели СИИ может оказаться неэффективным. Кроме того, индустрия производства вычислительной техники и программного обеспечения обладает достаточной инерцией. В силу этого процесс смены вычислительной концепции происходит путём совместного развития, конвергенции алгоритмического подхода и СИИ. Интенсивные темпы развития технологии производства аппаратуры и её архитектуры, базирующиеся на принципе алгоритма (например, использование для программной реализации НС цифровых сигнальных процессоров [138] или сочетание аналоговой реализации НС и программно-управляемого процессора), будут создавать базу для объединения принципов искусственного интеллекта и принципов алгоритма.
Из описанных общих тенденций построения ИУС, имеющих глобальный характер, можно выделить подобласть, решение задач которой будет лежать в русле приведенного общего направления развития вычислительной техники. В качестве неё будем рассматривать построение адаптируемых (настраиваемых, обучаемых) программно-аппаратных комплексов, в частности, лингвистически. Выделение лингвистической составляющей из общего процесса адаптации ПО обусловлено расширением использования платформонезависимых программных средств в сетевых ИУС как в открытых системах [15]. При этом на первый план выходят исходные тексты программ, языки гипертекстовой разметки документов, интерпретирующие языки программирования, естественные языки программирования.
Использование интерпретирующего принципа исполнения программ позволяет создавать гибкие, легко реконфигурируемые кроссплатформен-ные программы, работающие в неоднородной информационно-вычислительной среде. Кроме этого, существенно упрощается процесс сопровождения, настройки и отладки ПО. Так, один из основных представителей ЛАПС, язык программирования Форт, характеризуется в [161] как наиболее простой для изучения. Эта простота определяется возможностью его изучения, программирования и отладки написанных программ методом «проб и ошибок» (по существу, метод неокончательности решений [132]). Одновременно с этим стиль программирования на нем близок к естественному языку. По сравнению с другими интерпретирующими языками, не принадлежащими ЛАПС, например Бейсик, ПЕРЛ и др., он обла-
дает рядом дополнительных возможностей по управлению компьютером и компилятивными способностями, не входящими в противоречие с его интерпретирующими качествами.
В дальнейшем в качестве ЛАПС будем понимать такие языки про
граммирования и операционные системы (ОС) (согласно определению
ОС, данному в [15]), словарный запас которых (множество поименован
ных модулей, выполняющих те или иные функции) может быть изменен
пользователем без общей перекомпиляции ядра программной сис
темы, а изменения вступают в силу немедленно после их внесения.
Под это определение попадает ряд языков программирования и ОС. Их
примеры и сравнение приведены в первой главе настоящей работы. В силу
присущих ПО ИУС эволюционных особенностей и его сложности, расту
щей с научно-техническим прогрессом, а также в силу давно сложившейся
общей тенденции программирования [45], естественно применение струк
турного программирования [139]. Большинство ЛАПС могут быть отнесе
ны к ярким представителям структурного типа
программирования [161,117]. Поэтому данное выше определение будет це
лесообразно дополнить классификационным критерием, определяющим
ЛАПС как системы структурного программирования.
В направлении внедрения технологии ЛАПС можно выделить следующую цепочку действий: развитие ЛАПС—построение их виртуальных машин—функциональное расширение универсальных ЭВМ для поддержки ЛАПС—построение машин с архитектурой, ориентированной на адаптируемые программы,—построение новых архитектур многомашинных мультиагентных ИУС.
Однако, наряду с приведенными преимуществами ЛАПС можно констатировать их отставание от других систем программирования в области визуальных средств проектирования, интеграции с сетевыми технологиями. Это, видимо, и является основной причиной незначительной распространенности ЛАПС в общей индустрии построения современных ИУС. Но упомянутые недостатки не являются принципиальными, легко устранимы и не могут составить противовес положительным сторонам использования ЛАПС. В связи с вышесказанным возникает актуальная задача применения ЛАПС в программно-аппаратных агентах ИУС, интеграции
ЛАПС с СИИ, и, в дальнейшем, модернизации архитектуры аппаратуры ИУС в направлении построения машин языков высокого уровня.
Способы и средства контроля и диагностики аппаратного обеспечения ИУС разработаны достаточно полно. Задачи же разработки методов контроля и диагностики ПО ИУС в настоящее время актуальны. Это объясняется тем, что в подавляющем большинстве случаев обеспечение функционирования ИУС в условиях неопределенности, постоянного их реинжиниринга, значительных объемов анализируемой информации, регулярной модернизации алгоритмов управления управляемых или наблюдаемых объектов, значимой вероятности отклонения циркулирующих в ИУС данных за пределы обозначенных в системной спецификации ПО границ требует постоянного обновления состава средств и методов контроля и диагностики программ. Интенсивность изменения требований, возникающих со стороны внешнего мира к ИУС, требует нового подхода к процессу сопровождения, разработки, контроля и диагностики их ПО. Системность проектирования ПО современных ИУС заключается как в проектировании самого ПО, так и способов его отладки, тестирования и др. - инструментальных средств программирования. То есть, задача разработки алгоритмов контроля и диагностики ПО неразрывно связана с использованием новых технологий программирования, и, в частности, обеспечивающих эволюционный характер развития программ.
В условиях дальнейшего повышения степени интеграции компонентов ЭВМ аппаратные методы контроля и диагностики играют важную роль в обеспечении требуемых характеристик ИУС и построении отказоустойчивых операционных узлов [86]. Однако, по мере увеличения степени интеграции узлы ЭВМ приобретают свойство многофункциональности. В связи с этим тестовое диагностирование строится с использованием управляемой логики [86]. Чем сложнее и многофункциональнее диагностируемый компонент, тем шире связь управляемой логики тестового диагностирования с логикой функционирования объекта диагностирования. Аппаратные методы контроля и диагностики приобретают черты программных методов и сливаются с ними.
Таким образом, решение проблемы построения ИУС, адаптирующихся к изменяющейся окружающей среде в рассмотренных
выше аспектах, а именно: применение ЛАПС для построения ПО ИУС, модернизация ЛАПС средствами визуального программирования и анализа программ, применение в ЛАПС СИИ, контроль и диагностика функционирования программного обеспечения ИУС -позволяет уменьшить время разработки ПО, его стоимость, повысить гибкость, обеспечить эволюционный характер ПО и высокую производительность вычислительной части ИУС, а, следовательно, имеет важное народно-хозяйственное значение и является актуальным.
Цель и задачи исследования. Целью работы является повышение контролируемости, гибкости программного обеспечения информационно-управляющих систем, уменьшение материальных затрат и времени его разработки на основе адаптируемых языков программирования и нейронных сетей.
Для достижения поставленной цели сформулированы и решены следующие задачи:
Разработка математического аппарата анализа структуры программ лингвистически адаптируемых программных систем, позволяющего унифицировать объекты-описатели графовых структур, легко реализуемого на ЭВМ и предназначенного для автоматизированного проектирования и анализа программного обеспечения.
Разработка нейросетевой модели и программного обеспечения восстановления и прогнозирования данных в информационно-управляющих системах, функционирующих в условиях неопределенности.
Разработка нейросетевой модели и программного обеспечения контроля функционирования программного обеспечения автономных агентов информационно-управляющих систем, предназначенных для организации распределенной вычислительной среды лингвистически адаптируемых программных систем.
Экспериментальное апробирование и внедрение лингвистически адаптируемых программных систем, разработанных алгоритмов и нейро-сетевых моделей в информационно-управляющие системы реальных объектов.
Методы исследования
Поставленные в диссертационной работе задачи решаются на основе теории графов, теории матриц, теории нейронных сетей. Широко использовано моделирование на персональных ЭВМ и в компьютерных сетях с использованием готового и самостоятельно разработанного программного обеспечения. Разработанные в ходе выполнения работы программы выполнены согласно объектно-ориентированному подходу к программированию.
Результаты, выносимые на защиту
На защиту выносятся следующие научные положения, выводы и практические результаты.
Структура описания данных и алгоритм анализа графового представления лингвистически адаптируемых программ информационно-управляющих систем.
Интеллектуальная модель на базе искусственной нейронной сети циклического функционирования с коммутируемыми обратными связями, служащая для восстановления данных, алгоритм минимизации ошибки восстановления и их программная реализация.
Алгоритм и программное обеспечение контроля и диагностики процесса функционирования Форт-системы, а также нейросетевая модель анализа временных рядов диагностической информации программного обеспечения информационно-управляющих систем.
Инструментальная база применения лингвистически адаптируемых программных систем для построения информационно-управляющих систем организации учебного процесса технической кафедры вуза и сети медицинских учреждений в виде Форт-системы, функционирующей в распределенной клиент-серверной вычислительной среде.
Программное обеспечение информационно-управляющая системы производства полиэтилена высокого давления и информационно-управляющая системы медицинских учреждений, предназначенных для наблюдения и управления объектами с выраженными свойствами неоднородности и неопределенности, требующими восстановления и прогнозирования данных.
Научная новизна результатов заключается:
в разработке алгоритмов и методик проектирования программного обеспечения информационно-управляющих систем на основе адаптируемых языков программирования;
в построении методики и программного обеспечения, позволяющих сократить время контроля адаптируемых программ, повысить его глубину, облегчить проведение анализа топологии структурированных объектов и увеличить доступность результатов анализа в информационной среде информационно-управляющих систем путем применения предложенной структуры данных;
в разработке алгоритма наблюдения за функционированием программного обеспечения, использующего набор сплайн-функций и применении нейронной сети для их распознавания;
в создании алгоритма и программного обеспечения восстановления и прогнозирования параметров объектов с выраженными свойствами неоднородности, а также нейросетевой модели, позволяющей восстанавливать данные с учётом возможной некорректности поступающих данных.
Практическая значимость результатов Результаты диссертации позволяют:
осуществлять быструю адаптацию информационно-управляющей
системы к изменяющимся требованиям в процессе её функционирования;
сократить время контроля и модернизации ПО ИУС в 3-5 раз за
счет использования преимуществ стиля программирования в ЛАПС, раз
работанного инструментального ПО, принципов неокончательности ре
шений;
разрабатывать распределенные информационно-управляющие сис
темы, осуществлять их контроль и диагностику, используя разработанные
программные продукты;
сократить время адаптации ИУС к изменяющимся требованиям в
процессе её функционирования за счет присущих ЛАПС возможностей
доопределения программного ядра в процессе функционирования систе
мы (применение программных систем, совмещающих в себе возможности
интерпретаторов и компиляторов, выполняющих процесс компиляции в
клиент-серверной среде, что сократило время исполнения программ в сети
примерно в 5 - 30 раз);
восстанавливать и прогнозировать параметры биологических объектов в лечебных учреждениях, оптимизировать набор биохимических исследований, качественно и количественно оценить взаимосвязь параметров биологических объектов используя реализованную на основе разработанных методик и алгоритмов интеллектуальную диалоговую систему. Разработанные программные продукты зарегистрированы в РосАПО в виде трех программ для ЭВМ: «Проблемно-адаптируемая диалоговая система моделирования систем автоматического управления с использованием нейронных сетей» (свидетельство РосАПО №990180); «Проблемно-адаптируемая диалоговая система анализа топологии и диагностирования сложных систем» (свидетельство РосАПО №990181); «Интеллектуальная диалоговая система прогнозирования состояния углеводного обмена у больных артериальной гипертонией» (свидетельство РосАПО №991016).
Практическое значение результатов диссертации подтверждено внедрением разработанных программных продуктов в ИУС производства полиэтилена высокого давления в цехе № 500-504 ОАО «Уфаоргсинтез», а также в учебный процесс Уфимского государственного авиационного технического университета при проведении лабораторных работ по курсам «Контроль, диагностика и обслуживание ЭВМ и сетей», «Методы программирования и прикладные алгоритмы», «Современная элементная база отказоустойчивых (высокопроизводительных) вычислительных систем», поддержанных методическим обеспечением. Результаты прошли апробацию в работе кардиологического отделения и отделения реанимации и интенсивной терапии городской клинической больницы № 13 г. Уфы. Основания для выполнения работы
Работа выполнена в период 1996-2000 гг. на кафедре вычислительной техники и защиты информации УГАТУ в соответствии с Федеральной целевой программой «Государственная поддержка интеграции высшего образования и фундаментальных наук на 1997-2000 гг.», а также хоз. договора с Уфимским научно-производственным предприятием «Молния» (г. Уфа) «Разработка технических решений на основе импортных микроконтроллеров для перспективных электронных регуляторов авиационных двигателей» (per. № ИФ-ВТ-16-00-ХГ).
Апробация работы и публикации
Основные положения, представленные в диссертации, докладывались и обсуждались начиная с 1997 года, на 2 Международных, 1 Всероссийской и 1 Республиканской конференциях. Результаты диссертационной работы опубликованы в 14 печатных трудах, в том числе, в 2 статьях в центральной печати, 5 статьях в межвузовских научных сборниках, 7 трудах конференций, кроме этого, получены 3 свидетельства РосАПО о регистрации программ для ЭВМ №990180, №990181, №991016.
Структура работы
Работа включает введение, 4 главы основного материала, заключение, библиографический список и приложения. Объем основной части диссертации составляет 158 страниц, включает 55 рисунков. Библиографический список включает 171 наименование.
Анализ структуры и мультиагентного представления программного обеспечения информационно-управляющих систем
Представление ИУС как мультиагентных систем даёт возможность гибкой декомпозиция глобальной цели системы как целого на локальные подцели составляющих систему агентов. Применение теории мультиагентных систем в производственной деятельности позволяет разработчикам ПО ИУС предприятий моделировать три главных компонента кооперации: коллективное поведение, мышление и коммуникацию участвующих сторон [23].
Рассматривая в качестве примера единого информационного пространства ИУС сеть Internet, можно выделить следующие особенности, делающие актуальным мультиагентный подход к ней: большой масштаб сети, разнородность объединяемых ресурсов и отсутствие централизованного управления. Состав ресурсов сети постоянно изменяется и состоит из компьютеров самой разнообразной архитектуры, работающих под различными операционными системами [77]. В результате Internet представляет собой сложную, распределенную, неоднородную, динамически изменяющуюся систему, точное состояние и поведение которой неопределенно. Для отдельного работающего в сети субъекта (человека или ИВК) исчерпывающая информация о сети недоступна. В этих условиях субъект сети вынужден достигать свои цели на основе неполной информации. Описанная ситуация является типичной для мультиагентнои системы. Internet представляет собой сложную мультиагентную систему, в которой существуют и взаимодействуют друг с другом агенты различных типов [77].
Базирующийся на агентах подход представляется естественным для применения в распределенных системах типа Internet и ряда других сложных информационных и управляющих систем.
Приняв за основу представление современных ИУС как мультиагентных систем, необходимо определить круг задач, решаемых составными их частями - агентами. Агент может обеспечивать [14]: интеллектуальное поведение - возможность проведения логического анализа состояния окружающего пространства и своего собственного для принятия решения о своих дальнейших действиях, способность к моде лированию ситуации, прогнозированию её развития и планирование в соответствии с моделью своих действий; обучаемость - возможность пополнять свои знания; способность общения - возможность общаться и взаимодействовать с другими агентами или людьми; мобильность - возможность смены своего положения в окружающей среде.
Согласно приведенным возможностям, под интеллектуальным обучаемым агентом будем понимать агента, обладающего пополняемым набором знаний о себе и окружающей его среде, способного определять свое поведение в соответствии с этими знаниями. Свойство мобильности агента в большинстве случаев не является определяющим. Это свойство присуще либо мобильным программным агентам [74], либо подвижным аппаратным кибернетическим агентам [124]. Но не для каждого программного агента (softbot) возможно и целесообразно выполнение миграции (например, поисковый агент [40]), равно как и не каждый аппаратный (программно-аппаратный) агент обладают мобильностью. На рис. 1.9 представлены структуры агентов в мультиагентной среды. Структура агента, с точки зрения используемого аппаратного обеспечения, приведена в соответствии с [23], с точки зрения функций агентов - в соответствии с [46].
Особо отметим свойство обучаемости агента и его автономности. С точки зрения непосредственной его реализации обучаемость может заключаться в расширении базы правил, используемых агентом для организации своей работы, параметрической адаптации численных переменных (процесс обучения нейронной сети (НС)), расширение словарного запаса программной системы (в случае использования ЛАПС). Последнему процессу на рис. 1.9 можно поставить в соответствие изменение функций агента (расширение перечня функций и изменение выполняемых ими действий), изменение содержания долгосрочной (может быть, и оперативной) памяти, расширение занятого объема памяти объектов ЛАПС. Изменение выполняемых функций агента происходит в условиях его реального функционирования. Учитывая такие свойства агентов как автономность и интеллектуальность, этот процесс может быть сформулирован как изменение ПО ИУС, происходящее в процессе его работы.
Последний подход составляет основу для построения ЛАПС, который находит все большее применение в операционных системах. Сами операционные системы по &Р-классификации относятся к -программам, модифицируемым в процессе взаимодействия с внешней средой [84]. Например, в первых версиях оконных операционных систем фирмы Microsoft, адаптивность заключалась лишь в настройке графического интерфейса и индивидуальных предпочтений. В перспективе фирмой планируется оснастить серверные реализации операционной системы Windows2000 интерпретаторами сценариев, язык которых будет определятся самим пользователем [4]. Однако, построение ЛАПС, планируемое Microsoft, идеологически повторяет существующие программные системы. В этой связи актуальным видится не разработка новых программных методов их организации, а модернизация существующих методов и оснащение их дружественным пользователю интерфейсом.
Разработка графовых моделей программного обеспечения информационно-управляющих систем
В предыдущем параграфе приведена методика построения графовых моделей программ ЛАПС. В параграфе 1.2 показана актуальность нахождения простых элементов графа с помощью единого алгоритма. В данном параграфе предлагается и обосновывается один из возможных путей построения такого алгоритма и соответствующей ему структуры данных. В нем используется представление графов матрицами простых путей и циклов с введением специальных операций над ними. С точки зрения дальнейшей программной реализации предлагаемого алгоритма, матрицы простых путей и циклов можно назвать матрицами символьных идентификаторов (МСИ) [158]. Это объясняется тем, что дуги графа обозначаются в виде текстовых строк (символьных идентификаторов), простые пути и циклы - в виде их последовательностей. Пусть дан граф G=(V,X), где V- конечное непустое множество вершин графа мощности л, обозначенных числами 1,2,...п, Х- некоторый набор упорядоченных пар элементов из V. Предполагается, что граф не содержит кратных дуг, а каждая из вершин графа имеет петлю. Расстоянием между вершинами графа с номерами и и v (в дальнейшем- "вершина и" или "вершина v") назовем число PG(U,V) ребер в цепи, соединяющей эти вершины. Определим матрицу простых путей и циклов графа степени р - МР, следующим образом: элементом матрицы МРу является множество всех возможных простых путей графа из вершины і в вершину у (iyf) и простых циклов (i=j) длины не более р. В случае, если соответствующего маршрута в графе нет, элементом матрицы будет пустое множество. Матрицы называются равными, если все их элементы, стоящие на пересечении одинаковых столбцов и строк, содержат одинаковые пути. Определим операцию объединения простых путей. Пусть даны пути d={VdcV,XddX} и b-{Vb V, XbdX]. Результирующий путь определится какc=dfu]b={(VduVb) cV;(XduXb) о Г}. Определим операцию умножения матриц. Для двух матриц простых путей и циклов D и
В одинаковой размерности п (их элементы, соответственно- dij и bij) результатом операции является матрица С, элементы которой определятся в виде H,L - мощности множеств bijndij, соответственно; dij, hj1 - элементы множеств dij и Ьц. Усечем полученные множества сц по следующим правилам: исключаются все, кроме одного, одинаковые элементы; исключаются те пути d, для которых внутри множества aj существует такой путь Ь, что Vbc:Vd и XbdXd. Для доказательства математической корректности предлагаемого алгоритма были сформулированы и доказаны следующие теоремы. Их доказательство опубликовано в [61]. Теорема 1. Элемент матрицы MPU,V содержит в себе все существующие в графе простые пути и циклы из вершины и в вершину v длины не более р и только их в том и только том случае, если матрица МР получена как результат умножения матриц Мх и МУ, описывающих один и тот же граф, причем х+у=р. Достаточные условия: Если исходные матрицы Мх и МУ являются матрицами простых путей и циклов степени х и у соответственно, то в матрице МР=МХ МУ элемент на пересечении строки и и столбца v содержит в себе все существующие в графе простые пути и циклы из вершины и в вершину v длины не более р и только их. Необходимые условия: Если матрица МР получена как результат р-1-ой итерации операции умножения матрицы Мгх, а элемент на пересечении строки и и столбца v содержит в себе все существующие в графе простые пути и циклы из вершины и в вершину v длины не более р и только их, то М2Х идентична М1. Теорема 2.
При степени матрицы р, равной максимальной длине простого цикла или пути, принадлежащих графу, на основании которого построена матрица первой степени, будет справедливо: МР=МР+І, МР МР- при числах р-і р+і і, принадлежащих натуральному ряду. Из сформулированных теорем можно определить следующие следствия: Следствие 1. Степень матрицы в момент, когда в результате очередной итерации операции умножения матриц результирующая матрица становится идентичной, полученной на предыдущем шаге, определит максимальную длину простого пути или цикла графа. Следствие 2. Матрица в момент, когда в результате последовательного возведения в квадрат матриц результирующая матрица становится идентичной полученной на предыдущем шаге, будет содержать все простые пути и циклы графа. Следствие 3. Множество всех возможных простых цепей и циклов графа замкнуто относительно определенной на нем операции умножения и структуры матрицы простых путей и циклов. На рис.2.4 представлен абстрактный граф и соответствующая ему МСИ. Для этой матрицы можно определить процедуру возведения в степень. При последовательном умножении (по следствию 1, см. формулу (2.7)) или возведении в квадрат (по следствию 2, см. формулу (2.8)) наступает момент, когда результат операции становится равным ее операнду (рис.2.5). Эта результирующая матрица содержит все простые пути и циклы графа. Доступ к этим элементам графа прост: все циклы содержаться в элементах главной диагонали, все возможные простые пути между вершинами графа - в остальных элементах матрицы. При нахождении по теореме 2 всех возможных простых путей и циклов графа с использованием следствия 2 будет произведено ]log2d[ (округление сверху значения логарифма) умножений, тогда как при использовании следствия 1 потребуется d умножений. Правда, в последнем случае будет получено точное значение максимальной длины простого пути или цикла, а в первом для этого значения будут получены только достижимые границы: от р/2 до р, где р - минимальная степень переставшей изменяться при умножении матрицы.
Применение сетевых технологий для программной реализации коммуникационных функций агентов информационно-управляющих систем
Как было показано в первой главе, на современном этапе развития ИУС возникают задачи сбора и обработки большого количества данных с разнородными структурой и характером. Вследствие этого возникает необходимость в объединении источников и приемников информации с помощью сетей.
При решении этой задачи учитывалась следующая особенность: сетевое взаимодействие должно реализовываться с использованием широко распространенных, удобных и наглядных средств, таких как язык гипертекстовых связей HTML {Hyper Text Markup Language), готовые информационные серверы и другие инструменты работы с гипертекстовыми документами [98]. Данный подход позволил объединить высокую наглядность гипертекста с адаптивными свойствами ЛАПС.
Поставленная задача может быть решена и без применения гипертекста. Так, для этого можно предложить к применению Socket-абстракции [136]. При этом, клиентская и серверная части выполнены в виде ФС, связывающихся друг с другом по Socket (используя библиотеку MsWindows - wsock32.dll). Этот подход имеет тот недостаток, что требуется специализированное программное обеспечение на стороне клиента, что не всегда удобно. Кроме этого, все задачи обеспечения соединения и его защищенности ложатся на ФС клиента и сервера, усложняя программы. Областью применения такого подхода можно указать связь агента, работающего под управлением ЛАПС, с интеллектуальными источниками данных, внедренными системами, работающими без участия человека.
Предлагаемый подход, использующий гипертекстовые технологии, основан на применении CGZ-сценариев (CGI - Common Gateway Interface, стандартный шлюзовой интерфейс).
Он требует использования дополнительных программ не на клиентской, а на серверной стороне (ЖгЬ-сервер). Это позволяет передать значительную часть функций по обеспечению передачи данных между клиентом и сервером на унифицированные средства Internet. Синхронизация обмена информации и отделение одного запроса от другого можно реализовать с использованием техники семафоров [13]. Структура информационного обмена приведена на рис. 3.9. На нём выделены взаимосвязанные блоки, составляющие новизну предлагаемой структуры.
Необходимо пояснить состав серверной части, общающейся с клиентом по / -протоколу. Прототипом применяемого подхода можно назвать способ разделения серверного сценария на две неравнозначные части [9].
Небольшая часть, которую можно назвать в соответствии с терминологией Internet Information Server фирмы Microsoft двигателем сценария {Script Engine), запускается с РРеб-сервера как CGT-программа. Функциони- -рующий постоянно Форт-сервер через заданные промежутки времени опрашивает семафор, в который двигатель сценария записывает данные о клиентских запросах.
По запуску сценария им выполняются два основных действия: динамическое формирование Форт-программы, предназначенной для передачи переменных окружения и данных из полей формы гипертекстового доку мента, через который произошло обращение к сценарию; присвоение значения семафору, сигнализирующему Форт-серверу о наличии запроса.
После этого сценарий ждет установки семафора со стороны сервера о том, что запрос принят. Далее клиентской стороне возвращается Web-д оку мент, содержащий информацию о приеме запроса или о возникших ошибках, а также ссылки на информацию о процессе обработки запроса. Последняя может изменяться в реальном времени, поэтому в возвращаемом документе можно предусмотреть специальные теги, обеспечивающие его автоматическое обновление. Получив запрос, сервер загружает указанные в семафоре динамически сформированные Форт-программы, передает семафору данные об их загрузке или возникших ошибках. Наличие системы семафоров и функционирование ФС как службы операционной системы одной (или группы) ЭВМ, на которой работает Web-сервер, а не как дочернего процесса сценария, составляет отличие от прототипа. Преимуществами такого способа является то, что время возврата сценарием документа определяется только временем его выполнения и не зависит от обработки запроса сервером. Это уменьшает загрузку и/еб-сервера, что актуально при большом количестве запросов, и оперативно информирует клиента о ходе обработки его данных.
На рис. 3.10 представлена структура информационных взаимосвязей в описываемой системе. Состав Форт-программ, генерируемых сценарием, может содержать любые доступные ФС команды (конечно, при условии, что они не нарушают работоспособности Форт-сервера). В них может содержаться как информация для интерпретатора Форта, так и для метаком-пилятора ядра системы, позволяющего по клиентскому запросу изменить исполняемый код (добавлять словарные статьи или убирать их). В случае возникновения ошибки в процессе интерпретации или метакомпиляции форт-программы ФС прерывает обработку текущего запроса и передает клиенту отказ от ее обработки.
По данной методике была реализована ФС, работающая с множеством Internet-термингиюв. Её демонстрационная версия доступна в Internet [66]. Двигатель сценария был реализован как программа на языке Perl [169]. Сама серверная ФС реализована на базе адаптированной версии 32-разрядного Форта для Windows [171]. Защита системы от несанкционированного доступа производится Web-сервером (используется IIS5). Работу ФС можно описать следующим образом: несколько пользователей работают за рабочими станциями Internet с единой ФС. Определения слов языка и наборы немедленно исполняемых команд передаются с пользовательских броузеров через /2ґ/л/-формьі [98]. Информация о словарном составе основного или вспомогательных словарей (уже определенные слова), ответы системы на вводимые пользователями команды, информация об ошибках передаются через динамически генерируемые html-щжументы. Разработанная система применяется для учебных целей при проведении практических работ по приобретению студентами навыков диверсификации программ или параллельной программной реализации конкурирующих друг с другом моделей.
Применение алгоритма построения и сопровождения лингвистически адаптируемых программ для контроля и диагностики информационно-управляющей системы учебного процесса
В параграфе 1.1 показана целесообразность рассмотрения учебного процесса в виде ИУС, структура которой представлена на рис. 1.6. В процессе её работы решаются неформализуемые задачи в условиях непрерывного увеличения объёма информации.
Можно выделить следующие задачи, свойственные ИУС в общем (см. главу I), и присутствующие при построении ИУС рассматриваемого типа: организация коллективной работы программистов; организация инструментальной среды программирования для контроля и диагностики ПО, создаваемого в процессе обучения; обеспечение супервизорного контроля над изменяемыми субъектом обучения данными; развитие сетевых технологий; обеспечение простого доступа к вычислительным ресурсам высокопроизводительных систем с использованием кроссплатформенных средств.
Для решения указанных задач при построении ИУС учебного процесса были использованы следующие пути: применение ФС - систем, которым свойственны черты профайлеров и эволюционный (наиболее адекватный процессу обучения) стиль (см. параграф 1.4); применение методов электронной подписи программных модулей в многопользовательской программной среде (см. параграф 3.4); применение сетевых технологий для обеспечения информационного обмена в ИУС учебного процесса (см. параграф 3.2); использование визуальных средств контроля за процессом развития лингвистического состава ЛАПС (см. параграфы 2.1, 2.2, 3.1). Место применения разработанных алгоритмов и ПО в ИУС учебного процесса показано на упрощенной структуре такой ИУС, представленной на рис. 4.12.
Областью использования приведенной совокупности методов является учебный процесс кафедры «Вычислительная техника и защита информации» Уфимского государственного авиационного технического университета в рамках проведения лабораторных работ по предметам «Контроль, диагностика и обслуживание ЭВМ и сетей», «Методы программирования и прикладные алгоритмы», «Современная элементная база отказоустойчивых (высокопроизводительных) вычислительных систем».
В зависимости от курса, на котором читается конкретный предмет, и его специфики цели и задачи каждой лабораторной работы будут различны, но общий способ взаимодействия в учебном процессе (рис. 4.12) сохраняется. Разработаны с использованием изложенных результатов лабораторные работы по следующим дисциплинам;
«Методы программирования и прикладные алгоритмы» (2 курс). Целью лабораторных работ является изучение объектно-ориентированного программирования [33], структурных способов про граммирования, назначения и функций профайлеров и отладчиков. Задачи лабораторных работ: знакомство с инструментальными средствами программирования в ФС, системой отладки. В данном цикле используются средства визуального программирования в ЛАПС (контроля развития словаря) и сетевая ФС. Преподаватель получает полный и удобный доступ ко всем элементам ФС, создаваемым и отлаживаемым студентами. Это создает возможность адекватной оценки выполненной работы и оптимизация дальнейших заданий. Применение ФС позволило сократить время на изучение функций профайлеров и отладчиков. Так, в случае использования других инструментальных средств, основные затраты времени распределялись между написанием программы на отдельном от профайлера языке программирования (порядка одного академического часа в составе четырехчасовой лабораторной работы), изучением средств тестирования и отладки (1-2 академических часа) и организации их взаимного использования. Совмещение в одной программной системе функций языка программирования, средств тестирования и отладки позволило практически исключить работы по их совмещению, сократить время изучения профайлера и отладчика, и освободившееся время (порядка двух часов) использовать для более глубокого изучения непосредственно процесса тестирования.