Главная » Просмотр файлов » 2. Model Checking. Вериф. парал. и распределенных программных систем. Карпов (2010)

2. Model Checking. Вериф. парал. и распределенных программных систем. Карпов (2010) (1185529), страница 37

Файл №1185529 2. Model Checking. Вериф. парал. и распределенных программных систем. Карпов (2010) (2. Model Checking. Вериф. парал. и распределенных программных систем. Карпов (2010).djvu) 37 страница2. Model Checking. Вериф. парал. и распределенных программных систем. Карпов (2010) (1185529) страница 372020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Поэтому кюкдмй процесс мо- Доп)з сса3 строп моин В язь опера мене днмгх польз лает выпог опред то нщ Напр> Рг< явлю яак мебели е ямщик сисмем :кого зыка ~ для быть дним спе- . про- :мен- голь: мо- жег быть легко представлен моделью переходов, а по моделям переходов всех процессов может быль построена щжная модель функционирования параллельной программы как асинхронное произведение компонентных моделей переходов, Такое представление выполняется авюматически системой 5р(п прн верификации системы. Описание системы параллельных процессов на Ргоще)а состоит ю одного или более описаний типов процессов, и процесса запускгь который инициирует конечное число эюемцяяров процессов. Типы процессов определяют различные типы поведения взаимодействующих активностей. Архитектура представляемых на языке Ргоюе)е систем проста: это конечное число асинхронных последовательнмх процессов, функционирующих параллельно и взаимодействующих друг с д(бтом. Взаимодействие процессов может быть специфицировано с помощью синхронного взаимодействия (рандеву), асинхронного взаимодействия (с буферизацией передаваемых сообща.

иий) и с поьющью доступа к общим ражгеляемым переменным. Команды языка похожи на операторы языка программирования С. Команды либо выполняютсв, либо блокируются. Блокировка команд происходит прн взаимодействии рандеву с неготовым к взаииолействию процессом, при посылке сообщения в канал, в буфере которого уже находится максимаяьное число допустимых сообщений, при проверке условия, которое оказалось ложным ит. п. Допусканзтсл переменньм только с конечной областью определения: ще, ьсац ьтсе (8 бит), евсее (со знаком, )б бпт), тес (со знаком, 32 бит).

Можно строить одномерные массивы данных фиксированного размера. Кроме тоцг, можно, использовать записи, В языке Рпнпе!а неделнмымн счнзввжсл отдельные операторы, например, операторы посылки и получения сообщения, оператор присваивания переменной выражения, каким бы славным это выражение нн было. При необходимости сделать атомарными несколько последовательных операторов, нспояюуется ключевое слово всоегс. Консгрукцнз ессжгс гесесепапсе! позволяет определить всю последовательность операторов вевеепеегв как выполнвемую за один неделимый шаг. Таким образом, уровень неделимости определяется разработчиком модели. Если конструкция есовгс отсутствует, то неделимыми счигвютсв элементарные операторы программы.

Например, описание процесса Р, предыдущего раздела будет выглядеть так: ргссегве Щ О ! ь г нсы сг - гю Егеег /* лрсгмсс явяоянтея е кецягтхческой севкин */ цг нсз - гезеег ас с гг-гг Г-г-з)г з! 61 ск е! 7* шюнесс е юи ь эг ес а семи *г зн! Сз Га1зе! ГЩ+1! вэ! Сосо, вц ) Введение атомарности лля последовательности операторов монет существенно уменьшить число состояний результирующей модели Кринке, поскольку уменьшается сгепеиь интерливингв при построении асинхронной композиции параллельных процессов. Для уменьшения перебора в процессе верификации следует объявлять атомарными все последовательности операторов с локвльнымн переменными. Если в реальной системе какой-либо оператор, который оперирует с общими переменными, сосюнт из нескольких неделимых операторов (например, вычисление вырюкення в стековой машине), то сам разработчик даямнн зто учесть при построении модели: гарантии адекватности верифицируемой модели реальной системе — это Забота разработчика.

Управляющие структуры юыка ргоше)а — это так называемые защищенные команды )йвап)ед ссщшаадз), аведеннме Э. Дейкстрой. Таких команд две: выбор и цикл. Условный выбор и вышшняет любую нз команд ш, у которой истинна зашита ш. Оператор ьв блокируется до тех пор, пока хотя бы одна из защит не станет истинной: :: 61З1 Оператор ас вмполняется бесконечно, если хотя бы одна зшцита истинна: 61-)З1 :: 62-7З2 Если все защиты лакны, то оператор цшша блокируется. Если в качестве за- щИтЫ НСПОЛЬЗустоя КЛЮЧЕВСЕ СЛОВО е)эе, тО Эта Юляаида ВмбнрВЕПя тСЛЬКО В том случае, когда вса другие защиты лакны. Типичная последователынмть работы с системой верификации Бр)п! П спецификация модели распределенного алгоритма или параллельной системы на языке Рпнпе!а; пмц Зт Р Оз с т При фиц иии иро! про! неч! пир Вя: ной яер! Опе рый тив! п)с ку.

