Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
04.01.2020
Размер:
2.97 Mб
Скачать

7 Теоретическая часть

7.1 Язык диалога mml

Язык диалога MML разработан МККТТ для систем коммутации с программным управлением (СКПУ). Язык спроектирован таким образом, что обеспечивает: простоту в изучении и использовании, легкость ввода команд, понимания выводимой информации, приспособления к различным категориям обслуживающего персонала и организационным добавлениям, а также работу в режиме «меню». Под режимом «меню» понимают такой диалог, когда управляющая система выводит на терминал перечень допустимых на данном этапе действий, а оператор выбирает необходимое.

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

В соответствии с общими принципами языка диалога основным понятием входящей части языка MML является понятие директивы. Директива представляет собой вопрос или приказ оператора в форме, доступной для понимания и исполнения в управляющей системе СКПУ. Применительно к языку MML директива начинается с кода команды, за которым следуют один или несколько блоков параметров, разделяемых знаком : (двоеточие). Синтаксическая диаграмма директивы показана на рисунке 1.

Рисунок 1 – Синтаксическая диаграмма директивы

Код команды определяет функцию, которая должна быть выполнена управляющей системой. Код команды может содержать до трех идентификаторов, разделяемых знаком – (дефис) (см. диаграмму на рисунке 2).

Рисунок 2 – Синтаксическая диаграмма кода команды

Идентификатор является последовательностью произвольного количества букв и цифр. Начинаться данная последовательность должна с буквы (см. рисунок 3). Буквы и цифры полностью: совпадают с аналогичными понятиями языка CHILL.

Рисунок 3 – Синтаксическая диаграмма идентификатора

Блок параметров (см. рисунок 4) состоит из параметров и содержит информацию, необходимую для выполнения функции, определяемой кодом команды.

Рисунок 4 – Синтаксическая диаграмма блока параметров

Используют два способа идентификации параметров: ➢позиционный и ➢именной.

В случае позиционной идентификации каждому параметру ставится в соответствие позиция в блоке параметров. Такие параметры называют позиционными (см. рисунок 5).

Рисунок 5 – Синтаксическая диаграмма позиционного параметра

В случае именной идентификации за каждым параметром закрепляется определенное имя. Такие параметры называют именными (см. рисунок 6).

Рисунок 6 – Синтаксическая диаграмма именного параметра

Если блок параметров содержит более одного параметра, то они разделяются запятыми. В одном блоке допускается объединять только однотипные параметры – либо позиционные, либо именные. Позиционные параметры должны указываться в строго определенной последовательности в соответствии с закрепленными за ними позициями. Именные параметры допустимо вводить в произвольном порядке.

С точки зрения синтаксиса позиционные и именные параметры эквивалентны. Различие заключается в том, что значению именного параметра практически всегда предшествует его имя и символ = (знак равенства). В случае позиционного параметра его имя и знак равенства указывают для наглядности в виде исключения. Чтобы подчеркнуть данные различия, на синтаксических диаграммах (рисунки 5, 6) сделана различная компоновка альтернативных ветвей – верхнюю альтернативу принято считать основной.

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

Имя параметра используется для однозначного указания вида и структуры следующего за ним значения параметра. Имя параметра отождествляется с идентификатором (рисунок 3).

Значение параметра состоит из одного или нескольких аргументов параметра (рисунок

7).

Рисунок 7 – Синтаксическая диаграмма значения параметра

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

Рисунок 8 – Синтаксическая диаграмма аргумента параметра

Простой аргумент состоит из одного элемента информации (см. рисунок 9).

Рисунок 9 – Синтаксическая диаграмма простого аргумента параметра

Составной аргумент может содержать два и более элемента информации, разделенных символом – (дефис) (см. рисунок 10).

Рисунок 10 – Синтаксическая диаграмма составного аргумента параметра

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

Рисунок 11 – Синтаксическая диаграмма элемента информации

Символическое имя является цепочкой, состоящей из одного или более символов, содержащей по крайней мере одну букву и (или) один из символов: + (знак плюс), # (знак числа), % (знак процента), а также любое количество цифр. Символы могут располагаться в любом порядке (см. рисунок 12).

Рисунок 12 – Синтаксическая диаграмма символического имени

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

  • D' (десятичная),

  • Н' (шестнадцатеричная), ➢О' (восьмеричная), ➢В' (двоичная).

Признак может отсутствовать, если по умолчанию ясно, в какой системе представлено число. Синтаксические диаграммы различных чисел на приведены рисунках 13 – 16.

