Язык спецификации и описания
Язык спецификации и описания ( SDL ) — это язык спецификации, предназначенный для однозначной спецификации и описания поведения реактивных и распределенных систем .
Обзор
[ редактировать ]ITU -T определил SDL в Рекомендациях Z.100–Z.106. SDL изначально ориентировалась на телекоммуникационные системы; По состоянию на 2016 год [update] его текущие области применения включают управление процессами и приложения реального времени в целом. Благодаря своей природе его можно использовать для представления систем моделирования. [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 состоит из функциональных блоков, и каждый блок может быть дополнительно разложен на подблоки. Блок самого низкого уровня состоит из одного процесса или нескольких процессов, описываемых как конечные автоматы.
Коммуникация
[ редактировать ]Блоки связаны через каналы, по которым передаются сообщения (или сигналы), которыми обмениваются блоки. Блочный агент состоит из агентов процесса.
Поведение
[ редактировать ]Каждый агент процесса представляет собой конечный автомат, который вносит свой вклад в действие, выполняемое системой. Сообщение-стимул, поступающее из окружающей среды или от другого агента к агенту, называется сигналом. Сигналы, полученные агентом процесса, сначала помещаются в очередь (входной порт). Когда конечный автомат находится в состоянии ожидания, если первый сигнал во входном порту включен для этого состояния, он запускает переход, ведущий в другое состояние. Переходы могут выводить сигналы другим агентам или в окружающую среду. Агенту процесса разрешено содержать типы процедур, чтобы одни и те же действия можно было вызывать из разных мест. Также разрешено вызывать процедуру удаленного типа, чтобы вызвать процедуру в другом агенте (или даже в другой системе) и дождаться ответа.
В этом примере MyVariable имеет тип INTEGER и является единственной переменной в процессе. Первый переход — это начальный переход, который инициализирует локальную переменную. сообщение запроса на соединение conReq Отправляется 5-секундный таймер conReqTimer , запускается , и конечный автомат переходит в состояние соединения . В состоянии соединения , если таймер срабатывает (что эквивалентно получению сообщения), запрос на соединение отправляется снова до 10 раз. Если получено подтверждение соединения, конечный автомат переходит в подключенное состояние. Это типичный сценарий телекоммуникационного протокола.
Доступные символы:
Данные
[ редактировать ]Абстрактные типы данных 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 Нотация тестирования и контроля тестирования, версия 3. Язык тестирования, стандартизированный ITU-T и написанный ETSI.
- Унифицированный язык моделирования . Общая нотация моделирования. Профиль стандартизирован на основе SDL.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Фонсека и Касас, Пау и Пи, Ксавье и Казановас, Хосеп и Хове, Жорди (2013). «Определение имитационных моделей виртуальной реальности с использованием диаграмм языка спецификации и описания». SDL 2013: Проектирование надежности на основе моделей . Конспекты лекций по информатике. Том. 7916. Шпрингер Берлин Гейдельберг . стр. 258–274. дои : 10.1007/978-3-642-38911-5_15 . HDL : 2117/22156 . ISBN 978-3-642-38910-8 .
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ Р. Грамм; Р. Готцхейн (2007). Фундаментальные подходы к программной инженерии . Конспекты лекций по информатике. Том. 4422. Спрингер . стр. 200–214. дои : 10.1007/978-3-540-71289-3_17 . ISBN 978-3-540-71288-6 . S2CID 22556123 .
- ^ «Язык спецификации и описания – реальное время» . Проверено 29 марта 2014 г.
Основное использование SDL-RT — разработка встроенного программного обеспечения реального времени. SDL-RT основан на одновременно выполняемых задачах, которые обмениваются информацией посредством сообщений и синхронизируются друг с другом с помощью семафоров.