Главная » Просмотр файлов » Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ

Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ (1184226), страница 9

Файл №1184226 Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ (Мансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ.pdf) 9 страницаМансуров Н. Н., Майлингова О. Л. - Методы формальной спецификации программ (1184226) страница 92020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 9)

Структура SDL системыНа Рис. 11 показаны четыре основные уровня иерархии в языке SDL: система,блок, процесс и процедура.50Рис. 11. Средства описания структуры51SDL диаграмма содержит следующие вспомогательные символы:Рис. 12. Вспомогательные символы на диаграмме системыСимвол импорта пакетовСимвол импорта пакетов (Package Reference Symbol)подключения определений из импортируемых пакетов.используетсядляОсновной заголовокОсновной заголовок (Kernel Heading Symbol) автоматически создается редакторомSDL диаграмм.

В этом символе содержится информация о типе и имениредактируемой диаграммы. Основной заголовок можно редактировать.Дополнительный заголовокДополнительный заголовок (Additional Heading Symbol) используется для заданиянаследования и специализации, а также для задания формальных параметровпроцессов и процедур.РамкаРамка (Frame Symbol) автоматически добавляется редактором. Размер рамкиможно изменять, потянув мышью за один из углов.Номер страницыНомер страницы (Page Number Symbol) автоматически обновляется редактором.Номер страницы состоит из имени текущей страницы и общего числа страниц.Данный символ нельзя редактировать.526.3.1.

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

Каналы соединяют блоки друг сдругом или с окружением системы.Графический синтаксис:<system diagram> ::=[ <package reference area> ] is associated with<frame symbol> contains{ <system heading>{ <system text area> }*<block interaction area>{ <procedure area>}* }<frame symbol> ::=<system heading> ::= system <name><system text area> ::= <text symbol> contains{ <signal definition>| <data definition> }*<block interaction area> ::= {<graphical block reference>| <channel definition area> }*<graphical block reference> ::= <block symbol> contains <name><block symbol> ::=6.3.2.

БлокБлок является контейнером для одного или более процессов или содержитвложенные блоки (сгруппированные в <block substructure area>). Блок определяетструктуру коммуникации для процессов в виде межпроцессных каналов междуотдельными процессами, а также между процессами и окружением блока.Графический синтаксис:53<block diagram> ::= <frame symbol>contains {<block heading>{<block text area> }* <procedure area> }*{<process interaction area>|<block substructure area>}}is associated with { <channel identifiers> }*<channel identifiers> ::= <channel identifier>{,<channel identifier>}*Примечание:<channel identifiers> определяют соединения межпроцессных каналов смежблочными каналами в окружении блока.

Графически, соединениярасполагаются снаружи рамки блока вблизи конца межпроцессного канала нарамке блока.<block heading> ::= block <name><block text area> ::= <system text area><process interaction area> ::= { <process area>| <create line area>| <signal route definition area> }+<process area> ::= <graphical process reference><graphical process reference> ::= <process symbol>contains{<process name>[<number of process instances>]}<process symbol> ::=<create line area> ::= <create line symbol>is connected to { <process area> <process area> }<create line symbol> ::=6.3.3.

ПроцессПроцесс является основным «носителем» поведения. Несколько экземпляроводного процесса могут работать асинхронно и параллельно друг с другом иэкземплярами других процессов.Каждый экземпляр процесса – это расширенный конечный автомат,взаимодействующий с другими такими же автоматами и с окружением системы.Процесс выполняет последовательности действий (переходы) в качестве реакции наполучение сигнала.

После выполнения цепочки действий процесс ожидаетполучения нового сигнала в некотором состоянии. Каждый процесс имеет54единственный входной порт (очередь сигналов), в которую попадают сигналы отвсех остальных процессов в порядке поступления.При порождении системы статически создаются некоторые экземплярыпроцессов. Обмен сигналами начинается только после того момента, когдасозданы все статические экземпляры процессов. Остальные экземпляры процессовмогут порождаться динамически другими процессами (в качестве одного издействий на некотором переходе).