рый Пр! Рас) ргс! Сголю ага Мо! рим 1 г э! 4 6 7 ) в з при«ш «вк модам ааируашн«с«смен аест- поиной (ессе (ера- опеьких ашинтии ю(м- чные д«е: оров яа нз ка в сис- О трансляция и исправление синтаксических ошибок транслятором с языка Ргоше!а; (У запуск ипшрактнвно~о симулятора, который позволяет убеднтьсв, что по.

строенная модель действип льна ведет себя так. как этого хочет пользователь (зто, фмггически, тестирование модели); О верификация модели. При симуляции Зрю проверяет отсутствие блгяснроаок процессов, неспецифнцнрованный прием сообщений, неисполияемый код. На этапе верификации Зр(п транслирует кшкдый процессный тип в конечный автомат.

Глобальное поведение всей параллельной системы строится как АСИНХРОННОЕ произведение автоматов, по одному автомату на кюкдый шггивный эшемплар процесса. В результате поведение всей системы процессов снова задается ко. печной системой переходов, в которой параллелизм предспшлен недетерминнрованным выбором (н(перливингом). В языке Врм есть несколько возмомностей дла проверки свойств построенной модели системы: конструкция ««еегг, конструкцна «ечег н задание проверяемого свойства формулой (.Т(.. Оператор а«««гг в программе иа языке Ргоше!а задастая с аргументом, который предсташмет проверяемое логическое условие.

Если это условие при активизации оператора «е«егс истинно, то выполнение «««егс «кана«пению пустому оператору. Если это условие ломко, верификатор фиксирует ошибку. Таким образом, аргумент оператора а«ее«с валяется инвврнантом, кото. рый мы хотим проверил в прогршяме. Пример б.б Рассмотрим простую параллельную программу: ргсг««з 1«с «ьзз» сз««и> зя ««10 аьчм «г «+1 еи р*ссеэз 0«е - «аале с«се ис зя «>О сьев «: «-1 сю ргссе«э а««ес «аззе гпм де зя «10 сь«««: 0 са Можно ли утверщдать, что всегда при выполнении пр(шяссов спппс( Прове- рни это, построив следующую программу ив языке Ргошейк 1 «.Ог 2 3 ргассуре 1«с() ( ч ес:г сг«« -> 1Г:: «<10 -> ««+1 11 еа 1 б т рсзссу(м песо ( В Пс чг сом > Щ:' «>0 > ««1 Г1 сц ] 9 1С ргссец лезет ы < щ ьь ьь С и -> зя ьь -Ш -> х - О щ со ) 12 15 ргссттре СЬеся() ( 14 аззегс ( х> С яз к< 10 ) ! 15 16 (л1с ( ьт ягли1с( гса гпспьпяь оеспьпьл кеаеспьгчс сьесвць ьз ) Здесь для верификации параллельной программы мы создаем процессмонигор сьескО, работающий параллельно с другимн процессами и содержшций единственный оператор аяяегс.

Логическое условие, являющееся телом этого оператора, будет здесь проаерятьсз в кюкдом возможном ссстояНни ПараЛЛЕЛЬНОй ПРОГРаММЫ, ПОСКОЛЬКУ ПРОЦЕСС Свесь дЕЛаЕт ШаГ ПОСЛЕ званого шага любого другого процесса. После запуска Бр(п найдет ошибку— нарушение истинности условия, вычисляемого в операторе вяяегс. Причина такого поведения программы состоит в том, что операторы ья в процессах гяс, оес н невес выпслюнотся не атомарно. Пуси я-ьо. После того как в процессе сес, например, будет выполнена проверка защиты к>с, нз-за есиихроннссти прощисов в параллельной программе могут быть выполнены шаги ПРОцсееа веясь, КОтОрЫй СбрОСИт я В С, ПрвдаарНГЕЛЬИО ПРОВЕриз, ЧтО к )С.

Второй возможностью дяя верификации свойств систем является конструкция сечег ьннкогда). В конструкции се ег описывмотся неправильныв, недопустимые траектории поведения проверяемой системы. Функция сече» задает автомат Бюхи, т. е. контрольный автомат, который работает СИНХРОННО с проверяемой системой, н если этот автомат приходит в заключительное соОюяние (т. е. конструкция сечет завершается), то в системе существует непр(ввильное вычисление (см. Рис. 4.2). Например, для того чтобы проверить, что на всех вычислениях проверяемой системы еылаяяимся свойство ОР(х>3), программист молит построить следующий процесс сччег, переходмцнй в принимающее состояние, если на каком-нибудь вычислении вмполнмюа формула РО(т 5 3), которая является отршннием формулы ПУ(х > 3) ) 1 печек ( /* ГЦ(яяд) / э т иась 4 зг 5 ьь !яяэ) -> Еоео ассе()т в :: сяьм > сосо то 1язс 7 за э (о 11 )э Бр(л жень поэм пэро эапиь Дяя .

(.Т(. темы му сь иены СИН глобз гя. ц имер ИСХО/ вирус дени) проц( остан рифн) ется ь поезд ально лей и рии п Мола мыми числи систеь ся обь ся не» свето 1 вающ( Главе З 7 гзг 8 ассерс: 9 зг гс:: 1хяз1 > восо ассерс 19 гы юг оцесс- юдсрся те- зстояпосле )ку— кчнна Носах г про. крои- шаги го. труа. недо ялжт ННО ю со.

т не- смой ~и на шюя Зр)л мшкст также проверять свойства поведения системы процессов, выраженные формулой линейной темпоральной логики. Синтаксис системы Зрш еозвсляет записывать темпоральные операторы ЬТЬ так; С записывается парой квадратных скобок Ц, Р— парой угловых скобок "-», оператор Опй1 записывается обычным образом У. Для того чтобы вмполнить такую верифиющию, Зр)л по введенной формуяе СТЬ строит ее отри~шине, которое описывает нежелательные поведения сне замы. По отрицанию формулм Зрш строит автомат Бюхи (сн. ак 4), и по нему строит процесс печет, представляющий поведение этого автомата. Выполясние процесса печет совместно с другими процессами выполняет поведение СИНХРОННОГО произведения этого шпомата и автомата, представляклцего глобальное пространство состояний системы точно так.

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

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

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