ЛЕКЦИЯ 3 ФУНКЦИИ МОДУЛЕЙ ППП 4 ВНЕШНЕЕ УПРАВЛЕНИЕ ПАКЕТОМ 4 ФУНКЦИИ УПРАВЛЯЮЩИХ И ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ 4 ВХОДНОЙ ЯЗЫК ППП
ВНЕШНЕЕ УПРАВЛЕНИЕ ПАКЕТОМ 4 Целью каждого применения ППП (сеанса работы с пакетом) является вычисление значений некоторых данных при условии, что значения других данных известны. 4 Для этого нужно привести модель в некоторое исходное состояние S o (ввести или указать другим способом значения части данных) 4 затем выполнить переход в одно из состояний S kl, S k2..., в которых значения искомых данных будут определены. 4 Управление пакетом со стороны пользователя (внешнее управление) должно обеспечить выполнение описанного процесса.
формирование задания 4 Это задание может быть весьма различным как по содержанию, так и по форме. 4 Для каждого пакета, как правило, используется свой входной язык.
варианты внешнего управления 4 При запуске пакета пользователь вводит все необходимые данные или заблаговременно помещает их в файл и указывает имя файла при запуске пакета. При выполнении пакета вычисляются все остальные данные, и результаты выводятся на экран или печатающее устройство. 4 Пакет, работающий по такому варианту управления, можно рассматривать как прикладную программу, поскольку используется всегда один и тот же комплект входных данных и вычисляются значения одних и тех же переменных, обрабатывающие модули выполняются в фиксированной последовательности. 4 Этот вариант приемлем, когда функции пакета просты и варьирования этими функциями не требуется. 1
варианты внешнего управления 4 После запуска пакета пользователь вводит значения некоторых данных, затем указывает, какие обрабатывающие модули и в какой последовательности нужно выполнить. 4 В этом случае пользователь определяет входное состояние и все последующие состояния модели предметной области, т.е. всю процедуру решения задачи. 4 Соответствующие средства управления (входной язык пакета) называют процедурно-ориентированными. 4 Пользователь может вводить программу на входном языке всю сразу или же по частям, просматривая получаемые результаты и вводя новые данные. 2
варианты внешнего управления 4 После запуска пакета пользователь вводит значения некоторых данных 4 затем указывает, какие данные требуется вычислить, т.е. определяет цель применения пакета. 4 Управляющая программа пакета должна найти путь на графе переходов в одно из состояний, соответствующих цели пользователя, и вызвать необходимые обрабатывающие модули или же установить недостижимость заданной цели. 4 Входной язык такого пакета называют проблемно- ориентированным. Средствами этого языка описывается задача (проблема), подлежащая решению, остальные функции управления реализуются в самом пакете. 3
варианты внешнего управления 4 Дальнейшим развитием проблемной ориентации внешнего управления будет режим, в котором пользователь указывает только цель применения пакета (т.е. какие данные требуется вычислить). 4 Затем в ходе диалога, инициируемого управляющей программой пакета, выясняется, значения каких данных известны пользователю, запрашиваются значения этих данных, и решается поставленная задача. 4
Механизм динамической компоновки 4 дает возможность пользователю помещать информацию, созданную одной прикладной программой, в документ, формируемый другой. 4 При этом пользователь может редактировать информацию в новом документе средствами того продукта, с помощью которого этот объект был создан (при редактировании автоматически запускается соответствующее приложение). 4 Запущенное приложение и программа обработки документа-контейнера выводят на экран "согласованные" меню, часть пунктов которого принадлежит одной программе, а другая часть – другой.
Механизм динамической компоновки 4 данный механизм позволяет переносить OLE – объекты из окна одной прикладной программы в окно другой. 4 В этой технологии предусмотрена также возможность общего использования функциональных ресурсов программ: например, модуль построения графиков табличного процессора может быть использован в текстовом редакторе. 4 Недостатком данной технологии является ограничение на размер объекта размером одной страницы.
Технология OpenDoc 4 представляет собой объектно- ориентированную систему, базирующуюся на открытых стандартах фирм-участников разработки. 4 В качестве модели объекта используется распределенная модель системных объектов, разработанная фирмой IBM для OS/2. 4 Предполагается совместимость между OLE и Opendoc.
ФУНКЦИИ УПРАВЛЯЮЩИХ И ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ ПАКЕТА 4 Функция обрабатывающих модулей состоит в реализации алгоритма преобразования значений входных данных в результаты - значения выходных данных. 4 Анализ модели предметной области и внешнего управления пакетом позволяет уточнить функции управляющих и обслуживающих модулей, т.е. системного наполнения пакета. В общем случае разделение на управляющие и обслуживающие модули носит условный характер.
УПРАВЛЯЮЩИЕ МОДУЛИ 4 Это модули, выполняющие действия по изменению состояния предметной области, поддержанию и реализации функциональных связей и связей по определению, а также преобразованию самой модели предметной области (МПО), если используется динамическая модель.
УПРАВЛЯЮЩИЕ МОДУЛИ 4 управляющая часть пакета должна обеспечить выполнение четырех основных функций: –F1 - Формирование начального состояния МПО. –F2 - Формирование очередных состояний МПО. –F3 - Управление вызовом и выполнением обрабатывающих модулей. –F4 - Преобразование динамической модели предметной области.
ФУНКЦИИ УПРАВЛЯЮЩИХ МОДУЛЕЙ 4 Первая функция выполняется однократно при запуске пакета, ее часто называют инициализацией пакета. 4 Остальные функции могут выполняться многократно в соответствии с требованиями пользователя.
ФУНКЦИИ УПРАВЛЯЮЩИХ МОДУЛЕЙ 4 Функции управления различаются объектом управления. 4 Для первой, второй и четвертой функций объектом управления является представление модели предметной области в памяти ЭВМ. 4 Вторая функция распадается на ряд подфункций
Формирование очередных состояний МПО 1 Определение модуля, подлежащего выполнению, и проверка его выполнимости.
Формирование очередных состояний МПО 2 Определение последовательности вызовов модулей, ведущей к цели, установленной пользователем (для ППП с проблемно-ориентированными средствами внешнего управления).
Формирование очередных состояний МПО 3 Подготовка входных данных (размещение в памяти, формирование списков параметров) для очередного вызываемого модуля.
Формирование очередных состояний МПО 4 Вызов обрабатывающего модуля.
Формирование очередных состояний МПО 4 5 Анализ и регистрация в МПО результатов вызова обрабатывающего модуля.
Формирование очередных состояний МПО 4 6 Управление памятью для размещения значений данных.
ФУНКЦИИ УПРАВЛЯЮЩИХ МОДУЛЕЙ 4 Рассмотренные функции не являются управляющими модулями пакета. 4 В конкретном ППП отдельные функции могут не потребоваться, для реализации других функций необходимо будет разработать несколько модулей.
ФУНКЦИИ УПРАВЛЯЮЩИХ МОДУЛЕЙ 4 Если внешнее управление организовано по первому из вариантов, когда для фиксированного списка входных данных вычисляются все остальные данные, отпадает необходимость в выполнении функций 1 и 2 при формировании очередных состояний. 4 Если все обрабатываемые данные одновременно размещены в основной памяти, не требуются функции З и 6.
ФУНКЦИИ ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ 4 Обслуживающие модули должны обеспечить связь управляющей части пакета с пользователем, связь с данными (файлами), не входящими в информационную базу пакета. 4 В ряде случаев может возникнуть потребность в выполнении различных согласующих функций для связи управляющих модулей с обрабатывающими
НАЗНАЧЕНИЕ ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ сводится к обеспечению: интерфейса с пользователем интерфейса с файлами и базами данных, внешними относительно ППП внутренних согласующих функций, например, по формам представления данных
ОБЕСПЕЧЕНИЕ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 4 Интерфейс с пользователем должен обеспечить – получение (ввод) информации (сообщений), подготавливаемой пользователем, –и вывод сообщений, формируемых пакетом и представляемых в форме, удобной для восприятия пользователем, например в виде текстов, выводимых на экран или печатающее устройство.
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 1 - справочные функции, в том числе вывод справок о составе и состоянии модели предметной области, возможностях пакета в целом и в каждом состоянии модели предметной области.
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 2- прием от пользователя и контроль управляющей информации (команд, программы на входном языке).
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 3 - ввод данных, представляемых пользователем, и вывод данных (результатов вычислений) на экран или печатающее устройство.
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 4 - вывод информационных сообщений о возникающих при выполнении пакета особых ситуациях (ошибках).
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 4 Эти четыре группы функций (справочная, по управлению, по данным и информационная) могут реализовываться последовательно или параллельно. 4 При последовательной работе пользователь поочередно обращается к различным функциям, т.е. либо получает справки, либо вводит управляющую информацию, либо вводит новые данные, либо просматривает результаты расчетов.
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 4 Параллельная работа предусматривает возможность, например, обращения к справочной функции в процессе ввода управляющей информации или данных.
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 4 Очевидно, что модули, реализующие эти функции, выполняются последовательно, но допускаются прерывания, например, для ввода управляющей информации, для получения справки и возврат для продолжения ввода. 4 Для параллельного выполнения разнородных интерфейсных функций может потребоваться включение в пакет монитора для управления интерфейсами.
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 4 Результат работы интерфейса для пользователя представляется некоторыми сообщениями, например, на экране дисплея. 4 Эта же информация для использования в модулях пакета представляется некоторым управляющим кодом.
ФУНКЦИИ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ 4 Следовательно, необходимы –модули, преобразующие сообщения пользователя в управляющий код, –и модули, преобразующие вырабатываемую в пакете информацию в сообщения для пользователя. 4 Сложность этих модулей-трансляторов определяется сложностью и развитостью средств внешнего управления пакетом.
АНАЛИЗ СРЕДСТВ ВНЕШНЕГО УПРАВЛЕНИЯ ПАКЕТОМ 4 Решение конкретных задач с применением ППП осуществляется по заданиям пользователей. 4 Средства описания заданий предоставляются пользователю в форме входного языка пакета. 4 Законченное задание на решение задачи или на выполнение отдельного этапа вычислений обычно называют программой на входном языке.
АНАЛИЗ СРЕДСТВ ВНЕШНЕГО УПРАВЛЕНИЯ ПАКЕТОМ 4 Когда пакет используется в пакетном режиме, такая программа действительно представляет собой законченное задание. 4 Если пакет применяется в режиме диалога, типичном для большинства современных ППП, программа на входном языке может вводиться «по частям».
АНАЛИЗ СРЕДСТВ ВНЕШНЕГО УПРАВЛЕНИЯ ПАКЕТОМ 4 Содержание очередной части программы может определяться пользователем на основе анализа результатов выполнения предыдущих частей программы.
АНАЛИЗ СРЕДСТВ ВНЕШНЕГО УПРАВЛЕНИЯ ПАКЕТОМ 4 Под входным языком следует понимать средства общения пользователя с ППП, используемые в процecce диалога. 4 В некоторых работах по проектированию ППП под входным языком понимают правила формирования как сообщений, вводимых пользователем, так и сообщений, формируемых в ППП и выдаваемых пользователю.
АНАЛИЗ СРЕДСТВ ВНЕШНЕГО УПРАВЛЕНИЯ ПАКЕТОМ 4 Входной язык ППП для решения расчетных задач независимо от конкретной формы представления предложений этого языка должен обеспечивать передачу управляющим модулям пакета следующих сведений:
АНАЛИЗ СРЕДСТВ ВНЕШНЕГО УПРАВЛЕНИЯ ПАКЕТОМ о входных данных, значения которых задаются пользовaтелем; о задачах, которые надлежит решить; о выходных данных, которые должны быть представлены пользователю в результате решения задачи.
АНАЛИЗ СРЕДСТВ ВНЕШНЕГО УПРАВЛЕНИЯ ПАКЕТОМ 4 В процессе диалога с ППП, пользователь должен иметь возможность запрашивать информацию о текущем состоянии пакета и допустимых действиях в этом состоянии. 4 Для решения различных задач общения с пользователем могут использоваться различные входные языки, однако обучение и работа облегчаются, если все обращения к пакету строятся по единой форме.