Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Язык спецификаций и описания ( SDL ) - это язык спецификаций, нацеленный на недвусмысленную спецификацию и описание поведения реактивных и распределенных систем .

Обзор [ править ]

МСЭ-Т определил SDL в Рекомендации Z.100 к Z.106. SDL изначально ориентировался на телекоммуникационные системы; По состоянию на 2016 год его текущие области применения включают управление процессами и приложения реального времени в целом. Благодаря своей природе он может использоваться для представления систем моделирования [1] без двусмысленности и с графическим обозначением.

Язык спецификации и описания обеспечивает как графическое графическое представление (SDL / GR), так и текстовое представление фраз (SDL / PR), которые являются эквивалентными представлениями одной и той же базовой семантики. Модели обычно отображаются в графической форме SDL / GR, а SDL / PR в основном используется для обмена моделями между инструментами. Система определяется как набор взаимосвязанных абстрактных машин, которые являются расширениями конечных автоматов (FSM).

Язык формально завершен , [2] поэтому его можно использовать для генерации кода либо для моделирования, либо для конечных целей.

Язык спецификации и описания охватывает пять основных аспектов: структуру, взаимодействие, поведение, данные и наследование. Поведение компонентов объясняется разделением системы на серию иерархий. Связь между компонентами происходит через шлюзы, соединенные каналами. Каналы относятся к типу каналов с задержкой, поэтому связь обычно асинхронная, но когда задержка установлена ​​на ноль (то есть без задержки), связь становится синхронной.

Первая версия языка была выпущена в 1976 году с использованием графического синтаксиса (SDL-76). Это было пересмотрено в 1980 году с некоторой элементарной семантикой (SDL-80). Семантика была уточнена в 1984 г. (SDL-84), была введена текстовая форма для машинной обработки и введены данные. В 1988 году был выпущен SDL-88 с формальной основой для языка: абстрактной грамматикой, а также конкретной грамматикой и полным формальным определением. Версия, выпущенная в 1992 году (SDL-92), представила объектно-ориентированные концепции, такие как наследование, абстрактные общие типы и т. Д., С объектно-ориентированными функциями, описываемыми преобразованиями в не объектно-ориентированные. SDL-2010 - это последняя версия, обновленная версия SDL-2000, которая полностью основана на объектной ориентации, а не на описании посредством преобразований. Эта версия сопровождаетсяUML- профиль: Рекомендация ITU-T Z.109 (04/12), SDL-2010 в сочетании с UML. SDL-2010 также представила поддержку типов данных C, изначально представленных SDL-RT.

Организация [ править ]

Уровень иерархии [ править ]

Уровень иерархии SDL структурирован следующим образом.

  • Пакет библиотеки
  • Системный агент
  • Блокировать агент
  • Технологический агент
  • Тип процедуры
  • Удаленная процедура

Архитектура [ править ]

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

SdlArchitecture.JPG

Связь [ править ]

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

SdlChannels.png

Поведение [ править ]

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

SdlStateMachine.png

В этом примере MyVariable имеет тип INTEGER и является единственной переменной в процессе. Первый переход - это начальный переход, который инициализирует локальную переменную. Отправляется сообщение conReq с запросом на соединение, запускается 5-секундный таймер conReqTimer , и конечный автомат переходит в состояние подключения . В состоянии подключения, если таймер срабатывает, что эквивалентно получению сообщения, запрос на подключение отправляется повторно до 10 раз. Если получено подтверждение подключения, конечный автомат переходит в состояние подключения . Это типичный сценарий телекоммуникационного протокола.

Доступные символы:

SdlSymbols.jpg

Данные [ редактировать ]

Абстрактные типы данных SDL (ADT) поддерживают базовые типы данных, такие как INTEGER, REAL, CHARSTRING, а также структурированные, такие как структуры (STRUCT), перечисляемые (LITERALS), константы (SYNONYMS). Синтаксис похож на синтаксис Паскаля, например, присваивание записывается ': ='.

Варианты [ править ]

  • SDL-RT основан на спецификации и языке описания ITU, заменяя язык данных на C. [3] Последняя версия стандарта SDL (SDL'2010) теперь включает поддержку типов данных C и синтаксиса, что делает SDL-RT основным принципом частью официальный стандарт.
  • TNSDL - это вариант, разработанный Nokia для внутреннего использования.

Связанные технологии [ править ]

  • Таблица последовательности сообщений MSC . Еще одна нотация, относящаяся к ITU-T, для описания динамического поведения системы.
  • Первая абстрактная синтаксическая нотация ASN.1 . Стандарт ISO для описания типов данных, которые могут использоваться в SDL.
  • TTCN-3 Testing and Test Control Notation, версия 3. Язык тестирования, стандартизированный ITU-T и написанный ETSI.
  • Унифицированный язык моделирования Общие обозначения моделирования. Профиль стандартизирован на основе SDL.

См. Также [ править ]

Ссылки [ править ]

Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.

  1. ^ Fonseca я Casas, Pau и Pi, Ксавьер и Казанова, Хосеп и Jove, Хорди (2013 год ). «Определение имитационных моделей виртуальной реальности с помощью спецификаций и языковых диаграмм описания». SDL 2013: Разработка надежности на основе моделей . Конспект лекций по информатике. 7916 . Springer Berlin Heidelberg . С. 258–274. DOI : 10.1007 / 978-3-642-38911-5_15 . hdl : 2117/22156 . ISBN 978-3-642-38910-8.CS1 maint: несколько имен: список авторов ( ссылка )
  2. ^ Р. Грэммс; Р. Готжеин (2007). Фундаментальные подходы к разработке программного обеспечения . Конспект лекций по информатике. 4422 . Springer . С. 200–214. DOI : 10.1007 / 978-3-540-71289-3_17 . ISBN 978-3-540-71288-6.
  3. ^ «Спецификация и язык описания - в реальном времени» . Проверено 29 марта 2014 . SDL-RT в основном используется для разработки встроенного и реального программного обеспечения. SDL-RT основан на задачах, выполняемых одновременно, которые обмениваются информацией через сообщения и синхронизируются друг с другом с помощью семафоров. CS1 maint: discouraged parameter (link)

Внешние ссылки [ править ]

  • Языки МСЭ и общие аспекты программного обеспечения для систем электросвязи
  • SDL Forum Society
  • Список инструментов SDL