logo search
Informatics

9.4. Пакеты прикладных программ для решения научно-технических задач

ППП общего назначения обычно организованы на языке ФОРТРАН. ФОРТРАН является наиболее распространенным языком программирования вычислительных задач. Транслятор его входит в состав математического обеспечения почти всех ЭВМ. На этом языке накоплена самая большая в мире библиотека программ. Широкое распространение языка ФОРТРАН объясняется двумя преимуществами, которые он имеет по сравнению с другими алгоритмическими языками: простота операторов и модульность структуры программ.

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

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

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

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

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

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

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

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

Любой модуль в языке ФОРТРАН начинается командой SUBROUTINE и завершает командой RETURN. Это объясняется тем, что любой модуль (подпрограмма) выполняется самостоятельно или используется как часть любой другой программы. Этой программой может быть либо программа старшего уровня (по иерархическому делению), либо управляющая программа.

Программы могут содержать подпрограммы простой структуры.

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

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

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

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

Однако планирование параллельных работ является функционально трудным.

Чаще всего в ППП на языке ФОРТРАН используют простую и оверлейную структуру.

В зависимости от возможности повторного использования программы подразделяются на однократно используемые программы и повторно используемые.

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

В ППП на языке ФОРТРАН обычно используют повторно используемые модули.

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

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

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

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

На втором уровне решаются задачи оптимизации процесса, адаптивного управления в условиях отсутствия априорной информации, декомпозиции и т.д.

К высшему уровню управления относится информационно-управляющая система административно-хозяйственного управления. На этом уровне решаются задачи перспективного, текущего планирования и управления предприятием.

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