Рисунок 13 – Синтаксическая диаграмма десятичного числа

Рисунок 14 – Синтаксическая диаграмма шестнадцатеричного числа

Рисунок 15 – Синтаксическая диаграмма восьмеричного числа

Рисунок 16 – Синтаксическая диаграмма двоичного числа

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

Тастатура кроме десяти десятичных цифр содержит также клавиши со спецсимволами * (звездочка) и # (знак числа), а также буквенные символы А, В, С и D. Признаком тастатурных чисел является К' (латинское К с апострофом). Синтаксическая диаграмма тастатурного числа дана на рисунке 17.

Рисунок 17 – Синтаксическая диаграмма тастатурного числа

Строка текста представляет собой последовательность символов, заключенных в кавычки (рисунок 18).

Рисунок 18 – Синтаксическая диаграмма строки текста

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

Рисунок 19 – Синтаксическая диаграмма вспомогательных символов

Арифметическое выражение (см. рисунок 20) представляет собой заключенную в скобки комбинацию чисел в одной из допускаемых MML систем счисления, идентификатора и арифметических операторов + (плюс), – (минус), * (умножить), / (разделить).

Арифметическое выражение

Рисунок 20 – Синтаксическая диаграмма арифметического выражения

С целью сокращения объема вводимой информации язык MML обеспечивает возможность группирования однотипной информации в рамках одной директивы. Группирование простых аргументов параметра используется, если несколько простых аргументов должны быть заданы в рамках одного параметра (рисунок 21).

Рисунок 21 – Синтаксическая диаграмма группировки простых аргументов параметра

В этом случае можно указать эти простые аргументы, отделив их значения друг от друга знаком & (знак «И»), например 4&7 означает простые аргументы 4, 7.

Если имеется нарастающая на единицу последовательность простых аргументов, то можно записать первый и последний аргумент, разделив их знаками && (сдвоенный знак «И»), например 4&&7 означает запись простых аргументов 4, 5, 6, 7. Перечисленные возможности можно комбинировать, например 4&&7&9 означает запись 4, 5, 6, 7, 9.

В случае необходимости задания нескольких составных аргументов последние, как и в рассмотренном выше случае, разделяются знаком &, например 7–1&8–2 означает запись двух составных аргументов 7–1, 8–2.

Если группы составных аргументов отличаются только последним элементом, то полностью определяют общую часть, а затем записывают последние элементы группы, которые разделяются знаками &– (знак «И» дефис), например 7–1&–3&–5 эквивалентно записи 7–1, 7–3, 7–5.

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

&& (сдвоенный знак «И», дефис) и последний элемент информации из последнего элемента группы, например 8–1&&–3 эквивалентно записи 8–1, 8–2, 8–3.

Перечисленные возможности можно комбинировать, например 5–1&&–3&8–2&–5&–6 эквивалентно записи 5–1, 5–2, 5–3, 8–2, 8–5, 8–6. Группирование составных аргументов параметра описано синтаксической диаграммой на рисунке 22.

Рисунок 22 – Синтаксическая диаграмма группировки составных аргументов параметра

Исходящую часть языка MML рассмотрим применительно к процедуре диалога как наиболее важной для подготовки специалистов по эксплуатации СКПУ.

Диалог MML в соответствии с общими принципами языков диалога открывается прологом процедуры, успешное проведение которого идентифицируется появлением на экране терминала символа < (меньше).

Далее выполняется пролог назначения, который также завершается символом < (меньше).

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

Завершается диалог эпилогом процедуры. Синтаксическая диаграмма процедуры диалога представлена на рисунке 23.

Рисунок 23 – Синтаксическая диаграмма процедуры диалога

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

Рисунок 24 – Синтаксическая диаграмма пролога процедуры

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

Рисунок 25 – Синтаксическая диаграмма запроса

Идентификация оператора служит для опознания и определения приоритета оператора. Данная процедура имеет место только при использовании централизованных способов эксплуатации СКПУ.

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

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

Рисунок 26 – Синтаксическая диаграмма идентификации оператора

Пароль представляет последовательность символов языка MML (см. рисунок 27).

Рисунок 27 – Синтаксическая диаграмма пароля

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

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

Рисунок 28 – Синтаксическая диаграмма заголовка

Идентификатор источника является необязательным элементом заголовка и может быть пропущен, если имеется только один источник выводов (в случае децентрализованной эксплуатации). Идентификатор источника представляет собой последовательность элементов информации языка MML, разделенных символом – (дефис) (рисунок 29).

