Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ (1184226), страница 12
Текст из файла (страница 12)
Добавление корневого узла в дерево системыДля добавления корневого узла в дерево системы нужно проделатьследующие операции:1. Выберите область My first SDL system в Организаторе2. Выберите команду Add New из меню Edit. Выполнение данной командыприводит к появлению диалога Add New, в котором надо задать имя и типновой диаграммы (Рис. 18).72Рис. 18. Добавление новой диаграммы3. Выберите SDL как тип нового документа (колонка New document type) иSystem как тип диаграммы в соответствии с тем, как показано выше.4.
Задайте имя диаграммы Demongame (по умолчанию имя новойдиаграммы - Untitled).5. Выключите настройку Show in Editor.6. Завершите операцию, нажав кнопку OK.После выполнения операции в окне Организатора появляетсякорневой узел дерева SDL системы - диаграмма системы Demongame. (см.Рис. 19). Диаграмма обозначена как [unconnected] (т.е. она пока несвязана ни с каким файлом).Рис. 19.
Корневой узел дерева SDL системы7.4.2. Сохранение дерева системыВы сохранили диаграмму системы. Дополнительно, нужносохранить дерево системы, созданное в Организаторе. Организаториспользует для этой цели так называемый системный файл (System File).73Для сохранения системного файла нужно выбрать команду Save из менюFile Организатора.Рис. 20. Диалог Save ОрганизатораСистема SDT предлагает имя системного файла demongame.sdt(суффикс *.sdt является стандартным для системных файлов).Завершите выполнение команды, нажав на кнопку OK.Команда Open из меню File Организатора позволяет открытьсистемный файл уже существующей системы.Существует возможность сохранить сразу все измененные диаграмм исистемный файл при помощи одной единственной команды.• Нажмите кнопку Save All в диалоге сохранения в Организаторе; или• Нажмите «быструю клавишу» Save на инструментальной панелиОрганизатора.
Данная команда сохранит все диаграммы и деревосистемы без дополнительных подтверждений, кроме случаев,требующих вмешательства пользователя. Заметим, что «быстраяклавиша» Save на инструментальной панели редактора сохраняеттолько текущую диаграмму.7.5. ЗаключениеВ данной главе были описаны основные приемы работы сОрганизатором системы SDT. В результате выполнения упражнений даннойглавы вы должны были научиться:• настраивать области Организатора;• создавать дерево SDL системы в Организаторе;• создавать новую диаграмму системы• добавлять новые страницы к диаграмме• редактировать диаграмму системы• сохранять диаграммы• работать с диалогами системы SDT• работать с деревом SDL системы74Глава 8. Редактор диаграмм взаимодействияУпражнения данного урока позволят вам научиться:- создавать диаграммы взаимодействия;- редактировать диаграммы взаимодействия;8.1.
Создание диаграмм взаимодействияДля создания диаграммы взаимодействия нужно выполнить следующиеоперации:1. Выбрать область Other Documents в окне Организатора2. Выбрать команду Add New из меню Edit (или нажать «горячую клавишу»).3. Указать тип диаграммы как MSC. Ввести имя диаграммы: DemonGame.Включить режим Show in editor.Рис. 21. Задание типа и имени диаграммы взаимодействия754.
Завершите выполнение операции, нажав на кнопку OK. В окнеОрганизатора появится символ диаграммы взаимодействия.Рис. 22. Символ диаграммы взаимодействия8.2. Редактирование диаграмм взаимодействияВид окна редактирования диаграмм взаимодействия приведен на Рис. 23.Рис. 23. Окно редактирования диаграмм взаимодействия76В данном уроке мы создадим диаграмму взаимодействия для примера«ИгральныйАвтомат».Окончательныйвиддиаграммывзаимодействия приведен на Рис.
25.Диаграммасостоитизчетырехобъектов(изображаемыхвертикальными линиями с прямоугольным заголовком), несколькихсимволов передачи сообщения (изображаемых горизонтальными диниями,заканчивающихсястрелками),созданияпроцесса(изображаемыхпунктирной горизонтальной линией), таймера (изображаемого символом«песочные часы») и двух состояний (изображаемых вытянутымишестиугольниками). Дополнительно, на диаграмме присутствует текстовыйсимвол, содержащий комментарий.Для создания диаграммы нужно выполнить следующие операции:1. Добавьте текстовый символ и введите текст.2. Добавьте три объекта с именами env, Main и Demon.- Выберите символ заголовка объекта в палитре символов, разместите его вобласти редактирования в соответствии с Рис.
25. Ось объекта создаетсяредактором автоматически.- Введите имя объекта (Env, Main, Demon)- Введите тип объекта (process Main, process Demon)тип объектаимя объектаРис. 24. Текстовые атрибуты заголовка объектаПоложение объекта в области редактирования можно изменять,передвигая заголовок объекта.77Рис. 25. Диаграмма взаимодействия DemonGame783. Добавьте сообщение Newgame:- Выберите символ сообщения из палитры символов.- Укажите точку отправки сообщения на оси объекта env , щелкнувмышью.- Укажите точку получения сообщения на оси объекта Main.- Введите имя сообщения (Newgame).- Положение сообщения можно изменять, перемещая его мышью.
Можноотдельно менять точку отправки и точку получения сообщения на осяхобъектов.4. Объект Game создается динамически. Добавьте символ порожденияпроцесса (аналогично символу сообщения):- Выберите символ порождения процесса из палитры символов.- Укажите точку создания нового процесса на оси объекта Main.- Разместите заголовок нового объекта, щелкнув мышью в нужном местеобласти редактирования.- Введите тип нового объекта и его имя.5.
Добавьте первый символ состояния на ось объекта Game.- Выберите символ состояния в палитре символов и укажите его место наоси объекта, щелкнув мышью. Введите имя состояния: Losing.- Символ состояния можно передвигать вдоль оси объекта.6. Добавьте символ установки таймера на ось объекта Demon.- Выберите символ таймера в палитре символов.- Укажите точку установки таймера на оси объекта.- Укажите точку срабатывания таймера.- Введите имя таймера: T.7. Добавьте все остальные сообщения. Сообщение Score содержитпараметр со значением 1. Для ввода значения параметра, выберитенижний прямоугольник.имя сообщениясписок параметровРис. 26.
Текстовые атрибуты сообщения798.9.Завершите создание диаграммы, добавив символ остановки процесса:Выберите символ остановки процесса в палитре символов.Поместите его на оси объекта Game.Сохраните диаграмму взаимодействия.8.3. ЗаключениеВ данной главе были описаны основные приемы работы с редакторомдиаграмм взаимодействия системы SDT.
В результате выполненияупражнений данной главы вы должны были научиться- создавать диаграммы взаимодействия;- редактировать диаграммы взаимодействия.80Глава 9. Редактор SDL диаграммВ данной главе мы«Игральный автомат».создадимSDL-спецификациипримера9.1. Диаграмма системыСоздайте корневой узел дерева структуры SDL системы как показано вупражнениях главы «Организатор системы SDT».9.1.1. Создание диаграммы системыДля создания диаграммы системы нужно выполнить следующиеоперации:1.
Выберите символ системы в дереве системы (в углах символа должныпоявиться черные квадраты, как показано на Рис. 19)2. Выберите команду Edit в меню Edit. Существуют альтернативныевозможности перехода к редактированию диаграммы:• При нажатии правой кнопки мыши появляется вспомогательное меню, вкотором можно выбрать раздел Edit, а в нем - команду Edit.• Самый быстрый переход к редактированию диаграммы – двойной щелчоклевой кнопкой мыши на символ диаграммы в дереве SDL системы.3. Дополнительный диалог Edit предложит создать новую диаграмму иоткрыть окно редактирования (настройка Show in editor) (см.
Рис. 27).81Рис. 27. Диалог создания диаграммы4. Завершите операцию, нажав на кнопку OK.Верхняя левая часть окна редактирования диаграммы показана на Рис. 28.82Рис. 28. Окно редактора SDL диаграмм9.1.2. Редактирование диаграммы системыСледующим шагом будет заполнение диаграммы. На Рис. 29 показанокончательный вид диаграммы системы DemonGame. Диаграмма состоит издвух блоков: GameBlock и DemonBlock. Блоки соединены каналом сименем C3.
Два других канала (C1 и C2) осуществляют взаимодействиесистемы с окружением. Дополнительно, на диаграмме системы существуеттекстовый символ, содержащий определения сигналов.83Рис. 29. Диаграмма системы DemonGameВ следующих разделах будет подробно показано, как происходит добавлениесимволов и текста в редакторе SDL диаграмм.9.1.3. Добавление новых блоковДля добавления блоков нужно выполнить следующие операции:1. Выбрать символ блока в палитре символов.
Палитра символоврасположена вертикально с правой стороны в окне редактора. Символ блока четвертый сверху.2. Переместите курсор в область диаграммы. Символ блока «плывет» вследза курсором. Нажмите на кнопку мыши в том месте, где вы хотите поместитьновый блок. Наложение символов недопустимо.
В случае если выбранноеместо для блока приводит к наложению символов, операцию необходимоповторить сначала.843. После выбора места блока введите имя блока (DemonGame илиGameBlock).• Можно вводить текст внутрь символа в текущей позиции курсора.Позицию курсора можно изменить, нажав на кнопку мыши внутрисимвола.• Можно вводить текст в текстовом окне (внизу под областьюредактирования).Примечания:• Редактируемый текст появляется как внутри символа, так и в текстовомокне• При добавлении нового блока происходит автоматическое обновлениедерева структуры системы в окне Организатора.• Любую операцию можно отменить, выбрав команду Undo в меню Edit.9.1.4.
Перемещение символов и изменение их размеровДля перемещения символа на диаграмме нужно нажать левую кнопкумыши внутри данного символа и, не отпуская кнопки, переместить символ нановое место.Для изменения размеров символов нужно потянуть за один из уголковсимвола. Курсор должен быть достаточно близко к уголку. Если неполучается - нужно сначала выбрать данный символ, нажав кнопку мышивнутри символа, а затем повторить операцию.9.1.5.
Создание каналов между блокамиДля создания канала от блока DemonBlock к блоку GameBlock:1. Выбрать блок DemonBlock. В нижней части символа появится "ушко"(handle).ушкоРис. 30. Ушко852. «Потяните» за «ушко». Как только редактор зафиксирует движение«ушка», начнется отрисовка линии канала. С этого момента кнопку мышиможно отпустить.3. Щелкните мышью внутри блока GameBlock. Произойдет подсоединениеканала.С каждым каналом связаны два текстовых атрибута для ввода имениканала и списка сигналов, допустимых для передачи по данному каналу.Рис. 31.
Текстовые атрибуты каналаСразу после создания канала введите его имя (C3). Иногда нужнопредварительно выбрать символ канала.Для задания списка сигналов, передаваемых по каналу (сигнал Bump)нужно проделать следующие операции:1. Выберите текстовое поле, окруженное квадратными скобками [ и ]. (Дляэтого надо щелкнуть мышью в пространстве между квадратными скобками).2. Введите имя сигнала.3. Текстовые атрибуты канала можно перемещать по диаграмме.9.1.6.