Инструментальная распределенная вычислительная сатурн-среда

in pyramidal networks". International journal on information 10. Kiselyova N., Gladun V., Vashchenko N.. "Computational

theories & applications. FOI-COMMERCE, Sofia, Vol. 7, №3 - 2000, Materials Design Using Artificial Intelligence Methods". Journal of Al-pp. 103-109. loys and Compounds. 279(1998), pp. 8-13.

ИНСТРУМЕНТАЛЬНАЯ РАСПРЕДЕЛЕННАЯ ВЫЧИСЛИТЕЛЬНАЯ САТУРН-СРЕДА

Г.А. Опарин, А.Г. Феоктистов

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

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

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

принимается решение о дальнейшем направлении исследований.

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

Многочисленные, в определенной части противоречивые, требования к системным средствам организации вычислительных работ приводят к необходимости замены программирования моделей, алгоритмов и технологических схем их исследования автоматизированным процессом конструирования из заранее созданных и допускающих автономную трансляцию и отладку модулей. Желательно, чтобы это конструирование основывалось на автоматическом получении и сборке из модулей схемы решения задачи (СРЗ) и, в конечном счете, расчетной программы по заданным пользователем постановкам исследовательских задач, включающим описание имеющихся данных и цели расчета. В этой связи следует отметить, что популярные математические системы (MATLAB, MATHCAD, MAPLE, DERIVE, MATHEMATICA и др.), несмотря на их многочисленные достоинства, являются, по сути дела, мощными интеллектуальными калькуляторами, которые не обеспечивают необходимый для специалиста по управлению общесистемный уровень автоматизации расчетных работ при исследовании динамики и проектировании уникальных СУС.

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

зация данных и знаний, управление проектными данными, организация распределенных вычислений. Увязанные между собой в единое целое, они составляют методологическую основу целевой специализированной САТУРН-технологии построения пакетов знаний и решения на их основе задач анализа и проектирования СУС [1].

В рассматриваемой проблемной области (ПО) модульность - это одно из центральных структурных свойств моделей, алгоритмов и методик их исследования, позволяющее на концептуальном уровне создавать сложные модели, алгоритмы и методики на основе ограниченного множества относительно простых и независимо создаваемых стандартных блоков.

В структуре алгоритмического знания о моделях, алгоритмах и методиках их исследования выделяются три концептуально обособленных слоя: вычислительных, схемных и продукционных знаний, над которыми формируются постановки задач и так называемые процессоры обработки знаний. Каждый слой оперирует своим набором понятий. Иерархия слоев устроена так, что понятия продукционного слоя раскрываются через (имеют ссылки на) понятия схемного слоя, которые, в свою очередь, раскрываются через понятия вычислительного слоя.

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

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

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

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

САТУРН-технология обеспечивает возможность группирования объектов ПО (операций, параметров, продукций) в надслойные единицы знания, называемые процессорами. Процессоры - это структурно-обособленные, сложно организованные совокупности знаний, соответствующие, например, подсистемам математической модели и/или семейству близких по параметрам и операциям методам исследования. Процессоры обладают набором встроенных объектов, которые можно использовать при постановке исследовательских задач, их трансляции, исполнении, подготовке вариантов исходных данных, взаимодействии с базой проектных данных и других действий на этапах применения накопленных знаний. Техника применения знаний в процессоре для решения задач анализа динамики и проектирования СУС базируется на методах сборочно-конкретизирующего (в смысле А.П. Ершова) программирования.

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

ВЫЧИСЛИТЬ <У?> ИЗ <Х?> ИСПОЛНИВ <Б?> ПРИ УСЛОВИИ <о?>,

где X, У - множества входных и выходных параметров задачи соответственно; Е - последовательность операций для получения У из X; символ «?» означает неопределенность в помеченном этим символом элементе постановки задачи или его полное отсутствие; Q - ограничения на СРЗ, позволяющие выделить требуемое решение в случае неединственности разрешающей схемы.

Для решения задач с такого рода постановками отмеченная неопределенность снимается на стадиях обработки постановки задачи или на этапе непосредственного решения задачи - счете. Такой процесс снятия неопределенности называется планированием. Планирование - это один из важнейших этапов САТУРН-технологии. Необходимая для планирования информация извлекается из описания схемного и продукционного слоев знаний и представляется в виде системы логических уравнений специального вида [2], решение которой определяет требуемую СРЗ. В

зависимости от информативности постановки задачи (числа и типа неопределенностей в ней) применяются различные алгоритмы планирования или их комбинации. Этим достигается практическая приемлемость скорости построения СРЗ.

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

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

Методологической основой эффективного взаимодействия исследователя с компьютером в САТУРН-технологии при накоплении знаний и проведении вычислительных экспериментов является использование методов графической визуализации. Визуальный графический язык [7] позволяет фиксировать продукт мыслительной деятельности непосредственно в том виде, как он складывается традиционно в сознании научного работника или исследователя-проектировщика - специалиста по управлению движением.

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

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

Управление проектными данными в САТУРН-технологии включает такие основные функции, как поддержка иерархических описаний, манипулирование составными объектами, обработка множественных представлений, интерфейс с языками программирования и прикладными программами, поддержка целостности данных и ряд других функций.

