Лекция № 9
Модели состояний и переходов (окончание)
Язык sdl
Язык SDL (Specification and Description Language) был разработан первоначально для проектирования цифровых систем в телефонии (в частности, цифровых АТС). Он основан на модели расширенных конечных автоматов и имеет как графическую, так и эквивалентную ей текстовую нотацию. Описание процесса в виде диаграммы состояний и переходов составляется из четырех базовых элементов:
Рис. 9-1. Основные элементы графической нотации SDL
Состояние здесь всегда ожидание без действий, переходы происходят при приеме ожидаемых сигналов, действия (выдача сигналов, процедуры или арифметические вычисления) выполняются во время перехода. Эквивалентное преобразование традиционной КА-диаграммы в схему SDL-процесса показано на рис. 9-2.
а) б)
Рис. 9-2. а) Фрагмент КА-диаграммы, б) эквивалентный фрагмент SDL-схемы
Для большей выразительности и лаконичности языка набор основных элементов расширен; некоторые расширения показаны на рис. 9-3. Таким образом, процессы – это КА, обменивающиеся сигналами (см. рис. 9-5, а). Сигналы могут передавать параметры – константы и переменные. Переменные могут хранить предысторию и влиять на переходы (моделирование предикатов): на рис. 9-4 показано разветвление перехода в зависимости от условия Counter < 3.
Есть два средства структуризации. Несколько процессов могут объединяться в блок. Блоки связываются друг с другом каналами передачи сигналов. Несколько блоков образуют систему – так достигается структуризация описания. На рис. 9-5, в) изображен блок управления лифтом: открыванием/закрыванием дверей и переме-щением кабины между этажами. Он состоит из трех процессов. Два других блока системы – датчики/привод дверей и датчики/привод подъемного механизма. Задание 1.
Рис. 9-3. Расширения основных элементов SDL
Рис. 9-4. Разветвление перехода
а) б)
Рис. 9-5. а) условное обозначение процесса;
б) верхний уровень описания автоматики лифта
Язык SDL используется в основном как язык спецификаций, хотя возможны и существуют трансляторы с текстовой нотации языка на инструментальный язык программирования.
Унифицированный язык моделирования uml
UML (Unified Modeling Language) предназначен для спецификации, визуализации, проектирования и документирования отчуждаемых материалов существенно программных систем. Он существует и развивается с 1995 г., будучи создан как объединение трех объектно-ориентированных технологий: Booch, OMT и OOSE. Его стандартизацией, распространением и программной поддержкой занимается фирма Rational, основной продукт которой - Rational Rose. Хотя UML является строго определенным языком, он не ставит барьеров на пути развития средств моделирования: он может быть расширен без переопределения своего ядра. Предполагается использовать UML как основы для создания средств визуального моделирования. Многие компании, включая Microsoft, заявили о поддержке UML. В пакетах Visio и MS Visual Studio содержатся средства редактирования диаграмм UML.
Определение UML является самодостаточным и включает в себя следующие документы: Семантика, Нотация, Спецификации языка OCL (Object Constraint Language) и Расширение UML. Ниже следует обзор нотации UML.