Телекомунікаційні системи та мережі. Том 1. Структура й основні функції.  /  Зміст  /  Розділ 9. Системи сигналізації   /  Тема 9.8. Методологія специфікації та опису систем сигналізації

Зміст:

9.8.1. Вступ до SDL-орієнтованої методології

Основу мови SDL становить концепція взаємодії кінцевих автоматів. Динамічна поведінка системи описується за допомогою механізмів функціонування розширених кінцевих автоматів і зв’язків між ними, що називаються процесами. Набори процесів утворюють блоки. Блоки, з’єднані один з одним і зі своїм оточенням каналами, у свою чергу, утворять SDL-систему.

Відповідно до пропонованої методології специфікація протоколів сигналізації передбачає такі кроки:

  • визначення меж SDL-системи;
  • визначення каналів SDL-системи й переданих цими каналами сигналів;
  • поділ системи на SDL-блоки;
  • поділ SDL-блоків на взаємодіючі процеси;
  • визначення вхідних і вихідних сигналів, станів і внутрішніх переходів для кожного з SDL-процесів;
  • складання SDL-діаграм процесів.

На рис. 9.8.1 подано приклад SDL-системи, що називається «З’єднанням» і складається із двох SDL-блоків: «Кінцевий пристрій» і «Станція», з’єднаних каналами: «абонент», «абонентська лінія» і «з’єднувальна лінія». У квадратних дужках поряд з каналами знаходяться списки сигналів, які можуть бути передані по каналу. Кожний сигнал підлягає точному визначенню в специфікації SDL із вказівкою значень типів даних, які можуть бути передані цим сигналом.

Рис. 9.8.1. Діаграма взаємодії блоків

Кожний блок у діаграмі SDL-системи може бути надалі поділений або ще на блоки, або на набір процесів. Процес описує поведінку в SDL і є найбільш важливим об’єктом у мові. Поведінка кожного процесу визначається розширеним кінцевим автоматом, що виконує дії й генерує реакції (сигнали) у відповідь на зовнішні дискретні впливи (сигнали).

Такий автомат має кінцеве число внутрішніх станів і оперує з кінцевою дискретною множиною входів і виходів. Під автоматом з кінцевим числом станів розуміється об’єкт, що перебуває в одному з дискретних станів S1, S2, ..., Sn, на вхід якого надходять ззовні деякі сигнали I1, I2, ..., Im, а на виході якого є набір вихідних сигналів J1, J2, ..., Jk. Під впливом вхідних сигналів автомат переходить із одного стану в інший, котрий може збігатися з попереднім, і видає вихідний сигнал. При цьому для кожного стану Si і для кожного вхідного сигналу Ij однозначно відомо, у який стан ST перейде автомат і який вихідний сигнал J0 він при цьому видасть.

На відміну від класичного кінцевого автомата розширений кінцевий автомат допускає можливість переходу ненульової тривалості й визначає механізм простої черги (FIFO) для сигналів, що надходять в автомат у той момент, коли він виконує певний перехід. Сигнали розглядаються по одному в кожний момент часу в порядку їхнього надходження.

Дії, виконувані під час переходу, можуть полягати в перетворенні даних, у посиланні сигналів у напрямку до інших процесів тощо. Сигнали можуть містити інформацію, що визначається на підставі даних процесу, що посилає сигнал, і використовується процесом-одержувачем разом з тією інформацією, яку розташовує сам цей процес. Окрім процесів, що містяться в розглянутій системі, сигнали можуть також спрямовуватися за межі системи в зовнішнє середовище, а також надходити із зовнішнього середовища. Під зовнішнім середовищем розуміється все, що перебуває поза SDL-системою.

Графічні символи SDL наведені в першій колонці табл. 9.8.1. Поряд уміщені відповідні цим графічним символам поняття і їх позначення в програмоподібній версії SDL.

Таблиця 9.8.1 Графічні символи SDL

SDL/GR
SDL/PR
Значення символів
STATE
NEXTSTATE
Стан
Наступний стан
TASK
Задача
INPUT
Введення
OUTPUT
Виведення
SAVE
Збереження
DECISION
Рішення
CALL
Виклик процедури
MACRO
Виклик макро
CREATE
Запит створення процесу
ALTERNATIVE
Опції
STOP
Зупинення
RETURN
Повернення з процедури
ENDMACRO
Вихід з макро
START
Старт процесу
PROCEDURE
Початок процедури
MACRO
EXPANSION
Вхід у макро
Розширення тексту
COMMENT
Коментарі
X:
JOIN X
Вхідний з'єднувач
Вихідний з'єднувач
Усе
Усе, крім
PROVIDED
Безперервний сигнал

