Specification and Description Language

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая KrBot (обсуждение | вклад) в 23:23, 18 мая 2012 (+ {{нет категорий}}). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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

Обзор

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

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

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

SDL покрывает пять основных аспектов: структуру, коммуникацию, поведение, данные и наследование. The behavior of components is explained by partitioning the system into a series of hierarchies. Communication between the components takes place with through gates connected by channels. The channels are of delayed channel type, so communication is usually asynchronous, but when the delay is set to zero (that is, no delay) the communication becomes synchronous.

The first version of the language was released in 1976 using graphical syntax (SDL-76). This was revised in 1980 with some rudimentary semantics (SDL-80). The semantics were refined in 1984 (SDL-84), the textual form was introduced for machine processing and data was introduced. In 1988, SDL-88 was released with a formal basis for the language: an abstract grammar as well as a concrete grammar and a full formal definition. The version released in 1992 (SDL-92) introduced object oriented concepts such as inheritance, abstract generic types etc. with the object-oriented features described by transformations into non-object oriented ones. SDL-2000 (initially released 1999) is the latest version completely based on object-orientation, rather than description by transformations. This version has had maintenance updates since 1999 and is accompanied by a UML-Profile: ITU-T Recommendation Z.109 (06/07), SDL-2000 combined with 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

Внешние ссылки