Рисунок 29 – Синтаксическая диаграмма идентификации источника

Вывод даты в заголовок основан на международном стандарте для записи календарных дат в цифровом виде. Календарная дата (см. рисунок 30) должна быть записана в следующей последовательности: год, месяц, день и состоять из двух или четырех десятичных цифр года, двух десятичных цифр месяца и двух десятичных цифр дня месяца. Между числами года и месяца, и также между числами месяца и дня допускается использование разделителей – (дефис) или пробел (на синтаксической диаграмме обозначен как SP). Допустимой записью даты 28 мая 1987 г. будут следующие варианты: 1987 05 28, 870528, 87–05–28 и т. д.

Рисунок 30 – Синтаксическая диаграмма календарной даты

Вывод времени в заголовке также базируется на международном стандарте. Представление времени основано на 24-часовой системе хронометрирования. Элементы времени должны следовать от высшего порядка (часы) к низшим (секунды).

Час представляется числом, состоящим из двух десятичных цифр от 00 до 23 включительно. Минуты и секунды должны быть представлены числами, состоящими из двух десятичных цифр от 00 до 59 включительно. Допускается использовать разделитель : (двоеточие) между часами, минутами и секундами (например, 15:00:00). Синтаксическая диаграмма вывода времени в заголовке приведена на рисунок 31.

Рисунок 31 – Синтаксическая диаграмма вывода времени

Пролог назначения необходим для выбора конкретной СКПУ, с которой будут выполняться рабочие последовательности процедуры диалога. Этот этап используется только в случае централизованной эксплуатации. Состоит пролог назначения из ввода идентификатора назначения, за которым следует разделитель > (больше) (рисунок 32).

Рисунок 32 – Синтаксическая диаграмма пролога назначения

Идентификатор указывает на конкретный объект эксплуатации (например, номер станции) и состоит из одного или нескольких элементов информации, разделенных символом – (дефис) (рисунок 33).

Рисунок 33 – Синтаксическая диаграмма идентификатора назначения

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

Рабочая последовательность – это ввод директивы со стороны оператора и вывод ответных сообщений из управляющей системы СКПУ. Начинается рабочая последовательность с ввода кода команды (см. рисунок 34).

Рисунок 34 – Синтаксическая диаграмма рабочей последовательности

Далее после разделителя : (двоеточие) следует ввод блока параметров. Если директива содержит несколько блоков параметров, то они разделяются символом : (двоеточие). Если директива не содержит параметрической части, то опускаются ввод блока параметров и разделитель : (двоеточие).

Рабочая последовательность может выполняться в основном режиме или режиме продолжения. Основной режим предполагает ввод и обработку директивы с одной параметрической частью. Признаком работы в основном режиме является завершение ввода директивы символом ; (точка с запятой). После вывода ответного сообщения УС выводит символ готовности < (меньше). Далее необходимо выполнять ввод кода команды очередной директивы.

Режим продолжения допускает ввод и обработку одной и той же директивы с различными параметрическими частями. Ввод директив в данном случае завершается символом ! (восклицательный знак). После вывода ответного сообщения УС выводит символ готовности : (двоеточие). Далее следует вводить параметрическую часть директивы, т. е. блок параметров. Код команды и разделитель : (двоеточие) в этом случае пропускается (см. рисунок 34).

Ввод кода команды возможен либо в режиме прямого ввода, либо в режиме «меню» (рисунок 35).

Рисунок 35 – Синтаксическая диаграмма ввода кода команды

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

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

Если блок содержит несколько параметров, то их разделяют запятой. Переход в режим «меню» осуществляется, если оператор не помнит, какие параметры относятся к директиве, в каком порядке их надо вводить и какова их точная форма. Переход происходит после ввода символа ? (знак вопроса) в любой точке ввода блока параметров.

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

Рисунок 36 – Синтаксическая диаграмма ввода блока параметров

Ответное сообщение является реакцией системы на введенную директиву и может содержать либо вывод подтверждения о приеме, либо вывод отказа, либо вывод запроса (рисунок 37).

Рисунок 37 – Синтаксическая диаграмма ответного сообщения

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

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

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

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

Рисунок 38 – Синтаксическая диаграмма эпилога процедуры

В заключение краткого описания языка диалога MML нужно отметить, что знание основ его построения является необходимым условием выполнения эксплутационных работ как непосредственно на СКПУ, так и на ЦТЭ любого уровня.

Соседние файлы в папке ЯМСЭ