ФОРМАЛЬНЫЕ МЕТОДЫ ОПИСАНИЯ ПРОТОКОЛОВ Методическое пособие по дисциплине «Программное обеспечение компьютерных сетей и информационных систем»
Протоколы обмена данными Число эксплуатируемых в настоящее время протоколов обмена данными велико ; при этом разрабатываются все новые протоколы, обеспечивающие лавинное развитие сетевых технологий (появилась новая область вычислительной техники, называемая протокольной технологией).
Недостатки описания протокольных соглашений Классическое (неформально-словесное, например, ранее упомянутые RFC-документы) описание протокольных соглашений имеет ряд недостатков; важнейшие из них - не позволяющая однозначно согласовывать разрабатываемые стандарты субъективная природа восприятия словесных описаний (следствие - описания не имеют полноты и основы для анализа), возникают трудности и труднолокализируемые ошибки при создании реализующих эти протоколы программных и аппаратных средств
Достоинства формальных описаний протоколов По сравнению со словесными формальные описания обладают существенными преимуществами - они строги и однозначны, лежащие в основе конкретного метода формального описания модели позволяют выполнить анализ (верификацию) описаний, а также автоматизировать процесс трансляции этих описаний непосредственно в машинную реализацию.
Формальные методы Формальные методы описания протоколов могут быть разбиты на две группы - методы первой группы рассматривают объект как автомат (т.н. автоматные методы), методы второй группы - как черный ящик, характеризующийся только внешним поведением (т.н. методы последовательностей).
Формальные языки В качестве представителя первой группы может быть приведен язык ESTELLE (Extended State Transition Language), второй – язык LOTOS (Language of Temporal Orderin Specification); оба языка разработаны Международной организацией стандартов (ISO) и служат базовыми средствами для описания разрабатывающих международных стандартов
Языки ESTELLE и LOTOS Язык ESTELLE (1983 г.) основан на объединении логики конечного автомата (при добавлении элементов описания архитектурных особенностей протокольных систем) и языка программирования Pascal; применяемые в языке LOTOS (1984 г.) методы основаны на концепции временного упорядочения примитивов взаимодействия.
Язык ОСА (Описание Сетевых Архитектур В СССР для конкретного программно- аппаратного окружения был разработан (в рамках инструментального комплекса Архитектор) реализующий автоматный метод язык ОСА (Описание Сетевых Архитектур, основы и принципы языка впервые опубликованы в 1983 г.), предназначенный для реализации протокольных архитектур на вычислительных комплексах Эльбрус.
В комплект системы входят развитые средства анализа описаний на языке ОСА и средства тестирования и отладки (под конкретную аппаратную часть). С помощью языка OCA были разработаны специализированные протоколы канального и сетевого уровней, транспортный и сеансовый протокол, протоколы для передачи информации и файлов, протокол удаленного диалога; протокол удаленного запуска заданий (некоторый функциональный аналог RPC в WindowsNT).
Системы проектирования и описания протоколов Кроме вышеприведенных, известны FAPL (Format and Access Protocol Language, 1978), PANDORA (Protocol Analysis, Design and OpeRation Assesment, 1982), PDIL (Protocol Description and Implementation Language, 1982), ПРАНАС (Каунасский политехнический институт, 1985)
Как и в случае традиционных языков программирования, исходный текст на языке формального описания протоколов транслируется (после этапа отладки) в машинный код, исполняемый часто (специализированными) процессорами передачи сообщений (IMP - Interface Message Processor).
Литература 1. Чепмен Д. и др. Разработка InterNet-приложений в DELPHI 2. -Киев.:DiaSoft, c. 2. Елманова Н.З. Borland C++Builder (архитектура клиент/сервер, многозвенные системы, InterNet- приложения). -M.: Диалог-МИФИ, c. 3. Зайцев С.С. Описание и реализация протоколов сетей ЭВМ. -М.: Наука, c. 4. Клейнрок Л. Вычислительные системы с очередями. Пер. с англ. -М.: Мир, c. 5. Фролов А.В., Фролов Г.В. Локальные сети персональных компьютеров(монтаж сети, установка программного обеспечения). Библиотека системного программиста, т.7. M.: Диалог-МИФИ, c.