Для комп’ютерної обробки був орієнтований другий програмоподібний синтаксис SDL. Сучасні графічні інструментальні засоби підтримки SDL включають графічні редактори для діаграм, транслятори між діаграмою (графічним поданням) і програмоподібним поданням, статичні аналізатори для пошуку синтаксичних помилок, генератори кодів, динамічні аналізатори й імітатори для моделювання випадкових процесів надходження сигналів та інші засоби.

Граф процесу в поданні SDL складається з набору графічних символів, з’єднаних спрямованими лініями потоків. Кожному символу приписується ім’я. Якщо в діаграмі присутня кілька символів стану з тим самим ім’ям, то всі вони означають той самий стан. У символах, що представляють введення, виведення і збереження, має бути присутнім ім’я відповідного сигналу.

При з’єднанні символів у діаграми необхідно дотримуватися певних правил з’єднання:

  • за символом стану може іти тільки символ введення або символи введення й збереження;
  • символ введення (збереження) може іти тільки за символом стану;
  • за символом введення може іти будь-який (один) символ, крім введення й збереження;
  • за символом задачі або виведення слідує будь-який (один) символ, крім введення або збереження;
  • за символом рішення прямує n символів, які можуть бути якими завгодно, крім символів введення, збереження;
  • за символом збереження не прямує нічого.

Вказівники стрілок потрібні щоразу, коли збігаються дві лінії зв’язку або коли лінія зв’язку входить в OUT-з’єднувач або символ стану. Вказівники стрілок забороняються на лініях зв’язку, що входять у символи введення. При всіх інших обставинах вказівники стрілок є необов’язковими.

При цьому виникає також і зворотне завдання перекладу з SDL в MSC, що особливо важливо при налагодженні готового програмного забезпечення й тестуванні протоколів. MSC-опис легко використати як шаблони, за якими працюють імітатори програмного забезпечення обробки викликів і протоколи-тестери систем сигналізації.

Основне застосування MSC — створення сценаріїв обміну сигналами між різними процесами або об’єктами.

Для опису протоколів сигналізації застосовуються такі елементи мови MSC:

  1. Момент (Instance).
  2. Повідомлення (Message).
  3. Вентиль (Gate).
  4. Тайм-аут (Timeout).

Графічного синтаксису часто виявляється недостатньо для наочного графічного подання, у зв’язку з чим графічні сценарії можуть супроводжуватися інформаційним поясненням, що будується на тих самих формах Бекуса — Наура (BNF — Backus-Naur Form) з такими позначками-конструкціями:

contains (містить)
is followed by (супроводжується)
is associated with (пов’язаний з)
is attached to (приєднаний до)
above (над)
set (установити)

Відмінність цих конструкцій від звичайних BNF полягає в певних додаткових логічних і геометричних співвідношеннях між аргументами. Проте з наведених нижче прикладів основні правила стануть зрозумілі читачеві.

Основні символи, що використовуються в MSC, наведені в табл. 9.8.2.

Таблиця 9.8.2 Символи MSC

Назва
Символ
Коментар
Текст
Цикл
Заголовок вимоги
Основна вісь 1
Основна вісь 2
Кінець вимоги
Повідомлення
Втрата повідомлення
Повідомлення знайдено
Основний символ вимоги 1
Основний символ вимоги 2
Умова
Запуск таймера (варіант 1)
Запуск таймера (варіант 2)
Перезапуск таймера
Скидання таймера (варіант 1)
Скидання таймера (варіант 2)
Спрацьовування таймера (варіант 1)
Спрацьовування таймера (варіант 2)
Спрацьовування таймера (варіант 3)
Подія
Створення
Зупинка
Ядро 1
Ядро 2
Увімкнути
Вимкнути
Розділити
Довідка — символ коментаря з текстовим змістом

