Содержание к диссертации
Введение
1. Анализ возможных способов организации проблемно-средств автоматизации проектирования дискретных вычислительных систем ii
1.1. Задачи проектирования дискретных вычислительных систем и автоматизация процесса проектирования II
1.2. Анализ структур проблемно-ориентированного программного обеспечения 26
1.2.1. Организация библиотек прикладных программ 27
1.2.2. Организация пакетов прикладных программ 28
1.2.3. Организация систем программирования с проблемной ориентацией 31
1.2.4. Организация интегрированных систем програшшрования . 32
1.2.5. Организация инструментальных систем программирования 34
1.2.6. Сравнительный анализ проблемно-ориентированного программного обеспечения 36
1.3. Выводы 42
1.4. Цель и задачи работы 43
2. Модели организации проблемного математического обеспечения в модеяирувдем комплексе 45
2.1. Классификация проблемных областей в моделирующем комплексе 45
2.2. Структура вычислительных проблемных областей 54
2.2.1. Модель интегрированной вычислительной проблемной области, организованной в виде информационной системы 54
2.2.2. Модель интегрированной вычислительной проблемной области, организованной в виде алгоритмической системы 59
2.2.3. Модель неинтегрированнои вычислительной проблемной области, организованной в виде классификации онной. системы 60
2.2.4. Процесс решения методоориентированной задачи в вычислительной проблемной области 62
2.2.5. Оценки времени планирования 65
2.2.6. Процесс решения информационно-справочной и генерационной задачи в вычислительной проблемной области 67
2.3. Структура оценочных проблемных областей 71
2.3.1. Модель оценочной проблемной области, организованной в виде грамматической системы 73
2.3*2. Модель оценочной проблемной области, организованной в виде табличной системы 75
2.3.3. Процесс решения методоориентированной задачи в оценочной проблемной области 77
2.4. Структура специализированных проблемных областей. 81
2.4.1. Модель специализированной проблемной области 81
2.4.2. Процесс решения функциональной задачи в специализированной проблемной области 81
2.5. Выводы 83
3. Языковые срещства проблемно-ориентированного программного обеспечения моджйрувдего комплекса . 86
3.1. Функции, структура и состав языковых средств 86
3.2. Средства описания и коррекции моделей проблемных областей ,... 95
3.2.1. Утверждения описания моделей вычислительных и специализированных проблемных областей 97
3.2.2. Утверждения описания моделей оценочных проблемных областей 101
3.2.3. Препроцессорные утверждения 105
3.3. Средства решения задач 114
3.3.1. Доступ к модели проблемной области 115
3.3.2W. Утверждения подготовки и решения функциональной и методоориентированной задачи 116
3.3.3, Утверждения подготовки и решения информационно-справочной и генерационной задачи 123
3.4. Выводы 125
4. Программная реализация: проблемно-ориентированного программного обеспечения в модеяирущем комплексе алсим-2 127-
4.1. Структура проблемно-ориентированного программного обеспечения 127
4.2. Реализация операторов интерфейса с языками программирования и моделирования 131
4.2.1, Синтаксис и семантика операторов интерфейса . 131
4.2.2. Реализация операторов интерфейса 134
4.3. Реализация проблемного препроцессора 136
4.4. Реализация средств описания модели проблемной области 140
4.5. Реализация средств описания модели задачи 144
4.6. Реализация средств решения задачи 148
4.7. Практическое использование проблемно-ориентиро-рованного обеспечения 154
4.7.1. Задача последовательного планирования эксперимента 155
4.7.2. Задача анализа систем массового обслуживания 156
4.7.3. Задача анализа надежности оборудования сложных технических систем 159
4.7.4. Внедрение результатов работы 159
4.8. Выводы 160
Заключение 162
Список основной использовабной литературы
- Организация пакетов прикладных программ
- Модель интегрированной вычислительной проблемной области, организованной в виде алгоритмической системы
- Утверждения описания моделей вычислительных и специализированных проблемных областей
- Реализация операторов интерфейса
Организация пакетов прикладных программ
Первым из способов организации проблемно-ориентированного программного обеспечения были библиотеки прикладных программ, содержащие прикладные программы "в виде отдельных программ, которые могут вызываться из любой другой программы"
Постановку задачи в БПП и процесс ее решения можно описать в виде кортежей - соответственно, множества исходных и искомых данных задачи, а оС - алгоритм преобразования #v в » реализуемый через прикладные программы, находящиеся в библиотеке. Каждая программа имеет имя и систему параметров, которые условно разбиваются на входные и выходные. Пользователь должен указать последовательность имен программ, с помощью которых строится алгоритм l , задать для них фактические параметры и осуществить вызов этих прикладных программ. Можно выделить этапы, свойственные для формулирования и решения задачи в БІШ: неформальная постановка задачи; формализация постановки; алгоритмизация; программирование; подготовка исходных данных; синтаксическая отладка; семантическая отладка; решение задачи.
В процессе синтаксической отладки может происходить возврат на программирование, а во время семантической отладки - на алгоритмизацию или программирование.
Примерами библиотек прикладных программ могут служить библиотека научных программ на ФОРТРАНе / 97 /, статистические программы для социологов SPSS / 129 /, библиотека программ статистической обработки на языке ИНФ / 81 /, библитека программ статистической обработки STAT4L / ізо /.
Следующим этапом автоматизации процесса использования проблемно-ориентированного программного обеспечения стало создание ІШП, представляющих собой "совокупность программ, предназначенных для решения определенного класса задач, к которым обращаются при помо-ци простой символики (языка). Для решения задачи пользователь задает некоторую управляющую информацию, указывает конкретные условия [применения пакета для решения данной задачи (например, последова 29 тельность выполнения программ из пакета, режимы использования отдельных программ и т.д.) " / 105, с. 77 /.
Созданием ЇЇПП преследовалась цель максимального освобождения пользователя от необходимости представлять алгоритм решаемой задачи в форме программы, предназначенной для выполнения на ЭВМ, и сохранения за ним лишь обязанности формулировать с помощью некоторой проблемной символики условия Z ,, % % конкретной решаемой задачи. В отличие от БШ во время постановки задачи в ІШП отсутствуют этапы алгоритмизации, программирования и семантической отладки и в процессе синтаксической отладки возможен возврат на повторную подготовку исходных данных. Упрощение процесса постановки задачи в ШШ связано с тем, что во-первых, универсальный алгоритм U , охватывающий решение всего класса рассматриваемых задач, разрабатывается заранее специальным коллективом, как правило, включающим в себя высококвалифицированных специалистов в проблемной (предметной) области; во-вторых, входной язык ШШ позволяет работать в терминах проблемной области, не требуя от пользователей знания языков программирования.
В пакетах прикладных программ каждой разрешимой задаче Xf, z обычно соответствует прикладная программа, реализующая алгоритм решения задачи. В зависимости от особенностей выбора этой программы можно выделить ШШ с выбором по классификатору и с выбором по сопоставлению.
В первой разновидности ШШ выбор прикладной программы осуществляется в соответствии с некоторым набором классификационных признаков. При этом строится классификационное дерево, концевым вершинам которого соответствуют прикладные программы.
Модель интегрированной вычислительной проблемной области, организованной в виде алгоритмической системы
Функцией интерпретации Ух . зависящей от статуса Sx переменной ос , элементов множеств» и определяющей выбор информационного объекта, отождествляемого переменной, и местоположение информации, служащей для заполнения этого ИО (допускается заполнение информационного объекта информацией, принадлежащей множеству Ю/ постановки задачи или полученной в результате расчета значения переменной х ), В зависимости от значения Sx функция интерпретаций может выбирать ИО следующих типов
Для У a G Л определено: множество входных проблемных переменных оператора ХЛ - % J множество выходных проблемных переменных оператора Уа Х ; предикат применимости оператора Ра , зависящий от переменных ножества № и множества Функций & и указывающий на возмож-ость участия оператора и инцидентных ему связей в процессе решения адачи;
Функция интерпретаций оператора Va » зависящая от элементов дожества & и определяющая детализацию оператора. С ее помощью юуществляется процесс выбора либо одного из функциональных отобравши /а ( программных модулей), переводящих множество значений JCa в множество значений Уа , либо сопряженной ВПО Qa . Во ітором случае в Функции интерпретации для сопряженной ВПО Qa задается кортеж Qa;d?cL, Уа, Пь , / а гл-е &сг имя сопряженной 210; cZa , У а - множества исходных и искомых данных, участвующих І постановке задачи в ВПО йа ; Ра - отображение множества cZ a \ множество && ; fa. - отображение множества %. в множество У а . Последние отображения обладают тем свойством, что Ра и Ра Функциональны и всюду определены на $ % и &а , соот-$етственно.
Информационная система &, Л представима в виде двудоль-юго ориентированного графа / 5Г: /, называемого информационным \рафом.
Информационный граф (ИГ), описывающий информационные связи Функциональных операторов, с одной стороны, и проблемных переменных, І другой, имеет, где PjS f % xJ/JC/ U (Лх ОС) » причем для каждого ребра графа выхо-шщего из вершины V и входящего в вершину % должно выполнять
Пара с/ о называется функционально разрешимой (не разрешимой) в ИГ Gf % если для нее существует (не существует) алгоритм
Рассмотренная модель ИШО ИС имеет недостаток, не позволяющий применять ее при организации произвольных проблемных областей. Эта модель не позволяет конструировать циклические алгоритмы решения методоориентированных задач, что бывает необходимо при организации ряда проблемных областей (например, ПО планирования эксперимента).
Модель ИШО АС обеспечивает решение указанной выше проблемы, сохраняя возможность сопряжения с другими ВПО.
Под моделью ИШО АС будем понимать кортеж Xf -$ , где JC, » М - множества переменных и операторов, определяемые аналогично модели ИШО ИС. Единственной особенностью модели является введение в нее множества функций следования {&%} г$Л » где #, связана с оператором и зависит от переменных множества JC , ставя в соответствие значениям элементов множества элемент
Алгоритмическую систему можно описать в виде графа (?2 ?Д, Rz , где / $ # Я определяет порядок выполнения операторов. В графе одна из вершин ам J? отмечается как начальная вершина графа, с которой начинается выполнение операторов, и выделяется множество конечных операторов Л J? , обладающее тем свойством, что
Граф, обладающий такими свойствами, назовем алгоритмическим графом (АГ). Модель неинтегрированной вычислительной проблемной области, организованная в виде классификационной системы
Модели ВПО, построенные на основе ИС и АС, обеспечивают пользователей Ж возможностью формулирования методоориентированных постановок задач в режиме проблемного исполнения. Однако этот режим не позволяет проектировщику, компетентному в проблематике ВПО, самому выбрать наиболее адекватный, с его точки зрения, метод решения задачи, а также реализующие этот метод алгоритмы и модули конкретной ШО. Модель ВПО, построенная на базе КПС, ориентирована именно на такую группу пользователей.
Модель НВПО КЛС обеспечивает: решение информационно-справочных задач TG , представляемых в формализованном виде L, Т0 , в„ Ю и позволяющих пользователю получить справочную информацию о структуре, назначении, составе ВПО, заложенных в ней методах решения задач, конкретных алгоритмах и модулях;
Утверждения описания моделей вычислительных и специализированных проблемных областей
В приведенном структурированном утверждении задается имя ПО, ее тип в соответствии с классификацией, введенной в параграфе 2.1, а также перечисляются утверждения, описывающие модель проблемной области.
Модель проблемной области, сформированная с помощью структурированного утверждения описания модели, заносится в библиотеку исходных текстов моделей и затем с помощью транслятора с языка АЛСИМ-2/2 (последний при необходимости динамически запускает транслятор с языка определения данных) обеспечивается перевод этой модели в рабочую программу с занесением ее в библиотеку рабочих программ моделей ПО.
Для коррекции какой-либо из моделей проблемных областей требуется выбрать ее из библиотеки исходных текстов моделей ПО, скорректировать параметры требуемых утверждений, записать модель обратно в библиотеку и оттранслировать новое описание модели в библиотеку рабочих программ моделей ПО.
В утверждении описания паспорта модели ПО указанного выше типа задается количество переменных и операторов, представленных в модели. В утверждении описания паспорта переменной указывается имя переменной и ее функция интерпретации, заданная препроцессорным утверждением.
В отличие от описанных выше утверждений формат утверждения описания паспорта оператора зависит от типа модели ПО, к которой относится определяемый ею оператор.
Для оператора модели ЕЛО, представленной в виде ИС, в утверждении описания паспорта указываются имя оператора, имена входных и выходных переменных оператора, предикат применимости и функция интерпретации оператора, заданные с помощью препроцессорных утверждений. для оператора модели ВПО или СПО, представленной в виде АС, в утверждении описания паспорта оператора задается помимо перечисленных для ВПО ИС данных функция следования оператора. Эта функция определяется в виде препроцессорного утверждения.
Для описания модели ПО, относящейся к типу НВПО КЯС, задаются утверждение описания паспорта модели _ПАСПОРТКЛС и утверждения описания паспортов компонент модели - классификационных групп (КГ) .ГРУППА и групп функциональных модулей (ШЛ) . Последовательность, содержащая утверждение JIACnOPTKJIC и множество утверждений количество которых соответствует числу уровней классификации в создаваемой модели ПО, обеспечивает однозначное задание схемы БД, определящей модель НВПО КЯС. Использованием множества утверждений _МОДУЛЬКЯС, количество которых определяется числом модулей, включаемых в модель ПО, достигается загрузка описанной ДЦ.
В утверждении описания паспорта модели НВїїО КІС указываются имя модели, которое в дальнейшем используется для идентификации базы данных, и имя файла, в котором должны быть размещены текстовые описания методов, алгоритмов, модулей, включаемых в проблемную область. Файл имеет последовательную организацию и его элементы должны быть упорядочены в соответствии с последовательностью используемых в описании модели утверждений
В утверждении описания паспорта классификационной группы задается имя группы и список имен классификационных переменных, связанных с этой группой. При этом последним элементом каждой классификационной группы считается элемент текстового описания, имя которого выбирается системой по умолчанию.
Утверждение описания паспорта группы функциональных модулей задает информацию для заполнения экземпляра группы функциональ ных модулей. Параметрами утверждения являются имя модуля, имена его входных и выходных переменных, а также квалификация модуля, определяющая его место в классификационной схеме ПО посредством задания значений классификационных переменных.
Для описания оценочной проблемной области, модель которой представлена в виде ТС, задаются утверждение описания паспорта модели ПО _ДАСПОРТТС и утверждения описания паспортов компонент модели ПО - переменных „ПЕРЕМЕННАЯ и типов вершин
Реализация операторов интерфейса
Для утверждения „ИМИТМОДЕЛЬ построение модели задачи осуществляется в следующей последовательности: с помощью утверждения „ПАСЯІ0РТЗ подготавливаются множества имен известных и искомых переменных задачи / , Х2 ; для переменной ccf $, , описывающей структурную модель (информационный объект типа ориентированного графа), с помощью утверждения J3HA4H0 формируются ИО, являющиеся компонентами структурной модели; сформированные информационные объекты компонуются в структурную модель автоматически по мере их создания с помощью утверждения _ЗНАЧИ0 или при явном указании необходимости компоновки с помощью утвепждения _ВКЛИ0. На этом этапе из структушой модели можно удалять указываемые компоненты с помощью утверждения _ИСКПИ0 и изменять значения конкретных компонент структурной модели с помощью утверждения
Для создания и заполнения ИО, являющегося компонентой (вершиной) структурной модели, в утверкдении _ЗНАЧИ0 кроме значений параметров, рассмотренных ранее, требуется указать имя, присваиваемое компоненте, индикант, определяющий название типа вершины (компоненты), и имя структурной модели, в которую включается компонента. Последний параметр может не указываться. В этом случае созданная компонента приобретает статус автономного ИО АІСИМ-2/2 и может быть включена в произвольную структурную модель утверждением _ВКЛИ0. Кроме того задание списка значений в случае заполнения ИО, являющегося компонентой структурной модели, имеет следующие особенности: список значений задается всегда в виде списка параметров со значениями; в список параметров обязательно включается параметр связи создаваемой компоненты с другими компонентами структурной модели. Этот параметр, идентифицируемый ключевым словом (именем) СВЯЗИ, должен содержать информацию об именах компонент, с которыми связывается рассматриваемая компонента, а также о Физическом смысле характеристик этих связей и о числовых значениях этих характеристик. Информация об именах связываемых компонент, характеристиках связей и их значениях должна задаваться в рамках значений подпараметров, идентифицируемых ключевыми словами (именами) ИМЯСВЯЗИ, ВВДСВЯЗИ и ЗНАЧСВЯЗИ.
4. До начала работы утверждения J/ІОДЕЛИРОВАТЬ для переменных из множества / (кроме X? ) модели задачи утверждения _ИМИТМОДЖЬ должны быть созданы и заполнены информационные объекты. Эти действия производятся утверждениями _ЗНАЧИ0 и _ИЗМИ0, аналогично действиям, предшествующим выполнению утверждения ПРОСЧИТАТЬ.
5. Для утверждения JPEUMTb построение модели задачи зависит от типа проблемной области, в которой формулируется задача: для ВПО модель задачи описывается как объединение моделей задач для утверждений АЛГОРИТМ и ПРОСЧИТАТЬ ; для 0П0 модель задачи формируется как объединение моделей задач для утверждений „ЙМЙТМОДЕЛЬ и МОДЕЛИРОВАТЬ ; для (310 паспорт задачи формируется аналогично утверждению АЛГОРИТМ, а значения информационных объектов, отождествляемых с переменными из моделей задачи, могут заполняться не только способами, рассмотренными для утверждения ПРОСЧИТАТЬ, но и из баз данных проекта» В этом случае в списке значений утверждения _ЗНАЧИ0 указываются имена элементов групп базы данных, определяющие квалификацию поиска информации, и значения этих элементов групп. При этом множество имен элементов групп должно быть описано в функции интерпретации соответствующей переменной в модели ПО. Имена элементов групп, заданных в утверждении _ЗНАЧИ0, но не описанных в функции интерпретации, игнорируются при поиске информации. Информация выбирается из указанных в функции интерпретации элемента или элементов группы, причем экземпляры группы определяются в процессе поиска информации согласно квалификации поиска. При этом вслед за выбором каждого экземпляра создаются однотипные ИО, структура которых определена в функции интерпретации переменной. Каждый созданный ИО за полняется информацией из соответствущего экземпляра и включается в состав ИО, имеющего тип стека,
Утвервдения решения задач, независимо от режима их использования, в результате работн Формируют следующие структуры данных.
Утверждение JUirOPHTM создает структуру данных, представляющую собой последовательность имен операторов, участвующих в решении задачи //t . Имя этой структуры данных задается в соответствии со значением параметра утвервдения.
Утверждение _ИМИТМОДЕЯЬ генерирует текст программы на языке моделирования МК АЯСИМ-2, записываемый в библиотеку имитационных моделей под именем, указанным в качестве параметра утвервдения.
Утвервдения „ПРОСЧИТАТЬ, МОДЕЛИРОВАТЬ и „РЕШИТЬ создают и заполняют значениями информационные объекты для переменных из множества Xz , определенных в моделях задач, соответственно, для утверждений _АЛЛ)РИШ,_ИМИТМОДЕЛЬ и „РЕШИТЬ.