2. Model Checking. Вериф. парал. и распределенных программных систем. Карпов (2010) (1185529), страница 24
Текст из файла (страница 24)
Сама провераемея °истема макет быть очень сложной. поэтому ао многих случаях такую про° арку осуществить белее просто, чем пропереть, что есе вычисления из бес° онечного числа вычислений системы правильны. Контрольный автомат не обязательно использовать лля проверки реализации есновного устройства„такую проверку можно выполнить еще на этапе проектирования системы, используя фориальиые описания проверяемой системы и мхпрольного автомата. В частности, это может быть сделано, если формаль° ы модель реаяьной системы представлена структурой Кринке, а все "пра.- щыьные" поведения заданы формулами логики $Л),.
раекгочисло, мы ие- лфави~в) ело. юв нал !чается щек из печные мочки: цепочавитом вторых симво- ~. Этот Таким ькестеа ~ываег- Рнс 4.2. а) Ковтрсаь правильности функционирования с помощью ховтрольпого ввтомягж б) пример жппрольпого автомата (Т означает Тпм, переход при любом входном символе) Ироблему построения конзрсльного автомата,дая проверки правильности функционирования дискретной снесены в общем случае дяя любой ПЧ формулы р, задмощей "правильные" повеления, и лля любой структуры Щипке М можно формализовать в терминах формальных языков.
Если мы щаожем задать конечной моделью два и-языка: и-юык йи, допускаемый 24, н мчщык Ь ч, все цепочки которого "непревильны", потому что они )йвгвлезворяют ЕТ( формуле <р, и зюем сьпякем найти пересечение ! !ЛЧ и, бук!Ировэ. тся по начаст, !гнал ы, делает Вл фо)и з.м АУ этих а-язмков, то наша проблеме будет решенв, Действительно, если это пересечение смеются пустым, то нв струкзуре Кринке М формула р выполняется, поскольку у Мист ии одного вычисления, на котором выполняется формула р. Если пересечение Хилз.
окмьеэся непустым, то Мдокускзет квкие-ннбудь вычисления, удовлствораощие -«р, следовательно, неверно, что есе вычисления М удоввешоряют формуле р (рис. 4.3). Рис. 4Л. Оснсвивз идее лрозеркн вмвмнямостн )Лт:формул рассмотрим, кяк этз плел форьалнэунзсл и реавнэустсв в более простом слу- чяе в теории конечных автоматов и автоматных языков. Хзм стыь зрск што1 шки елово т' х шов).
Дням м» мопмс ' е ьгь ~р мула >м вы- гсгым, едоваь 4.3). 4.2. Пересечение языков в теории конечных автоматов Конечные автоматы и автоматные языки В теории конечных автоматов и автоматных языков зта идея может быть формализована следующим образом. Языком нал конечным словарем нюм° естся любое (обычно бесконечное) множеспю конечных цепочек, построенных нз символов словаря. Конечные автоматы авлжотся удобным формализмом, позволяющим задавать некоторый класс языков н выполнать опереции, изл ними. Языки, которые можно задать конечными автоматами, называются аатомкгными языками. Дм двух автоматных языков, Ьл н Ел, которые задаются автоматами А и В, проверка непустоты их пересечения осуществляется простым аагоритмом, анализирукицим консгрукцию, которая называется сннзрснной яомлозн»ней автоматов А н В. Синхронная композищея автоматов — зто просто два автомате, стоящие редон и синхронно сбрабщы° ающие одну и ту же входную цепочку.
о Оп е 4.2 аопечный ввнмннвщ) Конечным автоматом называется юперка (Я, Е, зв, Ь, зт), где: ° Я вЂ” конечное множество состояний; ° Š— конечное множество символов (входной словарь); ° зе е Я вЂ” начальное состояние (для недстерминнрованного саучая множество Яе ); ° б: Ях Е ь Я вЂ” функция пчхжодов (для недетерминнроваиного автомата бгЯхЕ-+2зх ° Р'~Я вЂ” множество допускаюшатк (фииаяьиых, закаючмгельных) состояний. г Любая конечная цвпочюх построенная из символов словаря Е, называется сюзон над Е.
Множество всех слов над Е обозначается Е . Хотя множество Е сосюнт только из конечных слов, само оно является бесконечным (счетным). Линамика (поведение) конечного автомата определяется его переходамн нз жктояния а состояние под жждвйспеем очередного входного символа. Ко. нечный автомат доп)сияет (распознает) слово и и Х, если и переводит автомат из начального в одно нз допускаанцнх состояний.
Мнолчсгео всех слов, которые допускает автомат А, называеюя язмком, допускаемым (распознаваемым) А, и обозначается 1„. Множество слов ЬиЕ называется автоматным языком, если существует конечный автомат, лопускающий Ь. В общем случае язык содеркит бесконечное число слов, и впможноап задавать такие бесконечные множества с помощью конечной формальной модели — коиечнога автомата — являетая весьма викной. .
Пример 4.1 На рис.4.4 приведены графы переходов двух конечных автоматов, А иВ. Начальные состояние автоматов на рнс. 4А указаны стрелками, допускающие состояния обозначены двойными окружностями. Обозначим Ь,, язык, допускаемый автоматом А . Слова языка, допускаемого конечным автоматом,— э ю конечные цепочки из символов словаря (а, Ь, с), переводящие автомат иэ начального состояния в любое из допускакнцнх соатояннй. Оба автоыата допускают языки, содержищие бесконечное число конечных алов. Например, автомат А, получив на вход цепочку ЬаЬ, перейдет в состояние 2, которое ие явящтая допускающим, и, следовательно, зта цепочка НЕ принадлежит ܄— языку, допускаемому автоматом А. С другой стороны, цепочка асс лопуакаезтл автоматам А, следовательно, сссиЬ, Нн адно слово, »ачииающсеся с символа с, не допускаема автоматом А, потому что нз начальнога состояния вообще нет перехода, помеченного с, Если в автомате из состояния э не показан переход под аоздейатвием некоторого символа а и Е, та будем считать, что этот переход ведет в новое состояние, неявно представленное в графе переходов, из которого любое допускмощее состояние недостиясимо.
Мвкно видеть, что Ья =(Ьа, асс, ЬаЬа, Ьассбс,...), Ее -" =(а, Ьа, ЬаЬа, ЬеЬЬЬс, ). Если для множества алов Ь существует допусквоший эта множество конечный автомат, то Ь назыщется автоматным языком нли регулярным миацчстяом. Такой язык можно также задать регулярнмм вырвкением. Таким образом, конечные автоматы являются удобным конечным формаяизмом, позвюяющим эадаватьбесконечные множества слов (языки) над конечным словарем.
е) Ск~ ц~дзн) Ю Пй( щз рнс Микит Два эп тбб . слов. позвь томаз'" ~бпзем талке конеч- ) нВ. копзиФ аопус- ом,— мат нз пв до рнззср, рос не сгонят начн- допусм язы:гуляр- малнз- конеч- ачальнз соя з, то ;дстав- недос- Рпе. 4А. Два ковсчннх автомата (а) н разверткк кх ловедепвп 4о). Выявлены пеночка, допускаемые обовмл автомвтвмв. е) Скихрокная комлсзклкя автоматов — два автомата, работмошпе олпоаременпа- Синхронная комяозиция автоматов и пересечение языков Нз рнс. 4.4 вндно, что языкн А,, н Вл пересскакзтся; некоторые мелочны.пх общею входного алфавптв прлнадлемвт квк Ь„так н Ьв, Теория конечнык штомкгов позволяет репппь проблему пустоты пересеченпя язмков з'.4 и Вв.
Лпл этого стромгся конечный автомат ЯЗ — так называемая спнхронная Гласа 4 композиция конечных автоматов А н В !иногда и эту операцию над автоматамн, и ее результат называют дмщртовым или синхронным произведенном автоматов). Синхроннея композиция конечных автоматов 1 н  — это конечный автомат, моделирующий работу двух конечных автоматов, которые одновременно, синхронно обрабатывают. один и тот ме вход (рис. 4.4, е).
Мноместаом соспмиий автомата А Э В являннся все пары состояний А и В. Будем считать, что автомат А Э В находится в состоянви (з,, зл), если автомат А находится а состоянии зл, а автомат В находится в состоянии зл. Нереход автомата АЭВ из текущего состояния (з,,зл) В СКЕЛУЮП1ЕЕ СОСТОЯНИЕ (Зли З'Е) ПОД МппсйетВИЕМ ВХОДНОГО СИМВОЛа С возмомен, если камдый из автоматов под воздействием с момст осуществить переход: А из э, в злм а В из зя в з'л. Начальными состовниями А Э В являются пары, оба элемента которых явлмотся начвльнымн состояниями соответствукхцих автоматов.
Допускающие состояния композиции автоматов А и  — зто такие пары (зл, зя) состояний, что з„— допускмощее состояние автомата А, а зл — допускающее состояние автомата В. Примпр 4.2 На рнс. 4В построен конечный автомат А Э В по автоматам, представленным на рис.4.4. Начальным состоянием автомата А Э В являегса пара (1, 1) начальных состояний А и В. Допускающее состояние у автомата АЭВ только одно: (3, 2), поскольку состояние 3 является допускающим в автомате А, а состояние 2 является допускающим в автомате В. В автомате А Э В нз начального состомнщ (1, 1) есть перекод в состояние (2,!), помеченный Ь, потому что и в автомате А, и в автомате В есть соответствующие переходы, помеченнме Ь.
Цепочка Ьа переводит автомат АЭВ в его допусквкхцее состояние, следовательно, она допускастсл этим автоматом. Очевидно, что эта цепочка допускастса как автоматом А, так н автоматом  — слово Ьа переводит юокдый автомат кз его начаяьного в его допускающее состояние. Справедлива слелуняцея теорема. ТЕОРЕМА 4.1 (о перееечепнп автоматных языков) Пересечение щыков,допускаемых конечными автоматами А н В, совпадает с языком, допускаемым снцхронной композицией этих автоматов, т.е. Ь„гб =Ь Псе цмп .вкм Тагз бэле гаева 4 даниелю юояи втома~ением то ко.
норме ЗАи , если гся в ы зв) ща а '1песг- зх явющие ютоя- ющсс пере- опус- свид. ело- ощее щаст т, е. елен(й 1) зев томагев нный Рис. 4д. Спнхроиная юмщиюща автоматов А н В попускает юык Ьл гтел На основании этой теоремы проверю нуслюты пересе,'миня двух автоматных языков выполняеюя просто.
А именно, по автоматам А и В строитса нх синхронная композиция А Э В, и если в автомате Ае В допускающие состояния не достюкимы из начального состоания, то языки ьл н Ха не переПосмстрнм на синхронную композицию автоматов А н В с другой точки зрения. Назовем автомат В колтральлым. Пусть хонмрояьлый автомат определяет все такие цепочки, которые мы считаем "мтагкма", "щиабочлыин". Тогда любое слово, допуащемое синхронной композицией автоматов А Э В „ будет "оищбочиым" словом, которое присугстауст среди бесконечного мно- раааа 4 жества слов, допускаемых автоматом А, потбму что оно допускается н кон.