Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

4.3 Автоматный подход и табличные функции

Лекция



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

автоматный подход позволяет упорядочить работу по конкретной последовательности вызову серверов по запросу объекта. Кроме того, надо заметить, что согласно рекомендациям [67] предложен язык спецификаций и описаний SDL (Specification and Description Language) для представления алгоритмов. Он также опирается на понятие "конечный автомат". Поэтому этот подход позволяет применить плавный переход от алгоритмов различных уровней к программе.

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

S(t+1)=f(S(T),X(t)),

Z(t=1)=f1 (S(t),X(t).

X(t) = [x1(t), x2(t), x3(t),….. ,xp(t)] — значения сигналов на входе автомата,

S(t) = [s1(t), s2(t), x3(t),….. ,sn(t)] — внутренние состояния автомата,

Z(t) = [z1(t), z2(t), z3(t),….. ,zk(t)] —значения сигналов на выходе состояния.

Следуя этому уравнению, алгоритм можно представить как последовательное вычисление рекурсивной функции, которая сопоставляет совокупности входного сигнала, текущего состояния и нового состояния. Эта смена состояний называется переходом. Пара "вход-состояние" уникальна, т. е. нигде в алгоритме она не применяется для перехода в другое состояние. Переход из одного состояния в другое сопровождается выполнением действий при переходе. Эти действия указаны в рекомендациях МККТТ Z.100-104 [67], упомянутых выше:ЗАДАЧА, УСЛОВИЕ, ВЫХОД. Приведем определения основных понятий, которые уже были даны в начале "Алгоритмы отдельных функций, выполняемые в станциях с программным управлением" .

Согласно рекомендациям МККТТ, для изображения алгоритмов применяются следующие обозначения (рис. 4.3).

При использовании этих символов имеется небольшое число естественных ограничений.

  1. За символом СОСТОЯНИЕ может следовать один только символ или несколько символов ВХОД.
  2. Каждому символу ВХОД должен предшествовать один символ СОСТОЯНИЕ (пара СОСТОЯНИЕ-ВХОД уникальна, т. е. должна соответствовать только переходу в одноименное СЛЕДУЮЩЕЕ СОСТОЯНИЕ ).
  3. За символом ВХОД должен следовать один и только один символ, который не может быть символом ВХОД.
  4. За символом ЗАДАЧА или ВЫХОД должен следовать один и только один символ, который не может быть символом ВХОД.
  5. За символом УСЛОВИЕ должны следовать два или более символа, которые не могут быть символами ВХОД.

Заметим, что нет никаких ограничений на число следующих повторно операций ПЕРЕХОДА (ЗАДАЧА, УСЛОВИЕ, ВЫХОД), ни на порядок их следования. Указанные выше ограничения позволяют иметь еще одно отображение алгоритма, записанного в SDL в виде таблицы соответствий (таблица 4.1 )2, которая сопоставляет каждой паре ВХОД-СОСТОЯНИЕ набор действий при переходе.

4.3 Автоматный подход и табличные функции

Рис. 4.3. Запись перехода на языке SDL
Таблица 4.1. Таблица соответствий, отображающая оператор переход
Наименование операторов S(t) X(t) TASK Q(t) Z(t) S(t+1)
Текущие значения операторов s(t) x(t) Taks(t) 0 z(t) s(t+1)
1 s(t) s(t+1)

В таблице 4.1 в верхней строке большими буквами записаны наименования операторов языка SDL, во второй строке — их текущие значения.

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

s(t) — указывает номер состояния, в котором находится процесс. Например, таблица 4.2 показывает пример нумерации оператораСОСТОЯНИЕ.

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

Таблица 4.2. Об этом говорит сайт https://intellect.icu . Нумерацмя оператора СОСТОЯНИЕ
Наименование состояния Числовое значение
Свободно 1
Ожидание первой цифры 2
Ожидание отбоя абонента 3

x(t) — указывает номер входного сигнала, который инициирует переход. Например, таблица 4.3 показывает пример нумерации оператораВХОД.

Таблица 4.3. Нумерация оператора ВХОД
Наименование входа Числовое значение
Абонент снял трубку 1
Абонент положил трубку 2

Оператор ВХОД до поступления его в основной алгоритм обработки выполняется модулем (объектом) "сканирование".

Q (t) — указывает номер УСЛОВИЯ. Для нумерации условия применяют индексы при буквенном обозначении Q. Таблица 4.5 показывает пример нумерации УСЛОВИЙ (в таблице отображено одно УСЛОВИЕ ).

Таблица 4.5. Нумерация оператора УСЛОВИЕ
Наименование условия Числовое значение
Свободный МЧПП найден Q1 ДА-0

НЕТ-1

z(t) — указывает номер выходного сигнала, в окружающие устройства или алгоритмы. task(t) — указывает номер ЗАДАЧИ.

При нумерации этих операторов следует дать несколько комментариев. Как показано в предыдущих разделах (3.1-3.9), многие из этих функций выполняются алгоритмическими модулями, в терминологии объектно-ориентированного подхода — объектами. В соответствии с этим модули имеют свое поведение и интерфейсы, показанные ранее.

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

Таблица 4.6 показывает пример нумерации ВЫХОДОВ. В этой таблице предполагается, что при нумерации объекту "Акустическое соединение" сопоставлен номер 3 (первая часть номера ВЫХОДА ) и он может сформировать две последовательности команд (вторая часть номера ВЫХОДА ) — "включить" или "выключить". Эти действия отражены соответственно номерами 1 и 2 во второй части номера.

Номер сигнала ВЫХОД с именем "включить таймер 20 сек" предполагает, что таймер — это объект с номером 4 (первая часть номера), а действие "включить 20 сек" имеет номер 1.

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

Таблица 4.6. Нумерация оператора ВЫХОДОВ
Наименование состояния Числовое значение
Включить акустический сигнал "занято" 3.1
Отключить акустический сигнал "занято" 3.2
Включить акустический сигнал "ответ станции" 3.3
Включить таймер 4.1

Оператор ЗАДАЧА также выполняется модулями, которые, как и ВЫХОДЫ, имеют свои интерфейсы. Принцип назначения номеров тот же, что и для ВЫХОДОВ.

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

Таблица 4.7 показывает пример нумерации ЗАДАЧА. В данном случае назначенный номер 2.1 показывает, что модуль (объект) "поиск промежуточных путей" имеет номер 2 (первая часть номера оператора), а действие "найти свободный МЧПП" (Многочастотный Приемник Набора Номера) имеет номер 1.

Таблица 4.7. Нумерация оператора ЗАДАЧА
Наименование состояния Числовое значение
Найти свободный МЧПП 2.1

Заметим, что при передаче сообщения объекту номер оператора сопровождается необходимой информацией, которая рассматривалась при описании отдельных алгоритмов. Эти данные указаны на рисунках (рис. 3.2, 3.5, 3.8, 3.11, 3.17, 3.23) в виде некоторых входов.

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

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

Рассмотрим пример табличного отображения алгоритма. На рис. 4.4 приведен простой алгоритм, выполненный автоматным подходом и написанный с помощью языка SDL.

Этот же алгоритм отображен с помощью таблицы соответствий (таблица 4.8), в которой применяется нумерация операторов, заданная таблицами 4.2-4.7.

Таблица 4.8. Таблица соответствия согласно алгоритму по рис.4.4.
№ строки S(t) x(t) TASK1(t) Q1 TASK2(t) TASK3(t) S(t+1)
1 1 1 2.1 1 3.3 4.1 2
2 0 3.1 3
3 2 3.2 1

Попробуем описать работу алгоритма по таблице 4.8.

Первая строка. В состоянии S(t)=1 (свободно) поступает входной сигнал x=1 (абонент снял трубку). Эта пара ВХОД-ВХОД-СОСТОЯНИЕвызывает ПЕРЕХОД, который включает в себя следующие действия.

Задача – Task2(t) = 2.1. Найти свободный МЧПП.

Предположим, что получено значение Q1=1 — свободный МЧПП найден, тогда продолжаем действия, стоящие в первой строке.

Включаем заявку на передачу команд устройством подключения акустических сигналов task2=3.3.

4.3 Автоматный подход и табличные функции

увеличить изображение
Рис. 4.4. Фрагмент алгоритма для построения таблицы 4.8.

Передаем сигнал на включение таймера, равного 20 с, для ожидания набора номера ( task3=4.1 ).

Завершаем переход установкой состояния s(t)=2.

Вторая строка. Если после проверки условия Q1=0 — свободный МЧПП не найден, то проводятся следующие действия:

Task2=3.1 (включается акустический сигнал "занято").

Task3 не выполняется, поскольку в ней поставлен прочерк ( - ).

В конце выполнения строки устанавливается состояние s(t)=3.

Третья (последняя) строка начинается с состояния s(t)=3.

При поступлении входного сигнала x(t)=2 ("абонент положил трубку") выполняется переход, содержащий следующие действия (напоминаем: действия, обозначенные прочерком, не выполняются, и следует перейти к обработке следующего столбца этой строки):

Task 3=3.2 ("отключить акустический сигнал").

Устанавливается состояние s(t)=1 (свободно).

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

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

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

Например, для строки таблицы 4.8может быть представлен следующий текст:

" Если система находится в состоянии…….. и поступил сигнал……, то выполняется, ……проверяется условие…. Если в результате проверки….., то ………акустический….. таймер……. И система переходит в состояние…."

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

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

создано: 2016-04-01
обновлено: 2021-03-13
132386



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Телекоммуникационные сервисы и устройства

Термины: Телекоммуникационные сервисы и устройства