Specification and Description Language

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Kirrbyss (обсуждение | вклад) в 15:04, 6 июня 2012 (Обзор). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Specification and Description Language (SDL) — это язык спецификаций, предназначенный для получения недвусмысленных спецификаций и описаний поведения реактивных и распределенных систем.

Обзор

Стандарт языка определен МККТТ (Рекомендации с Z.100 по Z.106). Исходно язык был ориентирован на телекоммуникационные системы, но сейчас в его область применения входят управление процессами и, вообще, приложения реального времени.

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

Язык полон по ТьюрингуОшибка: некорректно задана дата установки (исправьте через подстановку шаблона), поэтому он может быть использован для кодогенерации как для симуляции, так и для конечного продукта.

SDL покрывает пять основных аспектов: структуру, коммуникацию, поведение, данные и наследование. Поведение компонентов объясняется разделением системы на уровни иерархии. Связь между компонентами происходит при помощи гейтов, соединенных каналами. Эти каналы имеют некоторую задержку, поэтому связь обычно асинхронна; при установки задержки в ноль она превращается в синхронную.

Первая версия языка была опубликована в 1976, он использовал графический синтаксис (SDL-76). В 1980 он был дополнен элементарной семантикой (SDL-80). В 1984 была улучшена семантика (SDL-84), а также была введена текстовая форма для машинной обработки. В 1988 был опубликован SDL-88, включавший формальные основания языка: абстрактную и реальную грамматики, а также полное формальное определение. Версия, выпущенная в 1992 (SDL-92) вводила объектно-ориентированные концепции, такие как наследование, абстрактные базовые типы и т. д., причем для объектно-ориентированных возможностей были описаны преобразования, приводящие их к стандартным. SDL-2000 (исходно опубликованный в 1999) - последняя на данный момент (июнь 2012) версия, полностью основанная на идеях объектно-ориентированного программирования и больше не включает в себя их сведение к базовым возможностям. Для этой версии с 1999 года выпускались служебные обновления, также для нее был разработана Рекомендация МККТТ Z.109 (06/07), где SDL-2000 объединен с UML.

Hierarchy level

The Hierarchy level of SDL is structured as follows.

Usually a system agent consists of a number of block agents. Block agent communicate with each other using channels. A block agent consists of process agents (the required structure in SDL-92; SDL-2000 is more flexible). Each process agent is a state machine that contributes to the action carried out by the system. A message stimulus from the environment or another agent to an agent is called a signal. Signals received by a process agent are first placed in a queue (the input port). When the state machine is waiting in a state, if the first signal in the input port is enabled for that state it starts a transition leading to another state. Transitions can output signals to other agents or to the environment. A process agent is allowed to contain procedure types so that the same actions can be invoked from different places. It is also allowed to call a remote procedure type to invoke a procedure in another agent (or even another system) and wait for a response.

SDL tools

Наиболее известными инструментами моделирования с поддержкой SDL являются Telelogic Tau, PragmaDev RTDS, Cinderella, Safire-SDL и ObjectGeode (более не выпускается). PragmaDev RTDS поддерживает как SDL, так и SDL-RT, который используется для разработки приложений реального времени и встраиваемых систем. Также существуют свободные приложения, поддерживающие SDL, например JADE — Java-среда для разработки спецификаций.

См. также

Ссылки

Шаблон:FOLDOC

Ссылки