Главная » Просмотр файлов » 5. Principles of Model Checking. Baier_ Joost (2008)

5. Principles of Model Checking. Baier_ Joost (2008) (811406), страница 82

Файл №811406 5. Principles of Model Checking. Baier_ Joost (2008) (5. Principles of Model Checking. Baier_ Joost (2008).pdf) 82 страница5. Principles of Model Checking. Baier_ Joost (2008) (811406) страница 822020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

As we mentioned before, the chosen variable ordering ℘ canbe crucial for the size of the SOBDD representing a transition system. Experimental studies have shown that typically good variable orderings are obtained when grouping togetherthe unprimed variables xi and their copies xi . Later we will give some formal argumentswhy such interleaved variable orderings, like ℘ = (x1 , x1 , . . . , xn , xn ), are advantageous.To perform the CTL model-checking procedure in a symbolic way, the shared OBDD Bwith root nodes for Δ and the fa ’s has to be extended by new root nodes representing thecharacteristic functions of the satisfaction sets Sat(Ψ) for the state subformulae Ψ of theCTL formula Φ to be checked.

For instance, if Φ = a ∧ ¬b with atomic propositions a, b,then we first have to insert a root node for the characteristic function f¬b = ¬fb for Sat(¬b)and then a root node for the switching function fa ∧ f¬b . The treatment of formulae of theform, e.g., ∃♦Ψ or ∃Ψ by means of Algorithms 20 or 21, requires creating additional rootnodes for the functions fi representing the current approximations of satisfaction sets. Ofcourse, adding a new root node for some switching function f also means that we have toadd nodes for all order-consistent cofactors of f that are not yet represented by a node inB.To support such dynamic changes of the set of switching functions to be represented, therealization of shared OBDDs typically relies on the use of two tables: the unique table,which contains the relevant information about the nodes and serves to keep the diagramreduced during the execution of synthesis algorithms, and a computed table, which isneeded for efficiency reasons.

Let us first explain the ideas behind the use of the uniquetable. The implementation of synthesis algorithms and the use of the computed table willbe explained later.The Unique TableThe entries of the unique table are triples of the forminfo(v) = var(v), succ0 (v), succ0 (v)for each inner node v. Note that these info-triples contain the relevant information whichis necessary for the applicability of the isomorphism rule. Accessing the unique table issupported by a find or add-operation which takes as argument a triple z , v1 , v0 consistingof a variable z and two nodes v1 and v0 with v1 = v0 .

The task of the find or addoperation is to check whether there exists a node v in the shared OBDD B such thatinfo(v) = z , v1 , v0 . If so, then it returns node v, otherwise it creates a new z -node vwith 1-successor v1 and 0-successor v0 , and makes a corresponding entry in the uniquetable. Thus, the find or add operation can be viewed as the SOBDD realization of theisomorphism rule. In most BDD packages, the unique table is organized using appropriatehashing techniques.

We skip such details here and assume constant expected time to accessthe into-triple for any node, and to perform the find or add-operation.410Computation Tree LogicBoolean Operators Let us now consider how synthesis algorithms can be realized onSOBDDs, using the unique table. An elegant, but also very efficient way is to support aternary operator, called ITE for “if-then-else”, that covers all Boolean connectives. TheITE operator takes as arguments three switching functions g, f1 , f2 and composes themaccording to “if g then f1 else f2 ”.

Formally:ITE(g, f1 , f2 ) = (g ∧ f1 ) ∨ (¬ g ∧ f2 )For the special case where g is constant we have ITE(0, f1 , f2 ) = f2 and ITE(1, f1 ,f2 ) = f1 . The ITE operator fits very well with the representation of the SOBDD nodes inthe unique table by their info-triples as we have:fv = ITE( z, fsucc1 (v) , fsucc0 (v) ).The negation operator is obtained by ¬f = ITE(f, 0, 1). Also all other Boolean connectives can be expressed by the ITE-operator.

