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

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

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

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

е. (экпченнг счетчика жиязлд прочессс Р,, э с етчвяе я и ) нрозмс Рз, зялчмше нем й У). В соответствии с семантикой асннхрощюй композиции в каждом состоянии компсзи- ° з нач( ВО, ЧТС зиачен( также ( сыщик Рассмотрим работу лроцесса Р,. Вначале значение г рвано (. После выполнения в строке с мепсой в, опера(орсе некритической секции д(С(, в еле.

дующей строке и, процесс проверяет значение а Если другой процесс нахы днтся в своей критической секции (это показывает значение 2, равное О), то процесс Р, ждет освобожденна критической секции, выполняя так называсыое "активное ош(дание" — передает управление опять на процсрку г, бессмысленно загруэщя процессор повторением пары операций (проверка, передача управления). Если вход в критическую секцию разрешен (т. е. 2-1), то процесс Р, входит в свою критическую секцию (строка с меткой и,), предварн(алано установив г равным 0 в строке с меткой зч (чтобы другие процессы не зюглн войти в своп критические секции).

Закончив работу в критической секции, процесс в строке с меткой и, восстанавливает значение т. Процесс Р, работает аналогично. Свойство взаимного искяючения, которое доюкно быль проверено в этой системе параллельных процессов, вырывается следующей формулой Ь(Ь: ы (рс( = и4 л (зсз = н() — ОзстОяине, В котором Оба процюсОв ОДНОвремен. но находятся в своих критических секциях, недостижимо в их композиции. Для проверки этого свойства построим модель процесса Р„считая неделимыми вмполнення каждого оператора. Соспжннл Р, — зто пары значений (рс(,5), т. е. (знпчение счетчика комолд Р,, значение переменной г). Поскольку в начале выпоянеиия операторов процесса Р, значение т может бызь уже изменено другим щюцессом, у этой модели два начальных состояния (рис.

5,9). Всего в системе переходов для Р, восемь состояний, столько же у Рз г~а з |ыполв сле- й сис).т).: юмегь шции. а юли.чеиий ). Пог бызь сания ко же опция зит из гп Ри ответ лпози- нахо- О). то вываег, бес, перею), то редваюессм гес кой юс Рг ции может быть выполнено югюзе-либо одно из действмй любого процесса, если зто действие возможно в текущем состоянии этого процесса. рис.5.9. Система переходов прогремим взаимного псюиоченна На рнс. 5ЛО прсцставяен фрагмент системы переходов композиции процессов Р, н Рз. Всею сисюма переходов для двух программ содержит порядка 40 состояний.

Прн росте числа процессов в параллельной программе обще число глсбальных мстояннй всей снстемы растет зкспоненциалыю. На втой системе переходов видно, что состояние, в котором оба процесса находятся в своих критических секциях(т.е. Рс, =м4 н Рс л4) достижимо нз начального соспжниа. После того как а строке тз процессом Р, проверено, что значение общего флага г" 1, нодотого, как процесс Р, установит значение г' в О, другой процесс может проверить общую переменную у и закис обнаружить, что ее значение разрешает ему войти в свою критическую секцию.

Очевидно, что такие ситуации чрезвычайно редки, а нх вероятность : Главе в На сне исчещюще мала. Именно зто создает огромные трудности в обнаружении подобных ошибок в параллельных сношках, как уже было поюмано в ае!. Верификация — зто единственный меню. позволяющий обнаруживвть ред- кие ошибки такого сорга. Рис жЖ Система переховов парвяяельной программы Р! З Р2 Причина того, что приввпеиный выше алгоритм не решает проблему взаимного исключения, состоит в том, что между операциями ПРОВЕРИТЬ У Ьеаено лн,г едпяяанр) н УСТАНОВИТЬ Г ( г ж О) другой процесс может проверить состояние общей переменной Г = О.

Таким образом, для защиты критического нншрвала с помощью обшей переменной нам необходима организация критического инюрввла для работы процесса с з)ой переменной. Вьг пар зре иеь УС Пр~ Вю ьь меч нне Из ~ рек рог Тип иа31 (Ехй сов. сел! сем пня уел ( одн~ 'ллеш 5 Выход пз этого порочиого круга состоит в том,'чтобы сделать выполиеиие пары операций ПРОВЕРИТЬ и УСТАНОВИТЬ мгиоеепимм. Вспомним, однако, что мгновенных операций пег, да нам, в действительиости, нужна ие мгновенная, а только НЕДЕЛИМАЯ операция, мгповеилая только с лычки гргнгм других мппвпостей системы. Иными словами, иеобходимо сделать так, чтобы любой процесс мог пабяюдать (и изменять) состояиие этой переменной только либо до, либо после того, как операция <ПРОВЕРИТЬ и УСТАНОВИТЬ> выполняема с этой переменной каким-либо другим процессом.

кении з сг/. ь ред- Ррмывр 6.4 Включим в соспш возможных операций неделимую операцию . ьш ш42 ы ш г-т со следующей семантикой: если значение г равно 1, то вычесть 1 из г, а если пег — то ничего ие делать и ждать. Тогда новое решение проблемы взаимного исключения может быль представлено так: ш:: 22:: гы исз п14 ИС2 лш ее!с шы и г: с"ы с2: чезе 4212 Ы Г: Гшл из: с24 пэс Сзг 4: Г: 2+14 «4: Г: 2+14 в5: Сакс «Л4 с5: сосо сгг На рис. 5.11 представлена сисгема переходов процесса Р„ а па рис. $.12— система переходов параллельной композицми процессов Р, !~ Рз.

Нз рис. 5.!2 видно, что проблема взаимного исюпочения теперь решена ксрРектно: сРеди достижимых состолпий нет состоаиил, в котоРом Рс, = шз п Роз =из. Тип переменных, пад которыми определены две неделимые операции: Р(4) — уменьшения значения з па 1, если,г > О, и яшвть, если з ь" О, Р(4) — увеличеиие значения переменной э иа 1. аимьу ожет дима зере- называется семафором. Семафоры были введены Эдсгером Дейкстрой (Ебзйсг 01)йэпв) лзш решения проблем синхронизации параллельных процессов. Любой фрагмент процесса можгю слслшь атомарным, неделимым с точки зрения всех остяльиых процессов, параллельно выполняемых с данным, если поместить его мехду операциями Р и Р, выполняемыми над некоторым семафором. Заметны, что при этом решштся и проблема активного смидл иия — бесполезной траты времени процессора на передачи управления, еслп )словие ие выполняется. В модели весь этот фрагмент можно представить одним переходом.

:.Глвев Б 5.6. Пак< й Язы квц г. Удс лни Аббре1 проста р гопы! моделг аспект в язык~ О про 0 кан СГ пер Рне. и! 1. Система нереходав одное нз проессов программы взаимною искмочеиия тяге яп ояе я! Рнс. Б.З 2. Система переходов корреюиой программы взаимного исюгюиеиня Пакеп привел ния яп базис. Вицин ную ст русмоз собой, описан их взм ритмог туру К иай си вери фг струит Пакет лержи1 иых аг предсг зго пр процес тараи польза "леев Э гйу Сю Креммяаямсдеяи р снслмм 6.6. Пакеты верификации и структура Крипке. Пакет верификации Зр1п Пакеты верификации.

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

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

Зргп — это система верификации, которая поддерживает разработку и анализ корректности параллельных и распределемных систем с конечным числам состояний, спецификация свойств которых представлена формулами СП.. Основная цель использования пакета Зргп— зто проверка корректности взаимодействующих параллельных асинхронных процессов (рис, 5.13). Зр!и фокусируется именно на асинхронной модели, которая естественна для программных систем. Система Зр)в предоставляет пользователю: 1.

Язык Рпнпе1а (Ргогосо( Мега Ьвйиайв) — С-подобный язык лдя спецификации моделей. 2. Удобные средства для выражения требований корректности'формулами линейной темпоральной логики (без оператора Х (!Чех! Т1пю)). Аббревиатура Зрш расшифровывается как и!ягр!е Рготе!и !нгегргегег, т.е. простой интерпретатор систем, специфицированных на языке представления Ргоюе1а. Цель юьпа Ргоще!а — дать возможность пользователю посзромгь попель параллельной системы для последукнцей проверки в ее поведении °спектов координации и взанмодейспим параллельных процессов. Поэтому в язьнсе только трн типа обьектов спецификации; .э процессы; О каналы, по которым процессы взаимодействуют; П переменнме простмх тюке. всех ралж зсй ~ Ьр)и Опнс няи ( руст реаль Архн чися< зелье жст 6 ву), г ниц) Кома вибо взвив сылю числе Рис. Ц !з.

Пакет верпфнищии Бр)п Поскольку задача нашего изложения — не изучение тгого специфического замка, мы приведем акесь очень краткое введение в Рнкпе)а. Цель языка Ргоше)а — предоставить программисту максимально удобные средства для описания таких программ, которме могут быть проверены, т. е. могут быть автоматически оттранслнрованы в представление структуры Кринке. Одним из главных ограничений поэтому явлается конечность числа состояний спе-, цнфицируемых процессов. При этом число возможных вычислений проПгамм, специфицированных на юыке Ргогпе)а, обычно бесконечно. В параллельной программе на Рным)а конечное число процессов, переменные имеют конечное число возмшкных значений н в каналах возможно только жнмчное число передаваемых сообщений.

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

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

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