Сценарій MSC може бути розбитий на кілька сторінок. Розбивка може бути горизонтальною й вертикальною. Якщо MSC розбивається на сторінки вертикально, заголовок повторюється на кожній сторінці, але останній символ типу має бути присутнім тільки на останній сторінці. Сторінки мають нумеруватися парами: «v-h», де «v» — вертикальний номер сторінки, а «h» — горизонтальний. Арабські цифри повинні використовуватися для вертикальної нумерації, а англійські літери («А»—«Z») — для горизонтальної. Якщо цього недостатньо, тоді ряд можна розширити з «АА» до «AZ», «ВА» до «BZ» тощо. Для кожного типу заголовок має розташовуватися на першій сторінці, звідки він починається, і повторюватися на всіх наступних сторінках.

Якщо повідомлення, таймери, стани створення або умови продовжуються від однієї сторінки до наступної, то текст, пов’язаний з повідомленням, таймером тощо, має бути поданий на першій сторінці й цілком або частково на наступній.

MSC описує взаємодію між яким-небудь числом компонентів системи та між цими компонентами й навколишнім середовищем.

Для кожного компонента системи, що охоплює MSC, існує вісь вимог. Взаємодії між компонентами системи представлені лініями повідомлень. Надсилання та прийом повідомлення — це дві асинхронних події. Це передбачає, що в MSC навколишнє середовище здатне приймати й надсилати повідомлення незалежно.

Передбачається, що поведінка навколишнього середовища також підпорядкована законам MSC. Для кожної події MSC передбачається глобальна вісь часу. Уздовж кожної осі відлік часу йде зверху вниз, однак власна шкала часу не визначена.

Графічний MSC-опис фрагмента процесу OTLOC обробки сигналів для протоколу сигналізації по двох виділених сигнальних каналах (2ВСК), при спробі встановлення вихідного з’єднання в ситуації зайнятості з’єднувальних колій на зустрічній станції, наведений на рис. 9.8.2.

Рис. 9.8.2. Опис спроби встановлення з’єднання при зайнятості з’єднувальних колій

У цьому MSC-описі визначено процес OTLOC обробки сигналів; повідомлення NEW_CALL (новий виклик), SEIZURE (зайняття), АСК (підтвердження зайняття), B_NUMBER (номер абонента Б), CONGESTION (зайнятість промшляхів), REJECT (відмова), DISCONNECT (роз’єднання), RELEASE_GUARD (контроль вихідного стану), IDLE (вихідне); вентилі 1, 6, 9 до програмного забезпечення обробки викликів і всі інші до фізичного рівня інтерфейсу зі з’єднувальною лінією; тайм-аути Т1 (очікування надходження підтвердження зайняття) і Т2 (час непродуктивного зайняття з’єднувальної лінії).

Текстове подання цього опису має такий вигляд:

MSC
instance OTLOC;
1. in NEW_CALL
2. out SEIZURE
set T1
set T2
3. in АСК
reset T1
4. out B_NUMBER
5. in CONGESTION
reset T2
6. out REJECT
7. out DISCONNECT
8. in RELEASE_GUARD
9. out IDLE
end instance
end MSC

Недолік такого опису полягає в його лінійному характері й у неможливості представити на одній діаграмі розгалуження алгоритму.

Для того щоб представити процес при різних можливих сценаріях, використовується так звана оглядова діаграма MSC, іноді називана «дорожньою картою». На ній подаються всі MSC-сценарії й так звані умови. Спрощену «дорожню карту» процесу OTLOC обробки сигналів для протоколу сигналізації 2ВСК по з’єднувальній лінії ГТС із попереднього прикладу наведено на рис. 9.8.3. MSC-сценарії показано прямокутниками, а умови — шестикутниками.

Рис. 9.8.3. Спрощена оглядова діаграма MSC обміну сигналами по з’єднувальній лінії МТМ

Подібна карта близька до ширше застосовуваного методу описів — графа-схеми алгоритму й дозволяє легко перейти від набору MSC-сценаріїв до SDL-діаграми, оскільки умови можна подати у вигляді SDL-станів, а MSC-сценарії являють собою послідовності сигналів, що переводять процес зі стану в стан, і завдань, виконуваних при цих переходах.

До переваг опису процесів за допомогою MSC належать виняткова наочність і легкість, з якої можуть бути перевірені протоколи, специфіковані таким методом. Достатньо зазначити, що тестові сценарії виходять шляхом злиття MSC-специфікацій розроблювального процесу й імітатора протоколу.

Отже, SDL-діаграми, описані вище, є джерелом тестових послідовностей, що являють собою набір MSC-сценаріїв. Саме за набором такого роду сценаріїв перевіряється правильність відпрацьовування протоколів сигналізації.