Specification and Description Language
![]() | Эта страница требует существенной переработки. |
Эта статья или раздел содержит незавершённый перевод с английского языка. |
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-среда для разработки спецификаций.
См. также
Ссылки
Ссылки
- ITU Languages and general software aspects for telecommunication systems
- SDL forum
- SDL-RT for real time systems
- PragmaDev Real Time Developer Studio (COMMERCIAL)
- SDL Suite by IBM (acquired from Telelogic) an SDL Design Tool (COMMERCIAL)
- Cinderella SDL Design Tool (COMMERCIAL)
- SanDriLa SDL Design Tool (COMMERCIAL)
- SAFIRE Integrated Development & Run-Time Environment (COMMERCIAL)
- SDL tool from Humboldt University of Berlin