Постоянный рост сложности математических моделей СУС, потребность проведения крупномасштабных расчетов, нетиражируемость отдельных прикладных модулей приводит к необходимости организации распределенных вычислений с целью использования суммарных вычислительных ресурсов территориально удаленных (подключенных к сети Интернет) компьютеров в рамках одной прикладной ресурсоемкой вычислительной задачи [3].

Зарегистрированные в САТУРН-технологии прикладные вычислительные модули могут располагаться на разных компьютерах сети. В этом случае знания о модуле (спецификация п/п) расширяются сведениями об адресе e-mail или ftp владельца модуля, местоположении на диске, командной строке для его вызова, а также сведениями о вычислительном ресурсе (типе процессора, объеме доступной оперативной памяти и др.). База знаний устанавливается на одном из компьютеров сети. На этом компьютере, который назовем главным (остальные будут называться подчиненными), выполняется постановка исследовательской задачи, синтезируется в общем случае параллельный план решения и осуществляется управление процессом ее решения. Занесение информации в базу знаний и исполнение прикладных модулей обеспечивается с помощью четырех интеллектуальных агентов: отправки и приема знаний, инициализации и исполнения модуля. Агенты отправки знаний устанавливаются на подчиненных компьютерах и обеспечивают формирование и отправку (по директиве пользователя) на главный компьютер сообщения с подготовленным блоком знаний. Агент приема знаний главного компьютера обрабатывает (в порядке поступления) сообщения, заносит полученный блок знаний в базу знаний и формирует отправителю сообщение (подтверждение) с кодом ответа завершения своей работы. Агент инициализации модуля главного компьютера в соответствии с планом решения задачи формирует сообщения с исходными данными на исполнение требуемых модулей и принимает сообщения с результатами расчета. Агент исполнения модулей подчиненного компьютера обрабатывает (в порядке поступления) полученные сообщения, приводит (при необходимости) исходные данные к требуемому формату, осуществляет запуск и контролирует исполнение модуля, формирует отправителю сообщение с выходными данными и кодом завершения работы модуля.

Важно, что САТУРН-технология полностью скрывает от исследователя-проектировщика наличие сетевых коммуникаций, которые не оказывают существенного влияния на производительность распределенной вычислительной системы в целом при усло-

вии, что время исполнения модулей существенно больше времени передачи сообщений.

Программную систему (совокупность знаний и средств их обработки), построенную на основе изложенных и увязанных в единое целое методологических принципов, мы определяем как пакет знаний, точнее программно-модельно-методических знаний о классе вычислительных задач анализа динамики и проектирования СУС. Для автоматизации разработки, отладки, эксплуатации, модификации и комплек-сирования распределенных пакетов знаний разработан ряд инструментально-технологических сред, объединенных общим названием САТУРН и единым языком SATL [4], но ориентированных на разные типы операционных систем и базовых языков программирования [5-7]. САТУРН - это диалоговая интегрированная системная среда, в рамках которой инструментально поддерживаются все этапы САТУРН-тех-

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

Список литературы

1. Васильев С.Н., Опарин Г.А. Интеллектуальный подход к автоматизации проектных расчетов сложных управляемых систем // Оптимизация, управление, интеллект. - Иркутск: ИДСТУ СО РАН, 2000. - №4. - С.111-126.

2. Опарин Г.А., Новопашин А.П. Логическое моделирование сложных вычислительных систем // Проблемы управления и моделирование в сложных системах. - Самара: ИПУСС РАН, 1999. - С.77-82.

3. Коваленко В., Корягин Д. Вычислительная инфраструктура будущего // Открытые системы, 1999. - №11-12. -С.45-53.

4. Журавлев А.Е., Опарин Г.А. 8АТЬ - язык для представления и использования пакетных знаний // Программные продукты и системы, 1996. - №3. - С.26-35.

5. Опарин Г.А., Феоктистов А.Г., Богданова В.Г. Системная САТУРН-среда пакетов знаний // Тр. II междунар. симп.: Интеллектуальные системы (ИНТЕЛС'96) - М.: Изд-во РУДН-ПАИМС, 1996. - Т.2. - С.99-104.

6. Опарин Г.А., Феоктистов А.Г., Феоктистов Д.Г., Журавлев А.Е. Инструментальные средства построения и эксплуатации пакетов знаний // УСИМ, 1997. - №1-3. - С.138-143.

7. Опарин Г.А., Феоктистов Г.А., Богданова В.Г. Графическая системная САТУРН-среда пакетов знаний // Сб. тр. III междунар. симп.: Интеллектуальные системы (ИНТЕЛС'98). -М.: ООО ТВК, 1998. - С.224-227.

ОПТИМИЗАЦИЯ ПАРАЛЛЕЛЬНО-КОНВЕЙЕРНОГО ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА В СКАНЦЕНТРЕ

В.В. Хашковский

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

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

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

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

Обработка документов в сканцентре происходит параллельно-конвейерным способом, при котором документ может проходить следующие этапы обработки: сканирование, сегментация, распознавание, верификация, экспорт. Этапы обработки документов в сканцентре подробно рассмотрены в [2].

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