ПОИСК Статьи Рисунки Таблицы Проблемно-ориентированные пакеты программ . Языки взаимообмена из "Основы построения операционных систем в химической технологии" Языки взаимообмена. Ранее отмечалось, что проблемно-ориентированные пакеты программ предназначены для широкого использования, причем специалистами, имеющими ограниченные знания средств вычислительной техники и программирования. Поэтому при разработке систем на основе этих пакетов уделяется большое внимание вопросу обеспечения удобства и простоты взаимообмена потребителя с системой. Желательно, чтобы потребитель принимал минимальное участие в процессе решения и, если это необходимо, его взаимодействие с системой было бы оперативным и простым. Минимизация взаимодействия обеспечивается автоматизацией вычислительного процесса и отработки соответствующих сервисных средств. Чем выше степень автоматизации, тем меньше степень участия потребителя в процессе решения, и наоборот. Очевидно, автоматическое выполнение расчетов определяется степенью отработанности алгоритмов, способностью системы реагировать на аварийные ситуации и принимать решение без вмешательства человека, способностью вносить соответствующие изменения в структуру алгоритма. Следовательно, основой систем с высокой степенью автоматизации являются совершенные алгоритмы отдельных явлений, процессов и т. д. Желательно также, чтобы система имела однократный ввод данных в форме, удобной для широкого потребителя. [c.69] Оперативность и простота взаимообмена в значительной степени определяются имеющимися средствами и принятым способом представления входной и выходной информации. Входной информацией системы могут быть пе только исходные данные, но и части алгоритма, которые потребитель должен сообщить системе при постановке нетиповой задачи. Если взаимообмен производится на языке программирования системы, то потребитель должен его знать. Следовательно, эксплуатация системы будет связана с необходимостью изучения языков программирования, что нежелательно для систем широкого назначения. Лучше, если взаимообмен производится средствами, близкими к общепринятым в повседневной практической деятельности потребителя. [c.69] Назначение языка взаимообмена при разработке пакетов прикладных программ состоит в обеспечении возможностей удобной эксплуатации системы. Это формулирование математического содержания конкретной задачи и ведение процесса решения. Поэтому можно выделить два его основных аспекта описание алгоритма решения в терминах совокупности модулей системы и ведение диалога ЭВМ — пользователь. В существующих системах эти функции языка обычно разделяются. Для описания алгор и1мов-используется базовый язык системы н уревне процедурно-ориентированного (папример, Фортран, ПЛ/1 и т. д.) или язык с жесткой внутренней логической структурой, соответствующей отработанным цепочкам модулей, а для ведения диалога используется язык, разработанный с учетом возможностей системы и наличия терминальных устройств. [c.70] Сформулируем требования к языку с учетом удобства и простоты взаимообмена. [c.70] Нетрудно сделать вывод, что перечисленные требования направлены на обеспечение простоты взаимообмена человека с системой. Основной лейтмотив заключается в следующем не человек, а машина должна изучать язык. [c.70] Существует несколько подходов к разработке языков взаимообмена между человеком и системой, отличающихся степенью приближения к естественному языку. Перечислим некоторые из них. [c.71] С точки зрения реализации обмен на языке программирования является наиболее просто реализуемым. В этом случае не требуется разработки специальных компиляторов. Перевод на язык машины производится соответствующими трансляторами операционной системы. Однако для его эффективного использования необходимо знание языка программирования. [c.71] Одним из простых способов взаимообмена является обмен на языке директив. Количество директив фиксировано и каждая из них отрабатывается соответствующей программой, написанной на базовом языке системы. Для системы с фиксированной логической структурой формирование набора директив не представляет труда они должны отражать возможности системы, т. е. предусмотренные разработчиком варианты решаемых задач. Каждой директиве соответствует определенная цепочка модулей, возможно, заранее отработанная или не противоречащая логической структуре алгоритма. Директивы воспринимаются специально разработанной управляющей программой, производящей логический и синтаксический анализы. В результате работы этой программы подбирается определенный набор подпрограмм, который в дальнейшем обрабатывается системными программами в обычном порядке. [c.72] Директивный принцип широко используется в операционных системах ЕС ЭВМ для организации вычислительного процесса. Каждой директиве операционной системы соответствует модуль, который инициализирует нужную последовательность действий. Этот принцип легко реализуется в терминах базового языка, например, с помощью операторов перехода. [c.72] Часто решаемая задача допускает многовариантность при изменении отдельных модулей общей схемы алгоритма. Например, нри моделировании реакторного процесса или ректификации могут потребоваться различные модели структуры потоков. Поэтому целесообразно ранжировать директивы, выделив первичные, вторичные и т. д. Первичная директива определяет основное действие, например выбирает процесс, а вторичные и последующие конкретизируют условия его протекания. В этом случае если первичная директива корректная, то производится анализ вторичной, затем третичной и т. д. директивы. После анализа и выполнения директивы определенного уровня происходит переход к анализу следующей директивы этого уровня и т. д. Переход к директивам низшего уровня производится в естественном порядке, а возврат на высший уровень можно осуществить, нанример, по пустым директивам. Любые непредусмотренные ситуации отрабатываются управляющей программой и доводятся до сведения потребителя. [c.72] На рис. 1.14 приведена функциональная структура прикладной операционной системы, обладающей языком взаимообмена высокого уровня. Входная информация (алфавитная или цифровая) воспринимается анализатором информации, выполняющим функции интаксического контроля и этапы лексического, синтаксического и семантического анализа. Поскольку она записана на специализированном язьЬке, отличном от языка системы, то в дальнейшем преобразуется компилятором на базовый язык системы и воспринимается непосредственно операционной системой ЭВМ. Выходная информация может внутренне представляться в кодированном виде, поэтому перед поступлением в распоряжение потребителя проходит этап декодирования. [c.73] Общей тенденцией, свойственной разрабатываемым операционным системам технологических процессов, является стремление ко все большей автоматизации вычислительного процесса, упрощению эксплуатации. Однако это неизбежно приводит к усложнению логической структуры. [c.73] Обычно потребитель активно участвует в процессе решения, изменяя последовательность вычислений или задавая другой набор модулей. По организации функционирования такие пакеты приближаются к методо-ориентированным, а но составу математического обеспечения — к проблемно-ориентированным пакетам. Несмотря на широкие возможности в постановке задач, необходи-. мость программирования сужает круг возможных их потребителей. [c.74] В качестве примера проблемно-ориентированного пакета рассмотрим структуру системы моделирования стационарных условий работы технологического процесса [22]. Система реализована на Фортране, и входным языком для определения моделируемой схемы, а также описания последовательности вычислений является также Фортран. Структура системы приведена на рис. 1.15. Основными ее элементами являются библиотека подпрограмм, подпрограмма пользователя, главная программа и файлы для размещения данных. [c.74] Библиотека подпрограмм содержит модули единиц оборудования, подпрограммы общего назначения, подпрограммы численных методов общего назначения, подпрограммы ввода — вывода. [c.74] Подпрограммы общего назначения и методов вычислительной математики предназначены для выполнения расчетов, необходимость в которых может возникнуть в процессе моделирования. Эти подпрограммы могут входить непосредственно в подпрограмму пользователя или в любую другую. [c.75] Подпрограммы ввода — вывода предназначены для обеспечения стандартного ввода информации, а также вывода по принятой форме. Характерные подпрограммы библиотеки приведены в табл. 1.3. [c.75] Подпрограмма пользователя предназначена для описания специфики задачи моделирования и обычно записывается по единой форме. В первой части содержатся обращения к подпрограммам библиотеки или ввода характеристик потоков и компонентов. Затем следует информация, непосредственно характеризующая моделируемый объект. Это обычно обращения к модулям единиц оборудования. Наряду с обращениями к библиотечным подпрограммам пользователь определяет последовательность вычислений, организует циклические расчеты для нахождения рециркулируемых потоков и т. д. с помощью операторов Фортрана. Заключительной частью подпрограммы является обращение к подпрограммам вывода для печати результатов расчета. [c.76] Главная программа является системным координатором по организации системы. [c.76] Размещение данных в памяти машины и их передача между отдельными подпрограммами производится обычными средствами Фортрана в виде файлов. Все обрабатываемые данные делятся на несколько групп относящиеся к компонентам, относящиеся к потокам, параметрические и контрольные. [c.76] Вернуться к основной статье