For example:f1 ∨ f2f1 ∧ f2f1 ⊕ f2f1 → f2====ITE(f1 , 1, f2 )ITE(f1 , f2 , 0)ITE(f1 , ¬f2 , f2 ) = ITE(f1 , ITE(f2 , 0, 1), f2 )ITE(f1 , f2 , 1)The realization of the ITE operator on an SOBDD B requires a procedure that takesas input three nodes u, v1 , v2 of B and returns a possibly new node w such that fw =ITE(fu , fv1 , fv2 ), by reusing existing nodes whenever possible and adding new nodes toB if necessary. For this, the sub-OBDDs for the input nodes u, v1 , and v2 are traversedsimultaneously in a top-down fashion, while the synthesis of the sub-ROBDD for w (andgeneration of new nodes) is performed in a bottom-up manner. This method relies on thefollowing observation.Lemma 6.76.Cofactors of ITE(·)If g, f1 , f2 are switching functions for Var, z ∈ Var and b ∈ {0, 1}, thenITE(g, f1 , f2 )|z =b = ITE(g|z =b , f1 |z =b , f2 |z =b ).Proof: For simplicity, let us assume that g, f1 , f2 are switching functions for the samevariable set Var = {z , y1 , .

. . , ym }. This, in fact, is no proper restriction as we maysimply take the union of the variable sets of g, f1 and f2 and regard all three functions asswitching functions for the resulting variable sets. Let (a, c) be a short-form notation forSymbolic CTL Model Checking411the evaluation [z = a, y = c] ∈ Eval(Var). Then, we haveITE(g, f1 , f2 )|z =b (a, c)= ITE(g, f1 , f2 )(b, c)= ( g(b, c) ∧ f1 (b, c) ) ∨ ( ¬g(b, c) ∧ f2 (b, c) )= ( g|z =b (a, c) ∧ f1 |z =b (a, c) ) ∨ ( ¬g|z =b (a, c) ∧ f2 |z =b (a, c) )= ITE(g|z =b , f1 |z =b , f2 |z =b )(a, c).Thus, a node in a ℘-SOBDD for representing ITE(g, f1 , f2 ) is a node w such that info(w) =z , w1 , w0 where• z is the minimal essential variable of ITE(g, f1 , f2 ) according to <℘ ,• w1 , w0 are SOBDD nodes with:fw1 = ITE(g|z =1 , f1 |z =1 , f2 |z =1 ) and fw0 = ITE(g|z =0 , f1 |z =0 , f2 |z =0 ).This observation suggests a recursive algorithm which determines z and then recursivelycomputes the nodes for ITE applied to the cofactors of g = fu , f1 = fv1 , f2 = fv2 forvariable z .

Since the explicit computation of z can be hard, we use the decomposition intocofactors for the minimal variable z that is essential for fu , fv1 or fv2 :z = min{var(u), var(v1 ), var(v2 )}where the minimum is taken according to the total order <℘ on Var ∪ {⊥}. (Recallthat we put var(v) = ⊥ for any drain v and that x <℘ ⊥ for all x ∈ Var.) If z isthe first essential variable of ITE(fu , fv1 , fv2 ), then z ℘ z , since no variable y <℘ zappears in the sub-OBDDs of nodes u, v1 , v2 , and hence, no such variable y can beessential for ITE(fu , fv1 , fv2 ). The case z <℘ z is possible, if accidentally the cofactorsITE(fu , fv1 , fv2 )|z =0 and ITE(fu , fv1 , fv2 )|z =1 agree.

