9. Элементарные базовые структуры автоматизированных экономических информационных систем (АЭИС)

Скачать доклад: 9. Элементарные базовые структуры автоматизированных экономических информационных систем (АЭИС)

Элементарные базовые структуры автоматизированных экономических информационных систем (АЭИС); структурирование данных АЭИС; типовая структура АЭИС; основные режимы функционирования систем (21.1.).

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

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

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

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

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

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

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

Важнейшей компонентой ЭИС являются данные, которые поступают на обработку, накапливаются, преобразуются, хранятся и выдаются внешним абонентам. Четкое структурирование данных, выполняемое в процессе проектирования, способствует уменьшению сложности системы и снижает вероятность ошибок из-за их неправильного использования. Всю совокупность данных системы можно разделить:

1. Простые переменные, представляющие собой минимальную компоненту данных, имеющую имя и описание. Наиболее часто используются следующие типы переменных: - вещественные, принимающие числовые действительные положительные и отрицательные значения в заданных пределах; - целые, принимающие в заданных интервалах только целые положительные и отрицательные числовые значения, и, так же как для вещественных переменных, в их описании указывается масштаб представления значений или цена младшего разряда; - булевы, принимающие только два значения: "да" или "нет" ("истина" или "ложь"); - двоичные, представляющие собой последовательность битов; в их описании должна представляться кодировка и смысловое содержание каждого значения переменной; - символьные, образующие из последовательности байтовых кодов6 каждый из которых соответствует некоторому символу языка программирования или описания данных.

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

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

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

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

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

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

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

Входной информации, содержащие буферные накопители сообщений от внешних абонентов.

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

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

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

Хранения программ - используются с внешними накопителями для хранения программ и констант (магнитные диски, ленты, барабаны).

требует защиты и контроля информации, т.к. даже малые искажения в программах могут резко изменить характеристики АЭИС.

В режиме начального пуска подготавливаются необходимые исходные данные для последующего функционирования АЭИС в заданных режимах. В процессе рабочего функционирования АЭИС режим пуска включается только при появлении отказов.

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

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

Рабочий режим, в зависимости от загрузки системы основными функциональными задачами, включает три подрежима: -отсутствия внешних сообщений и ожидания информации: система включена полностью в управляющий контур и может взаимодействовать с реальными объектами, однако своих основных функциональных задач не выполняет; она находится в состоянии дежурства или ожидания; рабочий режим сводится к готовности принять и обработать сообщения и к интенсивному контролю системы и внешних абонентов; - рабочего функционирования АЭИС при малой и средней загрузке системы: включается основная масса программ решения функциональных задач и устанавливается нормальный темп включения периодических программ; - предельной загрузки  и перегрузки системы: рабочий режим перестраивается для обеспечения решения основных функциональных задач с допустимыми задержками и потерями входной и выходной информации.

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