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

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

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

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

С каждым направлением может быть связан свой списокдопустимых сигналов.Графический синтаксис:<channel definition area> ::= <channel symbol>is associated with { <channel name><signal list area>[ <signal list area> ] }is connected to { <block area>{ <block area> | <frame symbol> }<channel symbol> ::=<channel symbol 1>| <channel symbol 2>| <channel symbol 3>58<channel symbol 1> ::=<channel symbol 2> ::=<channel symbol 3> ::=6.4.4. Межпроцессный каналГрафический синтаксис:<signal route definition area> ::= <signal route symbol>is associated with <name>{ <signal list area> [ <signal list area>] }is connected to { <process area>{<process area | <frame symbol> }<signal route symbol> ::= <signal route symbol 1>| <signal route symbol 2><signal route symbol 1> ::=<signal route symbol 2> ::=6.5.

Поведение6.5.1. Определение переменныхКаждый процесс (и процедура) могут статически определять локальныепеременные. Дополнительно, процесс (и процедура) могут иметь формальныепараметры. Все переменные создаются при порождении экземплярапроцесса (вызове процедуры) и уничтожаются при остановке процесса(возврате из процедуры).Графический синтаксис:<variable definition> ::= dcl <name> <sort>[:= <expression>] ;Примечание:При определении переменной можно указать выражение для инициализациипеременной при создании.6.5.2.

Стартовый символ59Стартовый символ определяет стартовый переход процесса, т.е.последовательность действий, выполняемую при порождении экземпляра данногопроцесса (статически или динамически).Графический синтаксис:<start area> ::= <start symbol>is followed by <transition area><start symbol> ::=6.5.3. СостояниеСостояние определяет набор реакций на сигналы (переходы). Каждоесостояние имеет имя. Состояние с именем «*» является особым: это способопределить переходы, общие для всех обычных состояний.<state area> ::=<state symbol> contains <state name> is associated with{ <input association area>| <save association area> } *<state name> ::=<asterisk> ::= *<name> | <asterisk><state symbol> ::=<input association area> ::= <solid association symbol>is connected to<input area><save association area> ::= <solid association symbol>is connected to<save area>6.5.4.

Прием сигналаСимвол приема сигнала определяет реакцию на данный сигнал (вданном состоянии). Непосредственно при получении сигнала переменные,указанные в символе приема сигнала, получают значения параметровсигнала.60Графический синтаксис:<input area> ::= <input symbol> contains { <stimulus> }is followed by <transition area><stimulus> ::= { <signal name> | <timer name> }[ ( <variable> { , <variable> }* ) ]<input symbol> ::=6.5.5. Сохранение сигналаСигналы, указанные в символе сохранения сигнала в некоторомсостоянии, игнорируются процессом в данном состоянии.

Эти сигналыостаются во входном порте процесса (в порядке поступления) дляпоследующей обработки в другом состоянии. Наличие механизма сохранениясигналов является важным, потому что в каждом состоянии определенастандартная реакция на любой сигнал, которая состоит в том, что сигнализымается из очереди и уничтожается, тогда как процесс остается в старомсостоянии.Графический синтаксис:<save area> ::= <save symbol> { contains <save list> }<save list> ::= { <signal list> | <asterisk> }<save symbol> ::=616.5.6.

МеткиМетки позволяют определять участки переходов, общие для несколькихсостояний.Графический синтаксис:<in-connector area> ::= <in-connector symbol>contains <connector name>is followed by <transition area><connector name> ::= <name><in-connector symbol> ::=6.5.7. ПереходПереход определяет последовательность действий, выполняемую процессом вкачестве реакции на получение некоторого сигнала в некотором состоянии. Вовремя выполнения перехода процесс может осуществлять доступ к переменным,посылать сигналы, а также порождать экземпляры процессов. Переходзаканчивается либо тем, что процесс попадает в новое состояние и ожидает тамследующего сигнала, либо остановкой процесса (возврат в случае процедуры), либопередачей управления на другой переход.Графический синтаксис:<transition area> ::= [<transition string area>] is followed by{ <state area>| <nextstate area>| <decision area>| <stop symbol>| <merge area>| <out-connector area>| <return area> }<transition string area> ::={ <task area>| <output area>| <set area>| <reset area>| <create request area>| <procedure call area> }[ is followed by <transition string area> ]626.5.8.

Терминаторы переходов6.5.8.1. Символ перехода в состояниеСимвол перехода в новое состояние определяет, в каком состоянии процессбудет ожидать следующего сигнала. <dash nextstate> означает, что изменениясостояния не происходит. Конструкция <dash nextstate> оказывается особенноценной при организации помеченных участков графа.Графический синтаксис:<nextstate area><nextstate body><dash nextstate><state name> ::=::= <state symbol> contains <nextstate body>::= { <state name> | <dash nextstate> }::= <name>6.5.8.2.

Символ перехода на меткуСимвол перехода на метку осуществляет передачу управления на новыйучасток перехода. Заметим, что явная передача управления на текущий переходявляется единственным средством организации циклов.Графический синтаксис:<merge area> ::= <merge symbol> is connected to<flow line symbol><merge symbol> ::= <flow line symbol><flow line symbol> ::=<out-connector area> ::= <out-connector symbol> contains<connector name><out-connector symbol> ::= <in-connector symbol>6.5.8.3. Символ остановкиВыполнение остановки процесса приводит к уничтожению всех переменныхпроцесса и всех необработанных сигналов из входного порта процесса.Графический синтаксис:<stop symbol> ::=636.5.8.4. Символ возврата из процедурыВозврат из процедуры означаеткотором произошел вызов процедуры.продолжение того перехода, наГрафический синтаксис:<return area> ::= <return symbol>[ is associated with <expression> ]<return symbol> ::=6.5.9.

Действия6.5.9.1. ПрисваиваниеГрафический синтаксис:<task area> ::= <task symbol> contains <assignment statement><task symbol> ::=6.5.9.2. Создание процессаГрафический синтаксис:<create request area> ::= <create request symbol>contains <create body><create request body> ::= <name> [ <actual parameters> ]<actual parameters> ::= ( <expression> { , <expression> }* )<create request symbol> ::=Динамическое поведение SDL системы описывается внутри процессов.Процессы могут создаваться при запуске системы, а также могут создаватьсяи уничтожаться динамически во время выполнения системы.

Можетсуществовать более одного экземпляра одного и того же процесса. Каждыйэкземпляр процесса имеет уникальный идентификатор PId. Это делаетвозможным посылку сигнала конкретному экземпляру процесса.Формальные параметры процесса получают свои значения при егосоздании. У экземпляров процессов, которые создаются статически, значенияформальных параметров неопределены.64У каждого процесса есть четыре стандартные переменные типа PId:- Собственный идентификатор процесса (переменная self);- Идентификатор родительского процесса (переменная parent);- Идентификатор последнего процесса, порожденного данным процессом(переменная child);- Идентификатор процесса, от которого был получен последнийполученный сигнал (переменная sender).При попытке создания лишних экземпляров процесса (т.е. больше чем<maximum number>, новый экземпляр не создается, переменная offspringполучает значение Null, а выполнение перехода продолжается.6.5.9.3.

Вызов процедурыГрафический синтаксис:<procedure call area> ::= <procedure call symbol> contains<procedure call body><procedure call body> ::= <name> [ <actual parameters> ]<procedure call symbol> ::=6.5.9.4. Посылка сигналаПри посылке сигнала можно явно указать маршрут, по которому долженбыть направлен сигнал (конструкция via), либо процесс-получатель(конструкция to) в одной из двух форм: либо имя процесса-получателя, либоуникальный PId процесса-получателя. Если при посылке сигнала указаноимя процесса-получателя, то сигнал попадет к произвольному экземплярупроцесса с данным именем (если таковые вообще существуют).Графический синтаксис:<output area> ::= <output symbol> contains <output body><output body> ::= <signal name> [ <actual parameters> ][ to <destination> ] [ via <via path> ]<destination> ::= <Pid expression> | <name><via path> ::= <channel name>| <signal route name><signal name> ::= <name><channel name> ::= <name><signal route name> ::= <name><output symbol> ::=656.5.10.

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

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

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