In this case, however, we are in thesituation of the elimination rule and the ITE algorithm returns the node representingITE(fu , fv1 , fv2 )|z =0 . Otherwise, i.e., if the nodes w0 and w1 that have been recursivelydetermined for ITE(fu , fv1 , fv2 )|z =0 and ITE(fu , fv1 , fv2 )|z =1 , respectively, are different,then z = z and a node for representing ITE(fu , fv1 , fv2 ) is obtained by the find or addoperation applied to the info-triple z , w1 , w0 .412Computation Tree LogicThe question remains how to obtain the cofactors fu |z =b , fv1 |z =b , and fv2 |z =b . Nodes thatrepresent these functions are obtained easily since (by choice of variable z ) nodes u, v1 ,and v2 are on the z -level or below, i.e., z ℘ var(v) for v ∈ {u, v1 , v2 }.

If var(v) = z , thenfv |z =b is represented by the b-successor of v. If z <℘ var(v), then z is not essential for fvand we have fv |z =b = fv . Thus, if we definesuccb (v)if var(v) = zv|z =b =uif z <℘ var(v),then v|z =b is the node in B representing fv |z =b . Hence, a node representing the functionITE(fu , fv1 , fv2 )|z =b is obtained by a recursive call of the ITE algorithm with the argumentsu|z =b , v1 |z =b and v2 |z =b (Lemma 6.76). Note that these are already existing nodes in theSOBDD B.The steps to realize the ITE-operator on a shared OBDD by means of a DFS-basedtraversal of the sub-OBDDs of u, v1 , and v2 to determine the relevant cofactors (whererecursive calls of the ITE-algorithm are required) have been summarized in Algorithm 22on page 412.Algorithm 22 ITE(u, v1 , v2 ) (first version)if u is terminal thenif val(u) = 1 thenw := v1elsew := v2fielsez := min{var(u), var(v1 ), var(v2 )};w1 := ITE(u|z=1 , v1 |z=1 , v2 |z=1 );w0 := ITE(u|z=0 , v1 |z=0 , v2 |z=0 );if w0 = w1 thenw := w1 ;elsew := find or add(z, w1 , w0 );fifireturn w(* ITE(1, fv1 , fv2 ) = fv1 *)(* ITE(0, fv1 , fv2 ) = fv2 *)(* elimination rule *)(* isomorphism rule (?) *)Before discussing the complexity of the ITE algorithms, we will first study how the size ofthe SOBDD can change through performing the ITE algorithm.

The size of the sub-OBDDfor the (possibly new) node w representing ITE(u, v1 , v2 ) is bounded by Nu ·Nv1 ·Nv2 whereNv denotes the number of the nodes in the sub-OBDD Bv for node v. This follows fromSymbolic CTL Model Checking413the fact that each node w in the generated sub-OBDD for ITE(u, v1 , v2 ) corresponds toone or more triples (u , v1 , v2 ), where u is a node in Bu and vi a node in Bvi Formally:Lemma 6.77.ROBDD Size of ITE(g, f1 , f2 )The size of the ℘-ROBDD for ITE(g, f1 , f2 ) is bounded by Ng · Nf1 · Nf2 where Nf denotesthe size of the ℘-ROBDD for f .Proof: Let ℘ = (z1 , . . . , zm ) and let Bf denote the ℘-ROBDD for f where the nodes arethe ℘-consistent cofactors of f (see the proof of part (a) of Theorem 6.70). We write Vffor the node set of Bf , i.e.,Vf = { f |z1 =b1 ,...,zi =bi | 0 i m, b1 , .

. . , bi ∈ {0, 1} }.Note that several of the cofactors f |z1 =b1 ,...,zi =bi might agree, and hence, they stand for thesame element (node) of Vf . By Lemma 6.76, the node set VITE(g, f1 , f2 ) of the ℘-ROBDDBITE(g, f1 , f2 ) for ITE(g, f1 , f2 ) agrees with the set of switching functionsITE(g|z1 =b1 ,...,zi =bi , f1 |z1 =b1 ,...,zi =bi , f2 z1 = b1 , . . . , zi = bi )where 0 i m, b1 , . .

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

Тип файла
PDF-файл
Размер
5,5 Mb
Тип материала
Высшее учебное заведение

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

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