При этом на диаграмме блока нужно указыватьсвязь по порождению между процессами (от «процесса-отца» к «процессу-сыну»).Графический синтаксис:<process diagram> ::= <frame symbol>contains { <process heading>{ <process text area> }*{ <procedure area> }*<process graph area> }<process text area> ::= <text symbol> contains {[ <valid input signal set> ]{ <signal definition>| <signal list definition>| <variable definition>| <data definition>| <timer definition> }*<process heading> ::= process <name>[ <number of process instances> ; ][<formal parameters>]<process graph area> ::=<start area> { <state area> | <in-connector area> }*<number of process instances> ::=(<initial number>,<maximum number>)<initial number> ::= <natural expression><maximum number> ::= <natural expression><valid input signal set> ::= signalset [<signal list> ] ;<formal parameters> ::= fpar <parameter of sort>{ , <parameter of sort> }*<parameter of sort> ::= <variable name> <sort>Примечание:<initial number> задает число экземпляров процесса, порождаемых статически присоздании системы.

<maximum number> задает максимальное число одновременносуществующих экземпляров данного процесса.Конструкция <valid input signal set> позволяет явно специфицировать множестводопустимых сигналов процесса (интерфейс процесса). Если эта конструкция незадана явно, интерфейс процесса вычисляется как множество всех входных55сигналов, указанных во всех межпроцессных каналов, присоединенных к данномупроцессу на соответствующей диаграмме блока.6.3.4. ПроцедураПроцедура позволяет объединять набор состояний и переходов в единоецелое и вводит некоторое имя для последующей работы с этим набором.Графический синтаксис:<procedure diagram> ::= <frame symbol>contains { <procedure heading>{ <procedure text area>| <procedure area> }*<procedure graph area> }<procedure area> ::= <graphical procedure reference><procedure text area> ::= <text symbol> contains{ <variable definition>| <data definition> }*<graphical procedure reference> ::=<procedure symbol> contains{ <procedure preamble> <procedure name> }<procedure symbol> ::=<procedure heading> ::= procedure <name>[<procedure formal parameters>][<procedure result>]<procedure graph area> ::= [<procedure start area>]{ <state area> | <in-connector area> }*<procedure start area> ::= <procedure start symbol>is followed by <transition area><procedure start symbol> ::=<procedure formal parameters> ::= fpar<formal variable parameter>{ , <formal variable parameter> }*<formal variable parameter> ::=<parameter kind> <parameter of sort><parameter kind> ::=[ in/out | in ]<procedure result> ::= returns <variable name>6.4.

Взаимодействие56<sort>Рис. 13. Посылка сигнала между двумя процессамиВ языке SDL нет глобальных данных. Передача информации междупроцессами или между процессами и окружением системы осуществляется черезпосылку сигналов (возможно с параметрами). Сигналы передаются от одногопроцесса (процесса-отправителя) во входной порт другого процесса (процессаполучателя). Процесс-отправитель и процесс-получатель могут совпадать. Посылкасигнала является асинхронной, т.е.

процесс-отправитель продолжает работу, неожидая подтверждения о получении сигнала процессом-получателем. Сигналыпередаются по статически определенной сети межблочных и межпроцессныхканалов, связанных соединениями. Заметим, что в каждом соединении могутучаствовать по несколько каналов как с внешней, так и с внутренней стороны.6.4.1. Сигнал57Графический синтаксис:<signal definition> ::= signal <name> [<sort list>]<sort list> ::= ( <sort> { , <sort> }* )6.4.2.

Список сигналовСписок сигналов позволяет объединять несколько сигналов в единую группу ииспользовать имя этой группы в определениях каналов и т.д.Графический синтаксис:<signal list area> ::= <signal list symbol>contains <signal list><signal list symbol> ::=<signal list definition> ::= signallist <name> = <signal list> ;<signal list> ::= <signal list item> { , <signal list item> }*<signal list item> ::= { <signal name>| ( <signal list name> )| <timer name><signal name> ::= name<signal list name> ::= name<timer name> ::= <name>6.4.3. КаналКанал описывает маршрут передачи сигналов между двумя блоками или медублоком и его окружением. Каналы могут быть однонаправленные илидвунаправленные.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6358
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее