Лекция №7
В соответствии с рекомендациями МККТТ (серия Z.100 «Specification and Description Language SDL») определены этапы разработки программного обеспечения. При этом выделены два типа алгоритмов. Алгоритмы этапа спецификаций и алгоритмы этапа описаний.
Спецификация отображает работу станции с точки зрения заказчика и написана с использованием терминов заказчика. Например, они включают алгоритмы входящей и исходящей связи и другие, описывающие работу станции с точки зрения верхнего уровня, т.е. пользователя. Далее следует разработка алгоритмов, реализующих эти функции.
В настоящей книге рассматривается часть алгоритмов этапа описания. Для более детального рассмотрения вопросов разработки алгоритмического обеспечения можно обратиться к [9-11]. В этой главе будут использованы термины и символы, которые используются в рекомендациях МККТТ. Ниже приведены некоторые из них.
Алгоритм изображается в виде модели конечного автомата [10]. Для описания его действия применяются следующие термины:
|
|
ВХОД — сигнал, поступающий из внешнего окружения;
ВЫХОД — сигнал, передаваемый алгоритмом во внешнее окружение;
СОСТОЯНИЕ — состояние алгоритма, при котором действия процесса приостановлены до получения сигнала ВХОД;
ПЕРЕХОД — совокупность действий, которые при поступлении сигнала ВХОД переводят автомат из одного состояние в другое.
Перечисленные действия (кроме сигнала ВЫХОД) включает в себя:
РЕШЕНИЕ — выбор одного из нескольких возможных путей продолжения процесса;
ЗАДАЧА — действие, которое не является ни РЕШЕНИЕМ, ни ВЫХОДОМ.
Для этих операторов заданы графические символы, применяемые для их изображения [9, 20].
Обычно функции этапа описания являются детализацией символов уровня спецификации. Например, алгоритм сканирования, который приводится первым в этой главе, дает описание реализации оператора ВХОД на уровне спецификации.
Отметим, что эти функции рассматривались в предыдущих разделах применительно к устройствам управления станциями координатной системы.
Все функции управляющих устройств координатной техники могут быть реализованы программно. Поэтому в 80-е годы все станции в основном перешли на программное управление. Каждому устройству может соответствовать программный модуль. Рассмотрим алгоритмы функционирования некоторых наиболее широко используемых модулей. Это позволит, во-первых, проанализировать алгоритмы функционирования модулей, участвующих в установлении соединения, и, во-вторых, на примерах конкретных алгоритмов выявить общие принципы их реализации.
Рассмотрение базируется на общей модели алгоритма, показанного на рис. 1. Центральный алгоритм получает от программы сканирования сигналы об изменении состояния вешней среды и вызывает периферийные модули.
|
|
Рис. 1 Структурная схема алгоритма работы станции
Для построения общего алгоритма предполагается наличие сменных модулей, реализующих отдельные функции и вызываемых центральной программой. При этом сами модули должны удовлетворять специфическим требованиям.
Первое — они должны иметь внешний интерфейс и применяться так же как микросхема, по необходимости. В отличие от большинства микросхем программный модуль может настраиваться (в настоящее время некоторые микросхемы также обладают этим свойством). Настройка может осуществляться по количественным показателям либо выбором режимов.
Имея базовый модуль и исходные данные, можно создавать (генерировать) конкретный модуль. Программный модуль обычно сопровождается текстом контрольной задачи для его проверки. Таким образом, алгоритмический модуль является настраиваемой на заданный режим или оборудование единицей. В основу математической модели положен автоматный принцип.
Каждый из модулей отображается в виде виртуального автомата, управляющего конкретным оборудованием или обновляющего конкретные области памяти. При этом он имеет виртуальные входы и выходы. Входы разделяются на две группы: оперативные и входы настройки. Формализация модулей алгоритмов в виде логических выражений представлена далее.
Изложение в данном разделе строится по принципу «меньше подробностей», поэтому, следуя ключевой линии анализа, алгоритмы будут изложены в общем виде. Для более подробного изучения можно рекомендовать [40].