Применение ослабленных отношений симуляции в методе

реклама
Ìîäåë. è àíàëèç èíôîðì. ñèñòåì.
Ò.15, 3 (2008) 313
ÓÄÊ 517.51+514.17
Ïðèìåíåíèå îñëàáëåííûõ îòíîøåíèé ñèìóëÿöèè â ìåòîäå ñåòåâûõ
èíâàðèàíòîâ äëÿ âåðèôèêàöèè ïàðàìåòðèçîâàííûõ àñèíõðîííûõ
ìîäåëåé
Êîííîâ È.Â.
Ìîñêîâñêèé Ãîñóäàðñòâåííûé Óíèâåðñèòåò èì. Ì.Â. Ëîìîíîñîâà
e-mail: konnov@cs.msu.su
ïîëó÷åíà ? èþíÿ 2008
Àííîòàöèÿ
 ðàáîòå ðàññìàòðèâàåòñÿ çàäà÷à âåðèôèêàöèè ïàðàìåòðèçîâàííûõ ìîäåëåé àñèíõðîííûõ ðàñïðåäåë¼ííûõ ñèñòåì (Parameterized Model Checking). Äëÿ ðåøåíèÿ çàäà÷è èñïîëüçóåòñÿ ìåòîä ñåòåâûõ
èíâàðèàíòîâ. Â ðàçíîâèäíîñòÿõ ìåòîäà ñåòåâûõ èíâàðèàíòîâ èñïîëüçóþòñÿ îòíîøåíèÿ ñèìóëÿöèè,
áèñèìóëÿöèè è òðàññîâîãî âêëþ÷åíèÿ íà ìîäåëÿõ.  ñëó÷àå àñèíõðîííûõ ñèñòåì ñèìóëÿöèÿ è áèñèìóëÿöèÿ îêàçûâàþòñÿ ñëèøêîì ñòðîãèìè äëÿ ïîèñêà èíâàðèàíòà è òðåáóþò ïðèìåíåíèÿ ìåòîäîâ
àáñòðàêöèè.
 ðàáîòå îïèñûâàþòñÿ òðè îñëàáëåííûõ îòíîøåíèÿ ñèìóëÿöèè: êâàçèáëî÷íàÿ, áëî÷íàÿ è ïîëóáëî÷íàÿ. Êâàçèáëî÷íàÿ ñèìóëÿöèÿ îáëàäàåò âñåìè íåîáõîäèìûìè ñâîéñòâàìè äëÿ ïðèìåíåíèÿ ìåòîäà
èíâàðèàíòîâ. Áëî÷íàÿ ñèìóëÿöèÿ ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì êâàçèáëî÷íîé ñèìóëÿöèè è èñïîëüçóåòñÿ
ïðè ïîèñêå èíâàðèàíòîâ. Íàëè÷èå ïîëóáëî÷íîé ñèìóëÿöèè ìåæäó ìîäåëÿìè ÿâëÿåòñÿ íåîáõîäèìûì è
äîñòàòî÷íûì óñëîâèåì ñóùåñòâîâàíèÿ áëî÷íîé ñèìóëÿöèè. Ïðèâîäèòñÿ ñõåìà àëãîðèòìà âû÷èñëåíèÿ
ïîëóáëî÷íîé ñèìóëÿöèè è èñïîëüçóåìûå â ðåàëèçàöèè ïîäõîäû ê îïòèìèçàöèè. Îòíîøåíèÿ ïðèìåíÿþòñÿ äëÿ ïðîâåðêè ïàðàìåòðèçîâàííîé ìîäåëè ïðîòîêîëà RSVP ìåòîäîì ñåòåâûõ èíâàðèàíòîâ.
1.
Ââåäåíèå
Ìåòîä âåðèôèêàöèè ìîäåëåé (Model Checking, MC) èñïîëüçóåòñÿ äëÿ ïðîâåðêè êîððåêòíîñòè ìîäåëåé
ðàñïðåäåë¼ííûõ ïðîãðàìì, ïîñëåäîâàòåëüíûõ ïðîãðàìì è àïïàðàòíûõ ñèñòåì. Íàèáîëåå óäà÷íûå ïðèìåðû ïðèìåíåíèÿ ìåòîäà îòíîñÿòñÿ ê ïðîâåðêå ìîäåëåé àïïàðàòíûõ ñèñòåì è ðàñïðåäåë¼ííûõ àëãîðèòìîâ,
òî åñòü â òåõ îáëàñòÿõ, â êîòîðûõ âûñîêà öåíà îøèáêè, à ñòàíäàðòíûå ìåòîäû òåñòèðîâàíèÿ íå äàþò
ïðèåìëåìûõ ðåçóëüòàòîâ.
Ïðåèìóùåñòâî MC çàêëþ÷àåòñÿ â àâòîìàòè÷åñêîé ðàáîòå ìåòîäà. Åñëè ìîäåëü ñèñòåìû ïîñòðîåíà
àäåêâàòíî ïðîâåðÿåìîìó êëàññó ñïåöèôèêàöèé, òî àëãîðèòìû âåðèôèêàöèè ìîäåëè íå òðåáóþò ó÷àñòèÿ
÷åëîâåêà â ïðîöåññå ðàáîòû àëãîðèòìîâ. Õîòÿ â ðåçóëüòàòå ðàáîòû âåðèôèêàòîðà ìîæåò ïîòðåáîâàòüñÿ
óòî÷íåíèå ïðîâåðÿåìûõ ìîäåëåé.
Ìåòîä MC îáëàäàåò è ðÿäîì íåäîñòàòêîâ. Ñðåäè íåäîñòàòêîâ ìîæíî íàçâàòü êîìáèíàòîðíûé âçðûâ
÷èñëà ñîñòîÿíèé è òðåáîâàíèå êîíå÷íîñòè ÷èñëà ñîñòîÿíèé ïðîâåðÿåìîé ìîäåëè. Ìû ðàññìàòðèâàåì ðàñøèðåíèå çàäà÷è MC, çàäà÷ó âåðèôèêàöèè ïàðàìåòðèçîâàííûõ ìîäåëåé.  çàäà÷å PMC (Parameterized
Model Checking) íåîáõîäèìî ïðîâåðèòü ñïåöèôèêàöèþ íà áåñêîíå÷íîì ñåìåéñòâå ìîäåëåé F = {Mn }n∈N .
Êàæäàÿ ìîäåëü Mn îòâå÷àåò çíà÷åíèþ ïàðàìåòðà n.  ïðîñòåéøåì ñëó÷àå ÷èñëî n çàäà¼ò ÷èñëî îäíîòèïíûõ ïðîöåññîâ P â ìîäåëè Mn . Äëÿ ñåìåéñòâà F çàäà¼òñÿ ñåìåéñòâî ñïåöèôèêàöèé {ϕn }n∈N .
 îáùåì ñëó÷àå çàäà÷à íåðàçðåøèìà [2]. Òåì íå ìåíåå äëÿ îòäåëüíûõ êëàññîâ ïàðàìåòðèçîâàííûõ ìîäåëåé ðàçðàáàòûâàþòñÿ ìåòîäû, ïîçâîëÿþùèå óñïåøíî ïðîâåðÿòü ïàðàìåòðèçîâàííûå ìîäåëè. Ïðèâåä¼ì
îñíîâíûå ìåòîäû, èñïîëüçóåìûå äëÿ ïðîâåðêè ïàðàìåòðèçîâàííûõ ñèñòåì: ìåòîäû àáñòðàêöèè, èíäóêòèâíûå ìåòîäû, ìåòîäû ðåäóêöèè ñ ïîìîùüþ ñèììåòðèè è ñèìâîëüíûå ìåòîäû.
 ìåòîäàõ, îñíîâàííûõ íà àáñòðàêöèè ìîäåëåé, êàê ïðàâèëî, ñòðîÿò àáñòðàêòíóþ ìîäåëü, ïðåäñòàâëÿþùóþ êàæäóþ èç ìîäåëåé ñåìåéñòâà. Äëÿ êàæäîé ìîäåëè ïàðàìåòðèçîâàííîãî ñåìåéñòâà óêàçûâàåòñÿ
ñïîñîá îòîáðàæåíèÿ ñîñòîÿíèé è îòíîøåíèé ïåðåõîäîâ íà àáñòðàêòíóþ ìîäåëü. Ïðè ýòîì ïîêàçûâàåòñÿ,
÷òî àáñòðàêòíàÿ ìîäåëü ñîõðàíÿåò êëàññ ïðîâåðÿåìûõ ñâîéñòâ [4, 5, 10, 11, 13, 23]. Îñíîâíûì íåäîñòàòêîì
àáñòðàêöèè ÿâëÿåòñÿ íåîáõîäèìîñòü óêàçûâàòü îòîáðàæåíèå ìîäåëåé ñåìåéñòâà íà àáñòðàêòíóþ ìîäåëü.
3
Ìîäåëèðîâàíèå è àíàëèç èíôîðìàöèîííûõ ñèñòåì Ò.15, 3 (2008)
4
Ìåòîäû ðåäóêöèè ñ ïîìîùüþ ñèììåòðèè èñïîëüçóþò òîò ôàêò, ÷òî ìîäåëè ïàðàìåòðèçîâàííîãî ñåìåéñòâà ñîñòîÿò èç îäíîòèïíûõ ïðîöåññîâ è ïîýòîìó ñîäåðæàò êëàññû ñèììåòðè÷íûõ ñîñòîÿíèé. Äëÿ
ïðîâåðêè òàêèõ ñèñòåì äîñòàòî÷íî ïðîâåðèòü êàæäîãî ïðåäñòàâèòåëÿ ñèììåòðè÷íûõ ñîñòîÿíèé [3, 6, 7].
 ñèìâîëüíûõ ìåòîäàõ ïàðàìåòðèçîâàííîå ñåìåéñòâî îïèñûâàåòñÿ êàê îäíà ìîäåëü ñ èñïîëüçîâàíèåì
áîëåå âûðàçèòåëüíûõ îïèñàíèé, íàïðèìåð, ñ ïîìîùüþ ëîãèêè FS1S [21] èëè ðåãóëÿðíûõ îòíîøåíèé [1].
Ïî ïîñòðîåííîìó îïèñàíèþ âû÷èñëÿåòñÿ ìíîæåñòâî äîñòèæèìûõ ñîñòîÿíèé ïîèñêîì íåïîäâèæíîé òî÷êè.
Îäíàêî ñõîäèìîñòü äàííîãî ìåòîäà íå ãàðàíòèðóåòñÿ. Ïîýòîìó â, îáùåì ñëó÷àå, ìîæåò ïîòðåáîâàòüñÿ
ìîäèôèêàöèÿ ñèñòåìû ïåðåõîäîâ ñ ó÷àñòèåì ÷åëîâåêà.
Îñíîâíàÿ èäåÿ ìåòîäîâ, îñíîâàííûõ íà èíäóêöèè, çàêëþ÷àåòñÿ â ñëåäóþùåì. Íà ìíîæåñòâå ìîäåëåé
âûáèðàåòñÿ îòíîøåíèå ÷àñòè÷íîãî ïîðÿäêà èëè ýêâèâàëåíòíîñòè . Ýòî îòíîøåíèå äîëæíî îáëàäàòü ñâîéñòâàìè êîíñåðâàòèâíîñòè è ìîíîòîííîñòè. Êîíñåðâàòèâíîñòü ïîçâîëÿåò ñäåëàòü âûâîä î âûïîëíèìîñòè
ôîðìóëû íà îäíîé ìîäåëè â ðåçóëüòàòå ïðîâåðêè äðóãîé ìîäåëè (ýêâèâàëåíòíîé â ñëó÷àå îòíîøåíèÿ ýêâèâàëåíòíîñòè èëè áîëüøåé â ñëó÷àå îòíîøåíèÿ ÷àñòè÷íîãî ïîðÿäêà). Ìîíîòîííîñòü ïîçâîëÿåò äîáàâëÿòü ê
ìîäåëÿì, íàõîäÿùèìñÿ â îòíîøåíèè ÷àñòè÷íîãî ïîðÿäêà, äîïîëíèòåëüíûå ïðîöåññû ñ ñîõðàíåíèåì ïîðÿäêà. Ïóñòü êàæäàÿ ìîäåëü Mn = Q k P1 k · · · k Pn ñîñòîèò èç ôèêñèðîâàííîãî ïðîöåññà Q è n ýêçåìïëÿðîâ
ïðîöåññà P . Äëÿ ïðîâåðêè ïàðàìåòðèçîâàííîãî ñåìåéñòâà äîñòàòî÷íî íàéòè òàêóþ ìîäåëü I , íàïðèìåð,
I = P1 k · · · k Pm , ÷òî P I è P k I I .  ýòîì ñëó÷àå ïðîâåðêó ñïåöèôèêàöèè íà ïàðàìåòåðèçîâàííîì
ñåìåéñòâå ìîæíî ñâåñòè ê ïðîâåðêå ñïåöèôèêàöèè íà ìîäåëè P k I .
 îáùåì ñëó÷àå ïðîòîòèïîâ ïðîöåññîâ ìîæåò áûòü áîëåå îäíîãî, à ñòðóêòóðà èíâàðèàíòà çàâèñèò
îò òîïîëîãèè ñèñòåìû. Ïàðàìåòðèçîâàííûå ìîäåëè ïðîâåðÿëèñü ñ ïîìîùüþ èíâàðèàíòîâ â ìíîæåñòâå
ðàáîò [4, 5, 12, 13, 24]. Îáçîð ìåòîäîâ èíâàðèàíòîâ ïðèâåä¼í â [3].
 äàííîé ðàáîòå èñïîëüçóåòñÿ ìåòîä, îñíîâàííûé íà ñåòåâûõ èíâàðèàíòàõ [4, 5, 16, 24]. Òîïîëîãèÿ
ïàðàìåòðèçîâàííîãî ñåìåéñòâà îïèñûâàåòñÿ ñ ïîìîùüþ ñåòåâîé ãðàììàòèêè. Òåðìèíàëàìè ãðàììàòèêè
ÿâëÿþòñÿ ïðîöåññû, ïðåäñòàâëåííûå â âèäå ðàçìå÷åííûõ ñèñòåì ïåðåõîäîâ. Ïðàâèëà ãðàììàòèêè çàäàþò ïîñëåäîâàòåëüíîñòü ïîðîæäåíèÿ ïðîöåññîâ è ñâÿçûâàíèÿ ïðîöåññîâ êîììóíèêàöèîííûìè êàíàëàìè.
Äëÿ ïðîâåðêè ïàðàìåòðèçîâàííîãî ñåìåéñòâà, ïîðîæäàåìîãî ãðàììàòèêîé, íåîáõîäèìî íàéòè ìîäåëèèíâàðèàíòû äëÿ êàæäîãî íåòåðìèíàëà ãðàììàòèêè.  ðàáîòàõ [4, 5] â êà÷åñòâå îòíîøåíèÿ ÷àñòè÷íîãî
ïîðÿäêà íà ìîäåëÿõ èñïîëüçóåòñÿ îòíîøåíèå ñèìóëÿöèè. Ïðè ýòîì íà ìîäåëÿõ ïðîèçâîäèòñÿ àáñòðàêöèÿ
ñ ó÷¼òîì ñïåöèôèêàöèè. Ïðè ïîñòðîåíèè àáñòðàêöèè âàæíî, ÷òîáû ñïåöèôèêàöèÿ îïèñûâàëà ãëîáàëüíîå
ñîñòîÿíèå âñåõ ïðîöåññîâ ìîäåëè. Íàïðèìåð, â ñïåöèôèêàöèè ìîæåò ïðîâåðÿòüñÿ ñâîéñòâî, ÷òî ëèøü îäèí
ïðîöåññ íàõîäèòñÿ â ñîñòîÿíèè, ñîîòâåòñòâóþùåì êðèòè÷åñêîé ñåêöèè. Ïðè íåîáõîäèìîñòè ïðîâåðêè ñïåöèôèêàöèè îòíîñèòåëüíî ñîñòîÿíèÿ îäíîãî èëè íåñêîëüêèõ ôèêñèðîâàííûõ ïðîöåññîâ àáñòðàêöèÿ ìîæåò
îêàçàòüñÿ ñëèøêîì ãðóáîé, è èíâàðèàíò íå áóäåò íàéäåí.
Ìû ïðåäëàãàåì îñëàáèòü èñïîëüçóåìîå îòíîøåíèå ñèìóëÿöèè äëÿ ïîèñêà ñåòåâîãî èíâàðèàíòà.  ðàáîòå îïèñûâàþòñÿ òðè îñëàáëåííûõ îòíîøåíèÿ ñèìóëÿöèè: êâàçèáëî÷íàÿ, áëî÷íàÿ è ïîëóáëî÷íàÿ.  ðàáîòå [27], ïî àíàëîãèè ñ áëî÷íîé áèñèìóëÿöèåé (block bisimulation [6]), íàìè îïðåäåëåíà áëî÷íàÿ ñèìóëÿöèÿ. Áëî÷íàÿ ñèìóëÿöèÿ ñõîæà ïî ñòðóêòóðå ñ íàáëþäàåìîé ñèìóëÿöèåé (visible simulation) [18]. Îäíàêî,
áëî÷íàÿ ñèìóëÿöèÿ, â îáùåì ñëó÷àå íå îáëàäàåò, ñâîéñòâàìè êîíñåðâàòèâíîñòè è ìîíîòîííîñòè. Ïî ýòîé
ïðè÷èíå ìû îñëàáèëè îòíîøåíèå äî êâàçèáëî÷íîé ñèìóëÿöèè. Êâàçèáëî÷íàÿ ñèìóëÿöèÿ îáëàäàåò íåîáõîäèìûìè ñâîéñòâàìè êîíñåðâàòèâíîñòè è ìîíîòîííîñòè, ýòî îòíîøåíèå èñïîëüçóåòñÿ äëÿ îáîñíîâàíèÿ
êîððåêòíîñòè ðåäóêöèè ïðîâåðêè ïàðàìåòðèçîâàííîãî ñåìåéñòâà ê ïðîâåðêå êîíå÷íîãî ÷èñëà ìîäåëåé.
Áëî÷íàÿ ñèìóëÿöèÿ îêàçàëàñü áîëåå ïðèãîäíîé äëÿ ïîèñêà èíâàðèàíòà. Ïîçäíåå ìû íàøëè êðèòåðèé
ñóùåñòâîâàíèÿ áëî÷íîé ñèìóëÿöèè ñ ïîìîùüþ ïîñòðîåíèÿ áîëåå ïðîñòîãî îòíîøåíèÿ ïîëóáëî÷íîé ñèìóëÿöèè. Ïîëóáëî÷íàÿ ñèìóëÿöèÿ èñïîëüçóåòñÿ íàìè äëÿ ïîèñêà èíâàðèàíòà.
Ìåòîä ñåòåâûõ èíâàðèàíòîâ óñïåøíî ïðèìåí¼í íàìè äëÿ ïðîâåðêè ïàðàìåòðèçîâàííîé ìîäåëè ïðîòîêîëà RSVP [25]. Ïîñëå ÷åãî àëãîðèòì ïîñòðîåíèÿ ïîëóáëî÷íîé ñèìóëÿöèè áûë äîðàáîòàí ñ öåëüþ ñîêðàùåíèÿ âðåìåíè âû÷èñëåíèÿ.  äàííîé ðàáîòå ïðèâîäèòñÿ îïèñàíèå îñëàáëåííûõ îòíîøåíèé ñèìóëÿöèè
(ðàçäåë 3.), îïèñàíèå ìåòîäà ñåòåâûõ èíâàðèàíòîâ ñ îñëàáëåííûìè îòíîøåíèÿìè ñèìóëÿöèè (ðàçäåë 4.),
ñõåìà àëãîðèòìà ïîñòðîåíèÿ ïîëóáëî÷íîé ñèìóëÿöèè (ðàçäåë 5.), êðàòêîå îïèñàíèå îïòèìèçàöèé â ðåàëèçàöèè àëãîðèòìà è õàðàêòåðèñòèêè ðàáîòû àëãîðèòìà ñ ïåðå÷èñëåííûìè îïòèìèçàöèÿìè (ðàçäåë 6.).
2.
Îñíîâíûå îïðåäåëåíèÿ
Ìû îïèñûâàåì âçàèìîäåéñòâóþùèå ïðîöåññû ñ ïîìîùüþ ðàçìå÷åííûõ ñèñòåì ïåðåõîäîâ.
Îïðåäåëåíèå 2.1.
Ðàçìå÷åííîé ñèñòåìîé ïåðåõîäîâ (LTS)
íàçîâ¼ì øåñò¼ðêó M = hS, S0 , A, R, Σ, Li, â
êîòîðîé: S êîíå÷íîå ìíîæåñòâî ñîñòîÿíèé, S0 ⊆ S ìíîæåñòâî íà÷àëüíûõ ñîñòîÿíèé, A ìíîæåñòâî
íàáëþäàåìûõ äåéñòâèé èç êîíå÷íîãî ìíîæåñòâà âîçìîæíûõ äåéñòâèé A (çà èñêëþ÷åíèåì ñïåöèàëüíîãî
Ïðèìåíåíèå îñëàáëåííûõ îòíîøåíèé ñèìóëÿöèè â ìåòîäå ñåòåâûõ èíâàðèàíòîâ äëÿ âåðèôèêàöèè
ïàðàìåòðèçîâàííûõ àñèíõðîííûõ ìîäåëåé
5
íåíàáëþäàåìîãî äåéñòâèÿ τ ), R ⊆ S × A ∪ {τ } × S îòíîøåíèå ïåðåõîäîâ, Σ íåïóñòîå ìíîæåñòâî
ïðîïîçèöèîíàëüíûõ ïåðåìåííûõ, L : S → 2Σ ôóíêöèÿ ðàçìåòêè ñîñòîÿíèé ïåðåìåííûõ.
ïåðåõîäîì
Òðîéêà (s, a, t) â îòíîøåíèè ïåðåõîäîâ R íàçûâàåòñÿ
. Âìåñòî çàïèñè (s, a, t) ∈ R ìû áóäåì
a
èñïîëüçîâàòü çàïèñü s −→M t è îïóñêàòü èíäåêñ M â òåõ ñëó÷àÿõ, êîãäà ìîäåëü ïîíÿòíà èç êîíòåêñòà.
aj−1
aj
a1
a2
π LTS M íàçûâàåòñÿ áåñêîíå÷íàÿ ïîñëåäîâàòåëüíîñòü π = s1 −→
s2 −→
. . . −→ sj −→ . . .
ai
ïåðåõîäîâ (si −→
si+1 ). Ìíîæåñòâî âñåõ LTS ìû îáîçíà÷èì ñ ïîìîùüþ ñèìâîëà M.
Ïîâåäåíèå LTS ñïåöèôèöèðóåòñÿ ñ ïîìîùüþ ôîðìóë òåìïîðàëüíûõ ëîãèê: CTL? , LTL, ACTL? , ACTL? -X
è LTL-X. Äëÿ èñïîëüçóåìîãî íàìè ìåòîäà ïðåäïî÷òèòåëüíû äâå ïîñëåäíèå ëîãèêè, íå ðàçëè÷àþùèå êîëè÷åñòâî ïåðåõîäîâ ìîäåëè. Ñèíòàêñèñ è
ñåìàíòèêà ëîãèê îïèñàíû,
íàïðèìåð, â êíèãå [26].
Ïóñòü äàíû äâå òàêèõ LTS Mi = Si , Si0 , Ai , Ri , Σi , Li , i = 1, 2, ñ íåïåðåñåêàþùèìèñÿ ìíîæåñòâàìè
ïåðåìåííûõ, ò.å. Σ1 ∩ Σ2 = ∅.
LTS íàçûâàåòñÿ òàêàÿ ïàðà Γ = h∆, i, â êîòîðîé ∆ ⊆ A1
ìíîæåñòâî ñèíõðîíèçèðóåìûõ äåéñòâèé ïåðâîé LTS, : ∆ → A2 îòîáðàæåíèå ìíîæåñòâà ñèíõðîíèçèðóìåûõ äåéñòâèé èç ∆ íà ñèíõðîíèçèðóåìûå äåéñòâèÿ âòîðîé ñèñòåìû. Êàæäàÿ ïàðà äåéñòâèé (a, a)
âûïîëíÿåòñÿ îáåèìè ìîäåëÿìè ñèíõðîííî. Ïðèìåðîì òàêîãî âçàèìîäåéñòâèÿ ìîæåò ñëóæèòü ïðè¼ì è îòïðàâêà ñîîáùåíèÿ ìåòîäîì ðàíäåâó. Ôóíêöèÿ ðàñïðîñòðàíÿåòñÿ åñòåñòâåííûì îáðàçîì íà ìíîæåñòâà
∆0 ⊆ ∆: ∆0 = {b ∈ A2 | ∃a ∈ ∆ : a = b}.
Ïóò¼ì
Ñèíõðîíèçàòîðîì
Îïðåäåëåíèå 2.2.
(Àñèíõðîííîé) ïàðàëëåëüíîé êîìïîçèöèåé
LTS M1 è M2 äëÿ çàäàííîãî ñèíõðîíèçà
òîðà Γ = h∆, i íàçûâàåòñÿ òàêàÿ LTS M = M1 kΓ M2 = S, S 0 , A, R, Σ, L , â êîòîðîé:
• S = S1 × S2 , S0 = S10 × S20 , A = A1 ∪ A2 \ (∆ ∪ ∆), Σ = Σ1 ∪ Σ2 , L(s, u) = L1 (s) ∪ L2 (u)
• Äëÿ êàæäîé ïàðû ñîñòîÿíèé (s, u), (t, v) ∈ S è äåéñòâèÿ a ∈ A âîçìîæåí ïåðåõîä ((s, u), a, (t, v)) â
îòíîøåíèè R òîãäà è òîëüêî òîãäà, êîãäà âûïîëíÿåòñÿ îäíî èç óñëîâèé:
a ∈ A1 \ ∆, u = v , (s, a, t) ∈ R1 (M1 âûïîëíÿåò äåéñòâèå a),
a ∈ A2 \ ∆, s = t, (u, a, v) ∈ R2 (M2 âûïîëíÿåò äåéñòâèå a),
a = τ è íàéä¼òñÿ òàêîå äåéñòâèå b ∈ ∆, ÷òî (s, b, t) ∈ R1 è (u, b, v) ∈ R2 (âçàèìîäåéñòâèå M1 è
M2 ),
íàáëþäàåìûõ ïåðåìåííûõ
Ïóñòü çàäàíî ïîäìíîæåñòâî
Σ0 ìíîæåñòâà Σ ïðîïîçèöèîíàëüíûõ ñèìâîëîâ
LTS M = hS, S0 , A, R, Σ, Li. Ïðèìåðîì òàêîãî ìíîæåñòâà ìîæåò áûòü ìíîæåñòâî âñåõ ïðîïîçèöèîíàëüíûõ
ñèìâîëîâ â ôîðìóëå òåìïîðàëüíîé ëîãèêè ϕ.  ñëó÷àå íàáëþäåíèÿ çà âûäåëåííûìè ïåðåìåííûìè ïåðåõîäû LTS ìîæíî òàêæå ðàçäåëèòü íà íàáëþäàåìûå è íåíàáëþäàåìûå. Íàáëþäàåìûé ïåðåõîä èçìåíÿåò çíà÷åíèÿ íàáëþäàåìûõ ïåðåìåííûõ èëè ñîâåðøàåò äåéñòâèå, îòëè÷íîå îò τ . Îòíîøåíèå Observ(M, Σ0 ) ⊆ R
çàäà¼ò ìíîæåñòâî íàáëþäàåìûõ ïåðåõîäîâ:
Observ(M, Σ0 ) = {(s, a, t)|(s, a, t) ∈ R è (a 6= τ ∨ L(s) ∩ Σ0 6= L(t) ∩ Σ0 )}.
 îáùåì ñëó÷àå â êà÷åñòâå íàáëþäàåìûõ ïåðåõîäîâ ìîæíî âûáðàòü ëþáîå ïîäìíîæåñòâî E ⊆ R, îäíàêî äëÿ ïðîâåðêè ñïåöèôèêàöèé íåîáõîäèìî îòñëåæèâàòü íàáëþäàåìûå äåéñòâèÿ è ìîäèôèêàöèþ íàáëþäàåìûõ ïåðåìåííûõ. Ëþáîå ìíîæåñòâî E ⊆ Observ(M, ∅) ìû íàçûâàåì ìíîæåñòâîì
. Åñëè äëÿ
ìíîæåñòâà ñîáûòèé è çàäàííîãî ìíîæåñòâà ïðîïîçèöèîíàëüíûõ ïåðåìåííûõ Σ0 âåðíî Observ(M, Σ0 ) ⊆ E ,
òî ìíîæåñòâî íàçûâàåòñÿ Σ0 .
ñîáûòèé
ñîãëàñîâàííûì
Îïðåäåëåíèå 2.3. Êîíå÷íûì áëîêîì èç ñîñòîÿíèÿ s1 îòíîñèòåëüíî ìíîæåñòâà ñîáûòèé E íàçûâàåòñÿ
τ
τ
τ
a
òàêîé êîíå÷íûé ïóòü B = s1 −→ s2 −→ · · · −→ sm −→ sm+1 , â êîòîðîì (sm , a, sm+1 ) ∈ E è (si , τ, si+1 ) ∈
/E
âåðíî äëÿ âñåõ i : 1 ≤ i < m. Áåñêîíå÷íûì áëîêîì èç ñîñòîÿíèÿ s1 íàçûâàåòñÿ òàêîé áåñêîíå÷íûé ïóòü
τ
τ
τ
τ
B = s1 −→ s2 −→ · · · −→ sk −→ · · · , â êîòîðîì (si , τ, si+1 ) ∈
/ E âåðíî äëÿ âñåõ i ≥ 1.
Ìíîæåñòâà âñåõ êîíå÷íûõ è áåñêîíå÷íûõ áëîêîâ èç ñîñòîÿíèÿ s äëÿ ìíîæåñòâà ñîáûòèé E îáîçíà÷àþòñÿ M AXF (E, s) è M AXI(E, s) ñîîòâåòñòâåííî.
3.
Îñëàáëåííûå îòíîøåíèÿ ñèìóëÿöèè
Äëÿ êîððåêòíîãî ïðèìåíåíèÿ ìåòîäà èíâàðèàíòîâ íåîáõîäèìî çàäàòü îòíîøåíèå ýêâèâàëåíòíîñòè èëè
÷àñòè÷íîãî ïîðÿäêà íà ìíîæåñòâå ðàçìå÷åííûõ ñèñòåì ïåðåõîäîâ. Îòíîøåíèå äîëæíî óäîâëåòâîðÿòü òðåáîâàíèÿì
è
.
êîíñåðâàòèâíîñòè ìîíîòîííîñòè
Ìîäåëèðîâàíèå è àíàëèç èíôîðìàöèîííûõ ñèñòåì Ò.15, 3 (2008)
6
Îïðåäåëåíèå 3.1 (Êîíñåðâàòèâíîñòü). Îòíîøåíèå íà LTS êîíñåðâàòèâíî îòíîñèòåëüíî êëàññà ñïåöèôèêàöèé Φ, åñëè äëÿ ëþáûõ äâóõ òàêèõ LTS M1 è M2 , ÷òî M1 M2 , è ëþáîé ñïåöèôèêàöèè ϕ ∈ Φ èç
âûïîëíèìîñòè M2 |= ϕ ñëåäóåò âûïîëíèìîñòü M1 |= ϕ.
Êîíñåðâàòèâíîñòü îòíîøåíèÿ ïîçâîëÿåò ñâåñòè ïðîâåðêó ñïåöèôèêàöèè íà îäíîé LTS ê ïðîâåðêå ñïåöèôèêàöèè íà äðóãîé LTS. Åñëè ñïåöèôèêàöèÿ âûïîëíÿåòñÿ íà ìîäåëè M2 , òî îíà âûïîëíÿåòñÿ è íà M1 .
 îáðàòíóþ ñòîðîíó ñâîéñòâî âûïîëíÿåòñÿ ëèøü íà îòíîøåíèÿõ ýêâèâàëåíòíîñòè.
Îïðåäåëåíèå 3.2 (Ìîíîòîííîñòü). Îòíîøåíèå íà LTS ìîíîòîííî, åñëè äëÿ ëþáûõ äâóõ òàêèõ ïàð
LTS M1 , M2 è M3 , M4 , ÷òî M1 M2 è M3 M4 , âåðíî M1 k M3 M2 k M4 .
Ñ ïîìîùüþ ìîíîòîííîãî îòíîøåíèÿ ìîæíî äîáàâëÿòü ê LTS äðóãèå LTS, ïðè ýòîì ñîõðàíÿÿ îòíîøåíèÿ
ìåæäó ìîäåëÿìè.
Êëàññè÷åñêèå îòíîøåíèÿ ñèìóëÿöèè è áèñèìóëÿöèè, îïèñàííûå, íàïðèìåð, â [26], óäîâëåòâîðÿþò ñâîéñòâàì ìîíîòîííîñòè è êîíñåðâàòèâíîñòè (îòíîñèòåëüíî ôîðìóë ëîãèê ACTL? -X è CTL? ñîîòâåòñòâåííî).
Îäíàêî ýòè îòíîøåíèÿ îêàçûâàþòñÿ ñëèøêîì ñòðîãèìè â ñëó÷àå àñèíõðîííîé ïàðàëëåëüíîé êîìïîçèöèè.
Ìîäåëè ñ ðàçëè÷íûì ÷èñëîì ïðîöåññîâ ñîâåðøàþò ðàçëè÷íîå ÷èñëî íåíàáëþäàåìûõ ïåðåõîäîâ. Ïî ýòîé
ïðè÷èíå ìåòîä èíâàðèàíòîâ ñ èñïîëüçîâàíèåì ñèìóëÿöèè è áèñèìóëÿöèè â ñëó÷àå àñèíõðîííîé ïàðàëëåëüíîé êîìïîçèè òðåáóåò äîïîëíèòåëüíîé àáñòðàêöèè, íàïðèìåð, ñïîñîáîì, îïèñàííûì â ðàáîòå [5].
Äîïîëíèòåëüíàÿ àáñòðàêöèÿ ìîäåëåé ìîæåò îêàçàòüñÿ ñëèøêîì ãðóáîé, íàïðèìåð, â ñëó÷àå ïðîâåðêè
ñâîéñòâ âûäåëåííûõ ïðîöåññîâ ìîäåëåé. Âìåñòî äîïîëíèòåëüíîé àáñòðàêöèè ìû ïðåäëàãàåì èñïîëüçîâàòü
îñëàáëåííûå îòíîøåíèÿ ñèìóëÿöèè íà ìîäåëÿõ.
Äàëåå íàñ áóäóò èíòåðåñîâàòü îòíîøåíèÿ íà ìîäåëÿõ,
ñîäåðæàùèå íà÷àëüíûå
ñîñòîÿíèÿ ìîäåëåé. Çà
ïèñü M1 x M2 èñïîëüçóåòñÿ äëÿ ìîäåëåé M1 = S1 , S10 , A1 , R1 , Σ1 , L1 è M2 = S2 , S20 , A2 , R2 , Σ2 , L2 â
òîì ñëó÷àå, åñëè íàéä¼òñÿ òàêîå îòíîøåíèå H ⊆ S1 × S2 âèäà x ∈ {qbs, bs, sbs}, ÷òî äëÿ ëþáîãî íà÷àëüíîãî
ñîñòîÿíèÿ s1 ∈ S10 ñóùåñòâóåò òàêîå íà÷àëüíîå ñîñòîÿíèå s2 ∈ S20 , äëÿ êîòîðîãî âåðíî (s1 , s2 ) ∈ H .
Îïðåäåëåíèå 3.3 (Êâàçèáëî÷íàÿ ñèìóëÿöèÿ, qbs). Ïóñòü çàäàíû LTS Mi = Si , Si0 , Ai , Ri , Σi , Li , i = 1, 2,
è ìíîæåñòâî ïðîïîçèöèîíàëüíûõ ïåðåìåííûõ Σ0 ⊆ Σ1 ∩ Σ2 . Ïóñòü òàêæå çàäàíû ìíîæåñòâà ñîáûòèé E1
è E2 ìîäåëåé M1 è M2 ñîîòâåòñòâåííî. Îòíîøåíèå H ⊆ S1 × S2 íàçûâàåòñÿ
íà ìîäåëÿõ M1 è M2 îòíîñèòåëüíî ìíîæåñòâ Σ0 , E1 , E2 , åñëè äëÿ ëþáîé ïàðû ñîñòîÿíèé (s1 , t1 ) ∈ H
âûïîëíÿþòñÿ ñëåäóþùèå óñëîâèÿ:
êâàçèáëî÷íîé ñèìóëÿöèåé
1. L1 (s1 ) ∩ Σ0 = L2 (t1 ) ∩ Σ0 ,
τ
τ
τ
a
2. Äëÿ ëþáîãî êîíå÷íîãî áëîêà σ = s1 −→ s2 −→ · · · −→ sm −→ sm+1 ∈ M AXF (E1 , s1 ) ìîäåëè M1
τ
τ
τ
a
íàéä¼òñÿ òàêîé ñîîòâåòñòâóþùèé áëîê δ = t1 −→ t2 −→ · · · −→ tn −→ tn+1 ∈ M AXF (E2 , t1 ) ìîäåëè
M2 , ÷òî (sm+1 , tn+1 ) ∈ H è (si , tj ) ∈ H âåðíî äëÿ âñåõ i, j , 1 ≤ i ≤ m, 1 ≤ j ≤ n.
τ
τ
τ
τ
3. Äëÿ ëþáîãî áåñêîíå÷íîãî áëîêà σ = s1 −→ s2 −→ · · · −→ sm −→ · · · ∈ M AXI(E1 , s1 ) ìîäåëè
τ
τ
τ
τ
M1 íàéä¼òñÿ òàêîé ñîîòâåòñòâóþùèé áåñêîíå÷íûé áëîê δ = t1 −→ t2 −→ · · · −→ tn −→ · · · ∈
M AXI(E2 , t1 ) ìîäåëè M2 , ÷òî (si , tj ) ∈ H âåðíî äëÿ âñåõ i, j , 1 ≤ i, 1 ≤ j .
 îòíîøåíèè êâàçèáëî÷íîé ñèìóëÿöèè îäíà LTS ìîæåò ñîâåðøèòü èç ëþáîãî ñîñòîÿíèÿ íåñêîëüêî
íåíàáëþäàåìûõ ïåðåõîäîâ è îäèí íàáëþäàåìûé ïåðåõîä (èëè áåñêîíå÷íîå ÷èñëî íåíàáëþäàåìûõ).  îòâåò
íà ýòî âòîðàÿ LTS òàêæå äîëæíà ñîâåðøèòü íåñêîëüêî íåíàáëþäàåìûõ ïåðåõîäîâ (íåîáÿçàòåëüíî òàêîå
æå ÷èñëî) èç ñîîòâåòñòâóþùåãî ñîñòîÿíèÿ è îäèí íàáëþäàåìûé ïåðåõîä ñ òåì æå äåéñòâèåì. Ïðè ýòîì
ðàçìåòêà ñîñòîÿíèé â áëîêàõ äîëæíà ñîâïàäàòü îòíîñèòåëüíî ìíîæåñòâà Σ0 .
×àñòíûì ñëó÷àåì êâàçèáëî÷íîé ñèìóëÿöèè ÿâëÿåòñÿ áëî÷íàÿ ñèìóëÿöèÿ.  ýòîì îòíîøåíèè ðàçáèåíèå ìíîæåñòâà ïåðåõîäîâ íà íàáëþäàåìûå è íåíàáëþäàåìûå äèêòóåòñÿ ëèøü ìíîæåñòâîì íàáëþäàåìûõ
ïåðåìåííûõ Σ0 .
Îïðåäåëåíèå 3.4 (Áëî÷íàÿ ñèìóëÿöèÿ, bs). Ïóñòü çàäàíû LTS Mi = Si , Si0 , Ai , Ri , Σi , Li , i = 1, 2, è
ìíîæåñòâî ïðîïîçèöèîíàëüíûõ ïåðåìåííûõ Σ0 ⊆ Σ1 ∩ Σ2 . Îòíîøåíèå H ⊆ S1 × S2 íàçûâàåòñÿ
íà ìîäåëÿõ M1 è M2 îòíîñèòåëüíî ìíîæåñòâà Σ0 , åñëè îíî ÿâëÿåòñÿ êâàçèáëî÷íîé ñèìóëÿöèåé
îòíîñèòåëüíî ìíîæåñòâ Σ0 , E1 = Observ(M1 , Σ0 ) è E2 = Observ(M2 , Σ0 ).
áëî÷íîé
ñèìóëÿöèåé
Áëî÷íàÿ ñèìóëÿöèÿ îáëàäàåò ñâîéñòâîì êîíñåðâàòèâíîñòè.
Òåîðåìà 3.1.
Mi = Si , Si0 , Ai , Ri , Σi , Li i = 1, 2
H ⊆ S1 × S2
Σ0 ⊆ Σ1 ∩ Σ2
Ïóñòü äàíû LTS
,
, è îòíîøåíèå áëî÷íîé ñèìóëÿöèè
îòíîñèòåëüíî ìíîæåñòâà íàáëþäàåìûõ ïåðåìåííûõ
.
Ïðèìåíåíèå îñëàáëåííûõ îòíîøåíèé ñèìóëÿöèè â ìåòîäå ñåòåâûõ èíâàðèàíòîâ äëÿ âåðèôèêàöèè
ïàðàìåòðèçîâàííûõ àñèíõðîííûõ ìîäåëåé
Äëÿ ëþáîé ïàðû ñîñòîÿíèé (s, t) ∈ H è ëþáîé ôîðìóëû ϕ ëîãèêè
ïåðåìåííûìè èç ìíîæåñòâà Σ0 âåðíî:
?
ACTL -X
7
ñ ïðîïîçèöèîíàëüíûìè
M2 , s2 |= ϕ =⇒ M1 , s1 |= ϕ.
Äîêàçàòåëüñòâî ïðèâåäåíî â ðàáîòå [27].
Ïîñòðîåíèå îòíîøåíèÿ êâàçèáëî÷íîé ñèìóëÿöèè ìåæäó LTS M1 è M2 ïðè çàäàííûõ ìíîæåñòâàõ ñîáûòèé E1 è E2 ìîæíî ñâåñòè ê ïîñòðîåíèþ áëî÷íîé ñèìóëÿöèè, äîáàâèâ â LTS äîïîëíèòåëüíóþ íàáëþäàåìóþ
ïåðåìåííóþ ε, èçìåíÿþùóþ çíà÷åíèå íà τ -ïåðåõîäàõ, âõîäÿùèõ â ìíîæåñòâà E1 è E2 . Îáîçíà÷èì LTS,
ïîëó÷åííûå òàêèì ïðåîáðàçîâàíèåì, ñ ïîìîùüþ çàïèñè M1ε è M2ε .
Óòâåðæäåíèå 3.2.
Mi = Si , Si0 , Ai , Ri , Σi , Li i = 1, 2
Σ 0 ⊆ Σ1 ∩ Σ2
ε
M1 qbs
M
M1ε bs
2
Σ0
Σ0 ∪{ε} M2
Äëÿ ëþáûõ LTS
íàëüíûõ ïåðåìåííûõ
âåðíî:
òîãäà è òîëüêî òîãäà, êîãäà
,
, ñ ìíîæåñòâîì ïðîïîçèöèî-
.
Èç óòâåðæäåíèÿ 3.2 è òåîðåìû 3.1 ñëåäóåò, ÷òî êâàçèáëî÷íàÿ ñèìóëÿöèÿ òàêæå îáëàäàåò ñâîéñòâîì
êîíñåðâàòèâíîñòè.
Ñëåäñòâèå 3.3.
Mi = Si , Si0 , Ai , Ri , Σi , Li i = 1, 2
H ⊆ S1 × S2
Σ0 ⊆ Σ1 ∩ Σ 2
?
(s, t) ∈ H
ϕ
ACTL -X
Σ0
Ïóñòü äàíû LTS
,
, è îòíîøåíèå áëî÷íîé ñèìóëÿöèè
îòíîñèòåëüíî ìíîæåñòâà íàáëþäàåìûõ ïåðåìåííûõ
.
Äëÿ ëþáîé ïàðû ñîñòîÿíèé
è ëþáîé ôîðìóëû ëîãèêè
ñ ïðîïîçèöèîíàëüíûìè
ïåðåìåííûìè èç ìíîæåñòâà âåðíî:
M2 , s2 |= ϕ =⇒ M1 , s1 |= ϕ.
Îäíèì èç îñíîâíûõ ñâîéñòâ êâàçèáëî÷íîé ñèìóëÿöèè, ÿâëÿåòñÿ ñâîéñòâî ìîíîòîííîñòè. Áëî÷íàÿ ñèìóëÿöèÿ, â îáùåì ñëó÷àå, íåìîíîòîííà, îäíàêî îáëàäàåò ñâîéñòâàìè ïðàâîé è ëåâîé ìîíîòîííîñòè [27].
Òåîðåìà 3.4.
Ïóñòü çàäàíû:
LTS Mi = Si, Si0, Ai, Ri, Σi, Li, i = 1, 2, 3, 4, óäîâëåòâîðÿþùèå ñâîéñòâàì:
(Σ1 ∪ Σ2 ) ∩ (Σ3 ∪ Σ4 ) = ∅,
A1 = A2 = A0 , A3 = A4 = A00 è A0 ∩ A00 = ∅.
• Òàêèå íåïåðåñåêàþùèåñÿ ìíîæåñòâà Σ0 è Σ00 , ÷òî Σ0 ⊆ (Σ1 ∪ Σ3 ) è Σ00 ⊆ (Σ2 ∪ Σ4 ).
• Ñèíõðîíèçàòîð Γ = (∆, ), ïðè÷¼ì ∆ ⊆ A0 è : ∆ → A00 .
Òîãäà èç M1 qbΣ M2 è M3 qbΣ M4 ñëåäóåò M1 kΓ M3 qbΣ ∪Σ M2 kΓ M4.
•
0
00
0
00
Òàêèì îáðàçîì, êâàçèáëî÷íàÿ ñèìóëÿöèÿ óäîâëåòâîðÿåò ñâîéñòâàì êîíñåðâàòèâíîñòè è ìîíîòîííîñòè
è ïðèãîäíà äëÿ ïðèìåíåíèÿ â ìåòîäå èíâàðèàíòîâ. Îäíàêî ñ ïðàêòè÷åñêîé òî÷êè çðåíèÿ îòíîøåíèå áëî÷íîé ñèìóëÿöèè ïðåäñòàâëÿåòñÿ ìåíåå âû÷èñëèòåëüíî ñëîæíûì è äîñòàòî÷íûì äëÿ ïîèñêà èíâàðèàíòà.
Ïîýòîìó ïðè ïîèñêå èíâàðèàíòîâ ìû èñïîëüçóåì îòíîøåíèå áëî÷íîé ñèìóëÿöèè, à ïðè ðàñïðîñòðàíåíèè
íàéäåííîãî îòíîøåíèÿ íà áåñêîíå÷íîå ÷èñëî ìîäåëåé ïàðàìåòðèçîâàííîãî ñåìåéñòâà ñòðîèì êâàçèáëî÷íóþ ñèìóëÿöèþ íà îñíîâàíèè íàéäåííîé áëî÷íîé.
 õîäå ýêñïåðèìåíòîâ ïî ïîñòðîåíèþ áëî÷íîé ñèìóëÿöèè ìû îáíàðóæèëè, ÷òî íåîáõîäèìî è äîñòàòî÷íî ïîñòðîèòü ýêâèâàëåíòíîå îòíîøåíèå, â êîòîðîì ïðîâåðÿþòñÿ ëèøü íà÷àëüíûå è êîíå÷íûå ïåðåõîäû
áëîêîâ. Îïðåäåëåíèå òàêîãî îòíîøåíèÿ ïðèâåäåíî íèæå.
Îïðåäåëåíèå 3.5 (Ïîëóáëî÷íàÿ ñèìóëÿöèÿ, sbs). Îòíîøåíèå H ⊆ S1 × S2 íàçûâàåòñÿ îòíîøåíèåì ïîëóáëî÷íîé ñèìóëÿöèè íà ìîäåëÿõ M1 è M2 îòíîñèòåëüíî ìíîæåñòâà ïåðåìåííûõ Σ0, òîãäà è òîëüêî òîãäà,
êîãäà äëÿ ëþáîé ïàðû ñîñòîÿíèé (s1 , t1 ) ∈ H âûïîëíÿþòñÿ ñëåäóþùèå óñëîâèÿ:
1. L1 (s1 ) ∩ Σ0 = L2 (t1 ) ∩ Σ0 ,
τ
τ
τ
a
2. Äëÿ êàæäîãî êîíå÷íîãî áëîêà σ = s1 −→ s2 −→ · · · −→ sm −→ sm+1 ∈ M AXF (s1 ) íàéä¼òñÿ òàêîé
τ
τ
τ
a
êîíå÷íûé áëîê δ = t1 −→ t2 −→ · · · −→ tn −→ tn+1 ∈ M AXF (t1 ), ÷òî:
(a) åñëè n > 1, òî (s1 , tn ) ∈ H è (sm+1 , tn+1 ) ∈ H ;
(b) åñëè n = 1, òî (sm+1 , tn+1 ) ∈ H ;
Ìîäåëèðîâàíèå è àíàëèç èíôîðìàöèîííûõ ñèñòåì Ò.15, 3 (2008)
8
τ
τ
τ
τ
3. (äèâåðãåíöèÿ) Äëÿ êàæäîãî áåñêîíå÷íîãî áëîêà σ = s1 −→ s2 −→ · · · −→ si −→ · · · ∈ M AXI(s1 )
τ
τ
τ
τ
íàéä¼òñÿ òàêîé áåñêîíå÷íûé áëîê δ = t1 −→ t2 −→ · · · −→ tj −→ · · · ∈ M AXI(t1 ) è ÷èñëî k > 1, ÷òî
(s1 , tk ) ∈ H .
Èç òåîðåìû, ïðèâåä¼ííîé íèæå, ñëåäóåò, ÷òî äëÿ ïîèñêà áëî÷íîé ñèìóëÿöèè íåîáõîäèìî è äîñòàòî÷íî
íàéòè îòíîøåíèå ïîëóáëî÷íîé ñèìóëÿöèè. Ñîîòíîøåíèå ìåæäó áëî÷íîé è ïîëóáëî÷íîé ñèìóëÿöèåé ñõîæå
ñ ñîîòíîøåíèåì ìåæäó âåòâÿùåéñÿ (branching) è ïîëóâåòâÿùåéñÿ (semi-branching) áèñèìóëÿöèÿìè [22].
Òåîðåìà 3.5.
Mi = Si , Si0 , Ai , Ri , Σi , Li i = 1, 2
Ïóñòü äàíû LTS
,
, è ìíîæåñòâî ïðîïîçèöèîíàëüíûõ
sbs
ïåðåìåííûõ Σ0 ⊆ Σ1 ∩ Σ2.  ýòîì ñëó÷àå M1 Σ M2 òîãäà è òîëüêî òîãäà, êîãäà M1 bs
Σ M2 .
0
4.
0
Ïðèìåíåíèå ìåòîäà ñåòåâûõ èíâàðèàíòîâ
Äëÿ îïèñàíèÿ òîïîëîãèè ïàðàìåòðèçîâàííîé ðàñïðåäåë¼ííîé ñèñòåìû ìû èñïîëüçóåì ñåòåâûå ãðàììàòèêè (êàê è â ðàáîòàõ [4, 5, 16]).
Îïðåäåëåíèå 4.1. Êîíòåêñòíî-ñâîáîäíîé ñåòåâîé ãðàììàòèêîé íàçûâàåòñÿ òàêàÿ ÷åòâ¼ðêà
G = (T , N , P, S), â êîòîðîé:
• ìíîæåñòâî T ìíîæåñòâî òåðìèíàëîâ ïðîöåññîâ â ôîðìå LTS,
• ìíîæåñòâî N ìíîæåñòâî íåòåðìèíàëîâ,
• ñèìâîë S ∈ N ñòàðòîâûé ñèìâîë,
• ìíîæåñòâî P ìíîæåñòâî ïðàâèë âûâîäà âèäà: X → Y1 [R1 ] kΓ1 · · · kΓn−1 Yn [Rn ], â êàæäîì èç
êîòîðûõ ó÷àñòâóþò:
íåòåðìèíàë X ∈ N ,
òåðìèíàëû èëè íåòåðìèíàëû Y1 , . . . , Yn ∈ N ∪ T ,
ñèíõðîíèçàòîðû Γi = (∆i ,
i
), 1 ≤ i ≤ n − 1.
ôóíêöèè ïåðåèìåíîâàíèÿ äåéñòâèé Ri : A → A.
Äàëåå ïðåäïîëàãàåòñÿ, ÷òî ãðàììàòèêà îäíîçíà÷íà, íå ñîäåðæèò áåñïîëåçíûõ è íåäîñòèæèìûõ ñèìâîëîâ, à òàêæå ñîäåðæèò òîëüêî öèêëû âèäà X → X k p1 k · · · k pn , ãäå X ∈ N è p1 , . . . , pn ∈ T .
Ñ ïîìîùüþ ñåòåâîé ãðàììàòèêè ïîðîæäàþòñÿ LTS, ñîîòâåòñòâóþùèå ìîäåëÿì ïàðàìåòðèçîâàííîãî ñåìåéñòâà. Äëÿ ïîðîæäåíèÿ LTS ïî ãðàììàòèêå ìû èñïîëüçóåì äåðåâüÿ âûâîäà, ñîâïàäàþùèå ñ äåðåâüÿìè
âûâîäà â îáû÷íûõ êîíòåêñòíî-ñâîáîäíûõ ãðàììàòèêàõ. Äëÿ îáîçíà÷åíèÿ äåðåâà âûâîäà, ñîñòîÿùåãî èç
îäíîãî òåðìèíàëà p ∈ T , ìû èñïîëüçóåì çàïèñü p.  ñëó÷àå ïðèìåíåíèÿ ïðàâèëà X → Y1 [R1 ] kΓ1 · · · kΓn−1
Yn [Rn ] ìû èñïîëüçóåì çàïèñü (X t1 . . . tn ), ãäå t1 , . . . , tn äåðåâüÿ âûâîäà äëÿ ñèìâîëîâ Y1 , . . . , Yn . Ìíîæåñòâî âñåõ äåðåâüåâ âûâîäà èç ñèìâîëà X ∈ N ∪ T îáîçíà÷èì ñ ïîìîùüþ çàïèñè T r(X), à ïîäìíîæåñòâî
äåðåâüåâ âûñîòû h èç ìíîæåñòâà T r(X) ñ ïîìîùüþ T rh (X).
Äëÿ èñêëþ÷åíèÿ êîëëèçèé èì¼í ïåðåìåííûõ è äåéñòâèé â LTS, ïîðîæäàåìûõ îäíèì
òåðìèíàëîì,
îïðåäåëèì ôóíêöèþ ïåðåèìåíîâàíèÿ ren : M × N × (A → A) → M. Äëÿ LTS M = S, S 0 , A, R, Σ, L ,
íàòóðàëüíîãî ÷èñëà i è ôóíêöèè ïåðåèìåíîâàíèÿ
äåéñòâèé R : A → A. Ðåçóëüòàòîì ïðèìåíåíèÿ ôóíêöèè
ren ÿâëÿåòñÿ LTS Mr Sr , Sr0 , Ar , Rr , Σr , Lr , îáëàäàþùàÿ ñëåäóþùèìè ñâîéñòâàìè:
• ìíîæåñòâà Sr = S , Sr0 = S 0 , Ar = R(A),
• îòíîøåíèå ïåðåõîäîâ Rr = {(s, R(a), t) | (s, a, t) ∈ R},
• ìíîæåñòâî ïåðåìåííûõ Σr = {vi | v ∈ Σ}: ê èìåíè êàæäîé ïåðåìåííîé ïðèïèñûâàåòñÿ èíäåêñ i,
• çíà÷åíèå ôóíêöèè ðàçìåòêè Lr : Sr → 2Σr äëÿ ñîñòîÿíèÿ s ∈ Sr ðàâíî Lr (s) = {vi | L(s) = v}.
S
S Îïðåäåëèì ôóíêöèþ ïîðîæäåíèÿ LTS ïî äåðåâó âûâîäà lts : X∈N ∪T T r(X) → M. Äëÿ äåðåâà t ∈
X∈N ∪T T r(X) çíà÷åíèå ôóíêöèè îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
• åñëè t = p, p ∈ T , òî lts(t) = p;
• åñëè t = (X t1 . . . tn ) è ñîîòâåòñòâóþùåå êîðíþ äåðåâà ïðàâèëî âûâîäà âûãëÿäèò êàê X → Y1 [R1 ] kΓ1
· · · kΓn−1 Yn [Rn ], òî lts(t) = ren(lts(t1 ), 1, R1 ) kΓ1 · · · kΓn−1 ren(lts(tn ), n, Rn ).
Ïðèìåíåíèå îñëàáëåííûõ îòíîøåíèé ñèìóëÿöèè â ìåòîäå ñåòåâûõ èíâàðèàíòîâ äëÿ âåðèôèêàöèè
ïàðàìåòðèçîâàííûõ àñèíõðîííûõ ìîäåëåé
9
Ïðîâåðêà áåñêîíå÷íîãî ñåìåéñòâà ìîäåëåé, ïîðîæä¼ííûõ ñåòåâîé ãðàììàòèêîé, ñâîäèòñÿ ê ïðîâåðêå
êîíå÷íîãî ÷èñëà ìîäåëåé áëàãîäàðÿ äâóì ñëåäóþùèì òåîðåìàì.
Ïóñòü çàäàí òàêîé íåòåðìèíàë X ∈ N ñåòåâîé ãðàììàòèêè G = (T , N , P, S), â ïðàâîé
÷àñòè ïðàâèë âûâîäà êîòîðîãî ó÷àñòâóþò ëèøü òåðìèíàëû è, ìîæåò áûòü, ñàì íåòåðìèíàë X . Ïóñòü
òàêæå íàéäåíî òàêîå äåðåâî âûâîäà tIN V (X)
∈ T r(X) (èíâàðèàíò íåòåðìèíàëà X ) âûñîòû h, ÷òî äëÿ
ëþáîãî äåðåâà t ∈ T rh+1(X) âåðíî lts(t) qbΣ lts(tIN V (X)), ãäå Σ0 ïîäìíîæåñòâî ïðîïîçèöèîíàëüíûõ
ïåðåìåííûõ LTS lts(t).
Òîãäà äëÿ ëþáîãî íàòóðàëüíîãî k ≥ h è äåðåâà t ∈ T rk (X) âåðíî lts(t) qbΣ lts(tIN V (X)).
Äîêàçàòåëüñòâî. Óòâåðæäåíèå äîêàçûâàåòñÿ èíäóêöèåé ïî âûñîòå äåðåâà âûâîäà ñ ïîìîùüþ òåîðåìû 3.4
Òåîðåìà 4.1.
0
0
î ìîíîòîííîñòè êâàçèáëî÷íîé ñèìóëÿöèè.
Òåîðåìà 4.2. Ïóñòü çàäàí íåòåðìèíàë X ∈ N ñåòåâîé ãðàììàòèêè G = (T , N , P, S) è äëÿ êàæäîãî
íåòåðìèíàëà Y , äîñòèæèìîãî èç X , íàéäåí èíâàðèàíò tIN V (Y ) ïî òåîðåìå 4.1. Ïóñòü òàêæå íàéäåíî
òàêîå äåðåâî âûâîäà tIN V (X) ∈ T r(X) (èíâàðèàíò íåòåðìèíàëà X ) âûñîòû h, â êîòîðîì:
• äëÿ êàæäîãî íåòåðìèíàëà Y , çà èñêëþ÷åíèåì X , íàéäåí ñîîòâåòñòâóþùèé èíâàðèàíò tIN V (Y );
• äëÿ ëþáîãî äåðåâà t ∈ T rh+1 (X) âåðíî lts(t) qb
Σ lts(tIN V (X)), ãäå Σ0 ïîäìíîæåñòâî ïðîïîçèöèîíàëüíûõ ïåðåìåííûõ LTS lts(t).
Òîãäà äëÿ ëþáîãî íàòóðàëüíîãî k ≥ h è äåðåâà t ∈ T rk (X) âåðíî lts(t) qbΣ lts(tIN V (X)).
Äîêàçàòåëüñòâî. Òåîðåìà äîêàçûâàåòñÿ àíàëîãè÷íî òåîðåìå 4.1 èíäóêöèåé ïî âûñîòå äåðåâà âûâîäà ñ
0
0
ïîìîùüþ òåîðåìû 3.4 î ìîíîòîííîñòè êâàçèáëî÷íîé ñèìóëÿöèè.
Òàêèì îáðàçîì, äëÿ ïðîâåðêè íåîáõîäèìî íàéòè èíâàðèàíòû âñåõ íåòåðìèíàëîâ ãðàììàòèêè. Ïîèñê
èíâàðèàíòîâ íåòåðìèíàëîâ ìîæíî ïðîâîäèòü ïåðåáîðîì äåðåâüåâ, íà÷èíàÿ ñ òåõ íåòåðìèíàëîâ, èç êîòîðûõ íåäîñòèæèìû äðóãèå íåòåðìèíàëû. Ïîñëå òîãî, êàê íàéäåíû èíâàðèàíòû ¾ñàìûõ áëèçêèõ¿ ê ëèñòüÿì
äåðåâüåâ íåòåðìèíàëîâ, èùóòñÿ èíâàðèàíòû íåòåðìèíàëîâ, â ïðàâèëàõ êîòîðûõ ó÷àñòâóþò äðóãèå íåòåðìèíàëû.
Èç òåîðåì 3.1, 4.1 è 4.2 ñëåäóåò, ÷òî äîñòàòî÷íî ïðîâåðèòü ñïåöèôèêàöèè íà ìîäåëÿõ, ñîñòîÿùèõ èç
èíâàðèàíòîâ, è êîíå÷íîì ìíîæåñòâå ìîäåëåé ìåíüøåãî ðàçìåðà.
Åñëè äëÿ êàæäîãî íåòåðìèíàëà X ∈ N ãðàììàòèêè
G = (T , N , P, S) íàéäåí èíâàðèàíò
?
, òî èç âûïîëíèìîñòè ôîðìóëû ϕ ëîãèêè
, ñîäåðæàùåé ïåðåìåííûå ïðîöåññîâ, âõîäÿùèõ â èíâàðèàíòû, ñëåäóåò âûïîëíèìîñòü ôîðìóëû ϕ íà âñåõ ìîäåëÿõ ïàðàìåòðèçîâàííîãî ñåìåéñòâà,
ïîðîæäàåìîãî ãðàììàòèêîé G, çà èñêëþ÷åíèåì êîíå÷íîãî ìíîæåñòâà ìîäåëåé.
Òåîðåìà 4.3.
tIN V (X)
5.
ACTL -X
Ðåàëèçàöèÿ àëãîðèòìà ïîèñêà ïîëóáëî÷íîé ñèìóëÿöèè
Äëÿ óñïåøíîãî ïðèìåíåíèÿ ìåòîäà ñåòåâûõ èíâàðèàíòîâ, îïèñàííîãî â ïðåäûäóùåì ðàçäåëå, íåîáõîäèìî óìåòü ñòðîèòü îòíîøåíèå êâàçèáëî÷íîé ñèìóëÿöèè ìåæäó çàäàííûìè LTS. Èç îïðåäåëåíèÿ êâàçèáëî÷íîé ñèìóëÿöèè âèäíî, ÷òî â îáùåì ñëó÷àå ïðè ïîñòðîåíèè îòíîøåíèÿ äëÿ êàæäîãî áëîêà íåîáõîäèìî íå
òîëüêî âûáðàòü ñîîòâåòñòâóþùèé áëîê â äðóãîé ìîäåëè, íî è ïîäîáðàòü òàêîå ðàçáèåíèå áëîêîâ, ÷òîáû
ïàðû ñîñòîÿíèé â ñîîòâåòñòâóþùèõ ïîäáëîêàõ íàõîäèëèñü â îòíîøåíèè êâàçèáëî÷íîé ñèìóëÿöèè. Ïîñòðîåíèå òàêîãî îòíîøåíèÿ ïðåäñòàâëÿåòñÿ íàì ñëèøêîì çàòðàòíûì, ïîýòîìó ïðè ïîèñêå èíâàðèàíòîâ
ìû îãðàíè÷èâàåìñÿ ïîñòðîåíèåì îòíîøåíèÿ ïîëóáëî÷íîé ñèìóëÿöèè.
Ñõåìà àëãîðèòìà ïîñòðîåíèÿ ïîëóáëî÷íîé ñèìóëÿöèè ìåæäó äâóìÿ ìîäåëÿìè âûãëÿäèò ñëåäóþùèì
îáðàçîì. Âî âðåìÿ ðàáîòû àëãîðèòìà ñòðîÿòñÿ äâà ìíîæåñòâà ïàð ñîñòîÿíèé ìîäåëåé: íåïîäòâåðæä¼ííûå
ïàðû (ìíîæåñòâî P ) è îïðîâåðãíóòûå (ìíîæåñòâî N ). Ìíîæåñòâî P ìîæíî ðàññìàòðèâàòü êàê ïðèáëèæåíèå ñòðîÿùåãîñÿ îòíîøåíèÿ ïîëóáëî÷íîé ñèìóëÿöèè. Ñíà÷àëà â ìíîæåñòâî P çàíîñÿòñÿ ïàðû íà÷àëüíûõ
ñîñòîÿíèé ñîñòîÿíèé ìîäåëè.
Íà êàæäîé èòåðàöèè àëãîðèòìà äëÿ êàæäîé ïàðû èç P ïðîâåðÿåòñÿ îïðåäåëåíèå ïîëóáëî÷íîé ñèìóëÿöèè íàä ìíîæåñòâîì P . Ïðè äîñòèæåíèè ïàðû ñîñòîÿíèé, íå íàõîäÿùåéñÿ â ìíîæåñòâå P ∪ N , íîâàÿ ïàðà
çàíîñèòñÿ â ìíîæåñòâî P . Åñëè äëÿ íåêîòîðîé ïàðû íå âûïîëíÿåòñÿ îïðåäåëåíèå, ïàðà ïåðåíîñèòñÿ èç
ìíîæåñòâà P â ìíîæåñòâî N . Àëãîðèòì çàâåðøàåòñÿ ïîñëå èòåðàöèè, íà êîòîðîé íå äîáàâëÿþòñÿ íîâûå
ïàðû â ìíîæåñòâà P è N . Ïðè ïðîâåðêå îïðåäåëåíèÿ îòíîøåíèå ïåðåõîäîâ ñòðîèòñÿ íà ëåòó, àíàëîãè÷íî
ìåòîäó, èñïîëüçóåìîìó â âåðèôèêàòîðå ìîäåëåé Spin [9].
10
Ìîäåëèðîâàíèå è àíàëèç èíôîðìàöèîííûõ ñèñòåì Ò.15, 3 (2008)
Ñëîæíîñòü âðåìåíè ðàáîòû ïðèâåä¼ííîãî àëãîðèòìà îöåíèâàåòñÿ ñâåðõó âûðàæåíèåì O(niter · n41 · n22 ·
≤ O(n51 ·n32 ·n2A ), ãäå niter ÷èñëî èòåðàöèé àëãîðèòìà, n1 ÷èñëî ñîñòîÿíèé ïåðâîé ìîäåëè, n2 ÷èñëî
ñîñòîÿíèé âòîðîé ìîäåëè, nA ÷èñëî íàáëþäàåìûõ äåéñòâèé ìîäåëåé. ×èñëî èòåðàöèé íå ïðåâûøàåò
n1 ·n2 , îäíàêî ñòîèò çàìåòèòü, ÷òî â íàøèõ ýêñïåðèìåíòàõ ÷èñëî èòåðàöèé ðàâíÿëîñü íåñêîëüêèì äåñÿòêàì
ïðè ÷èñëå ñîñòîÿíèé â íåñêîëüêî ìèëëèîíîâ.
Ïðè ïðîâåäåíèè ýêñïåðèìåíòîâ ñ ïîñòðîåíèåì ïîëóáëî÷íîé ñèìóëÿöèè ìû ðàçðàáîòàëè íåñêîëüêî ìåòîäîâ óñêîðåíèÿ àëãîðèòìà, áëàãîäàðÿ êîòîðûì âðåìÿ ðàáîòû ñîêðàòèëîñü â äåñÿòêè ðàç. Äëÿ õðàíåíèÿ
ìíîæåñòâ P è N èñïîëüçóåòñÿ ïðåäñòàâëåíèå ìíîæåñòâ ñîñòîÿíèé â âèäå ìèíèìàëüíîãî ñòðàòèôèöèðîâàííîãî êîíå÷íîãî àâòîìàòà (îïòèìèçàöèÿ dfa) [8], ñóùåñòâåííî óìåíüøàþùåå ïîòðåáëåíèå ïàìÿòè.
Îäíàêî ïåðåáîð ñîñòîÿíèé â òàêîì ïðåäñòàâëåíèè çàíèìàåò äîâîëüíî ìíîãî âðåìåíè, ïîýòîìó ìû äîáàâèëè âòîðîå ïðåäñòàâëåíèå ìíîæåñòâ P è N â âèäå ôàéëà (îïòèìèçàöèÿ dfafile). Ïåðåáîð ïàð ñîñòîÿíèé
îñóùåñòâëÿåòñÿ ñ ïîìîùüþ ÷òåíèÿ èç ôàéëà, à áûñòðàÿ ïðîâåðêà ïàð â ìíîæåñòâàõ P è N ñ ïîìîùüþ
àâòîìàòà.
Âî âðåìÿ èòåðàòèâíîé ïðîâåðêè ìíîæåñòâà P áîëüøîå ïîäìíîæåñòâî ïàð ñîñòîÿíèé ¾ñòàáèëèçèðóåòñÿ¿
è íà êàæäîé èòåðàöèè íå âëèÿåò íà ìíîæåñòâà P è N . Ïî ýòîé ïðè÷èíå ìíîæåñòâî P ðàçáèâàåòñÿ íà äâà
ïîäìíîæåñòâà (ôàéëà): ñòàáèëüíîå è íåñòàáèëüíîå (îïòèìèçàöèÿ stable). Ïàðà, ïðè ïðîâåðêå êîòîðîé íå
èçìåíèëèñü ìíîæåñòâà P è N , ïåðåâîäèòñÿ â ñòàáèëüíîå ìíîæåñòâî. Íîâûå ïàðû çàíîñÿòñÿ â íåñòàáèëüíîå
ìíîæåñòâî. Ñòàáèëüíîå ìíîæåñòâî ïðîâåðÿåòñÿ ëèøü òîãäà, êîãäà èñ÷åðïàåòñÿ íåñòàáèëüíîå ìíîæåñòâî.
Ïðîâåðêà ñòàáèëüíîãî ìíîæåñòâà íà ïîñëåäíèõ èòåðàöèÿõ ðàáîòû àëãîðèòìà òðåáóåò ïåðåáîðà âñåãî
ïîñòðîåííîãî îòíîøåíèÿ.  òîæå âðåìÿ äîñòàòî÷íî óáåäèòüñÿ â òîì, ÷òî íîâûå îïðîâåðãíóòûå ïàðû íå
ïîâëèÿëè íà ñòàáèëüíûå ñîñòîÿíèÿ. Ïîýòîìó èç ìíîæåñòâà îïðîâåðãíóòûõ ïàð ñòðîèòñÿ ìíîæåñòâî ïàð
ñîñòîÿíèé, íà êîòîðûå íåïîñðåäñòâåííî âëèÿþò îïðîâåðãíóòûå ïàðû, ìíîæåñòâî ïåðåñåêàåòñÿ ñ ìíîæåñòâîì ñòàáèëüíûõ ïàð è çàíîñèòñÿ â íåñòàáèëüíîå ìíîæåñòâî (îïòèìèçàöèÿ back).
Ïðè ïðîâåðêå îïðåäåëåíèÿ äëÿ ïàð ñîñòîÿíèé ñ îäèíàêîâûì ïåðâûì ñîñòîÿíèåì, òî åñòü ïàð (s, u) ∈ P ,
â êîòîðûõ ìåíÿåòñÿ ëèøü ñîñòîÿíèå u, ïðîèçâîäÿòñÿ çàïðîñû ê îäíèì è òåì æå ïàðàì ñîñòîÿíèé. Ïîýòîìó
ïîñëå êàæäîé èòåðàöèè ïàðû óïîðÿäî÷èâàþòñÿ ïî ïåðâîìó ñîñòîÿíèþ (âíåøíåé ñîðòèðîâêîé ôàéëà), à
ïðè ïðîâåðêå ïàð ñ îäèíàêîâûì ïåðâûì ñîñòîÿíèåì ðåçóëüòàòû ïðîâåðêè ýëåìåíòîâ â ìíîæåñòâàõ P è N
êýøèðóþòñÿ (îïòèìèçàöèÿ cache).
n2A )
6.
Ïðèìåð: ïðîòîêîë RSVP
Ïðîòîêîë ðåçåðâèðîâàíèÿ ðåñóðñîâ (Resource ReServation Protocol) [20] èñïîëüçóåòñÿ äëÿ óñòàíîâëåíèÿ
ñîåäèíåíèÿ ìåæäó ïðîèçâîäèòåëåì ðåñóðñîâ è èõ ïîëó÷àòåëåì ñ îïðåäåë¼ííûì óðîâíåì êà÷åñòâà ñåðâèñà
(QoS). Ìåæäó ïðîèçâîäèòåëÿìè è ïîëó÷àòåëÿìè íàõîäÿòñÿ ìàðøðóòèçàòîðû c îïðåäåë¼ííîé ïðîïóñêíîé
ñïîñîáíîñòüþ. Ïðîèçâîäèòåëè ðåñóðñîâ îïîâåùàþò ïîòðåáèòåëåé î íàëè÷èè ðåñóðñà, à ïîòðåáèòåëè ïîäïèñûâàþòñÿ íà ðåñóðñû. Ïðîòîêîë îðèåíòèðîâàí, â îñíîâíîì, íà ãðóïïîâóþ ðàññûëêó äàííûõ.
 ðàáîòå [25] ìû îïèñàëè ïðîâåðêó ïàðàìåòðèçîâàííîé ìîäåëè ïðîòîêîëà ðåçåðâèðîâàíèÿ ðåñóðñîâ
ñ ïîìîùüþ ìåòîäà ñåòåâûõ èíâàðèàíòîâ.  äàííîé ðàáîòå ìû ïðèâåä¼ì ëèøü íîâûå äàííûå. Ñåòåâàÿ
ãðàììàòèêà ìîäåëè âûãëÿäèò ñëåäóþùèì îáðàçîì:
P → p k1 T
T → r k2 T k3 T
T → r k2 c k3 c
Ïðîèçâîäèòåëü îïèñûâàåòñÿ ïðîöåññîì p, ìàðøðóòèçàòîð ïðîöåññîì r, à ïîòðåáèòåëü ïðîöåññîì
c. Ïðîèçâîäèòåëü ñâÿçûâàåòñÿ ñ âåðõíèì ìàðøðóòèçàòîðîì, ïîðîæäàåìûì èç íåòåðìèíàëà T . Êàæäûé
ìàðøðóòèçàòîð r ñâÿçûâàåòñÿ ñ äâóìÿ LTS, âûâîäèìûìè èç íåòåðìèíàëîâ T .
Ïðîâåðêà ïàðàìåòðèçîâàííîé ìîäåëè ñ òðåìÿ ìàðøðóòèçàòîðàìè è ÷åòûðåìÿ ïîòðåáèòåëÿìè ïîêàçàëà,
÷òî ìîäåëü ÿâëÿåòñÿ èíâàðèàíòîì äëÿ íåòåðìèíàëà T . Äëÿ ñîêðàùåíèÿ âðåìåíè ïðîâåðêè ìû âû÷èñëèëè
îòíîøåíèÿ ïîëóáëî÷íîé ñèìóëÿöèè íà ïÿòè ïàðàõ ìîäåëåé. Ñàìûì ðåñóðñî¼ìêèì îêàçàëîñü âû÷èñëåíèå
ïîëóáëî÷íîé ñèìóëÿöèè ìåæäó ìîäåëÿìè (r (r c (r c c)) (r c (r c c))) è (r (r c c) (r c c)) (ñèìâîëû
íåòåðìèíàëîâ â äåðåâüÿõ âûâîäà ïðîïóùåíû äëÿ óïðîùåíèÿ çàïèñè). Îïòèìèçàöèè, îïèñàííûå â ðàçäåëå 5. ïîçâîëèëè ñîêðàòèòü âðåìÿ âû÷èñëåíèÿ.  òàáëèöå 6. ïîêàçàíî ïîòðåáëåíèå ðåñóðñîâ ñ ðàçëè÷íûìè
îïòèìèçàöèÿìè.
Ïîòåíöèàëüíûå ðàçìåðû ìíîæåñòâ ñîñòîÿíèé ìîäåëåé ðàâíû 251 è 233 . ×èñëî äîñòèæèìûõ ñîñòîÿíèé
â ìîäåëÿõ ðàâíî 3, 8 · 106 è 25 · 103 ñîîòâåòñòâåííî. Ïðè ïîñòðîåíèè ïîëóáëî÷íîé ñèìóëÿöèè ñïîñîáîì,
Ïðèìåíåíèå îñëàáëåííûõ îòíîøåíèé ñèìóëÿöèè â ìåòîäå ñåòåâûõ èíâàðèàíòîâ äëÿ âåðèôèêàöèè
ïàðàìåòðèçîâàííûõ àñèíõðîííûõ ìîäåëåé
11
Òàáëèöà 1. Ïîñòðîåíèå ïîëóáëî÷íîé ñèìóëÿöèè ñ ðàçëè÷íûìè îïòèìèçàöèÿìè.
Îïòèìèçàöèè
dfa
dfale
dfale, stable, cache
dfale, stable, back, cache
Âðåìÿ
27 ä.
3 ä.
1 ä.
12 ÷.
Ïàìÿòü
49 M
49 M
140 M
295 M
Ðàçìåð ôàéëîâ
0M
80 M
80 M
364 M
èñïîëüçóþùèì âñå îïòèìèçàöèè, ðàçìåð ìíîæåñòâà P ñîñòàâèë 6, 8·106 ïàð ñîñòîÿíèé, à ðàçìåð ìíîæåñòâà
N 224761 ïàðû. Ñòîèò çàìåòèòü, ÷òî ïðèìåíåíèå âñåõ îïòèìèçàöèé òàêæå çíà÷èòåëüíî ñîêðàùàåò è
ðàçìåð ïîëó÷àþùåãîñÿ ìíîæåñòâà P ∪ N (ïðèìåðíî â 100 ðàç).
7.
Çàêëþ÷åíèå
 ðàáîòå îïèñàí ìåòîä ñåòåâûõ èíâàðèàíòîâ ñ èñïîëüçîâàíèåì îñëàáëåííûõ îòíîøåíèé ñèìóëÿöèè.
Ðåàëèçàöèÿ ìåòîäà óñïåøíî ïðèìåíåíà íàìè ðàíåå äëÿ ïðîâåðêè ïàðàìåòðèçîâàííîé ìîäåëè ïðîòîêîëà
ðåçåðâèðîâàíèÿ ðåñóðñîâ. Â äàííîé ðàáîòå îïèñàíû ñïîñîáû îïòèìèçàöèè àëãîðèòìà ïîèñêà èíâàðèàíòà
ñ ïîìîùüþ ïîñòðîåíèÿ ïîëóáëî÷íîé ñèìóëÿöèè, ñîêðàùàþùåå âðåìÿ åãî ðàáîòû.
 äàëüíåéøåì ìû ïëàíèðóåì ïðèìåíèòü ìåòîä äëÿ ïðîâåðêè äðóãèõ ïàðàìåòðèçîâàííûõ ïðîòîêîëîâ.
Äëÿ ïîñëåäóþùåãî ñîêðàùåíèÿ âðåìåíè ðàáîòû àëãîðèòìà ìîæíî ïðåäâàðèòåëüíî ïðîâîäèòü ìèíèìèçàöèþ ïðîâåðÿåìûõ ìîäåëåé, à òàêæå èñïîëüçîâàòü ñèììåòðèþ.
Ñïèñîê ëèòåðàòóðû
1.
Abdulla, P. A survey of regular model checking / P. Abdulla, M. B. Jonsson, M. Nilsson // Proc. 15th
Int. Conf. on Concurrency Theory. Vol. 3170/2004 of Lecture Notes in Computer Science. 2004. Pp. 3548.
3.
Apt, K. Limits for automatic verication of nite-state concurrent systems / K. Apt, D. Kozen //
Information Processing Letters. 1986. Vol. 15. Pp. 307309.
Calder, M. Five ways to use induction and symmetry in the verication of networks of processes by model-
4.
Clarke, E.
2.
checking / M. Calder, A. Miller // Automated Verication of Critical Systems (AvoCS 2002). 2002. Pp. 2942.
Verifying parameterized networks using abstraction and regular languages / E. Clarke,
O. Grumberg, S. Jha // 6-th International Conference on Concurrency Theory. 1995. Pp. 395407.
6.
Clarke, E. Verifying parameterized networks / E. Clarke, O. Grumberg, S. Jha // ACM Transactions on
Programming Languages and Systems. 1997. Vol. 19, no. 5. Pp. 726750.
Emerson, E. Reasoning about rings / E. Emerson, K. Namjoshi // Proceedings of 22th ACM Conf. on
7.
Emerson, E. Symmetry and model checking / E. Emerson, A. Sistla // Formal Methods in System Design. 5.
8.
9.
Principles of Programming Languages. 1995. Pp. 8594.
1996. Vol. 9, no. 1/2. Pp. 105131.
Holzmann, G. A minimized automaton representation of reachable states / G. Holzmann, A. Puri //
Software Tools for Technology Transfer, Vol. 3, No. 1. 1998.
Holzmann, G. J. The SPIN Model Checker : Primer and Reference Manual / G. J. Holzmann. AddisonWesley Professional, 2003. September.
Ip, C. N. Verifying systems with replicated components in murphi / C. N. Ip, D. L. Dill // Form. Methods
Syst. Des. 1999. Vol. 14, no. 3. Pp. 273310.
11. Kesten, Y. Verication by nitary abstraction / Y. Kesten, A. Pnueli // Information and Computation. 10.
2000. Vol. 163. Pp. 203243.
Ìîäåëèðîâàíèå è àíàëèç èíôîðìàöèîííûõ ñèñòåì Ò.15, 3 (2008)
12
12.
13.
Kurshan, R. P. A structural induction theorem for processes / R. P. Kurshan, K. McMillan // PODC '89:
Proceedings of the eighth annual ACM Symposium on Principles of distributed computing. New York,
NY, USA: ACM, 1989. Pp. 239247.
Lesens, D.
Invariants of parameterized binary tree networks as greatest xpoints / D. Lesens // Algebraic
Methodology and Software Technology. 1997. Pp. 337350.
14.
Lesens, D. Automatic verication of parameterized linear networks of processes / D. Lesens, N. Halbwachs,
15.
Manku, G. S. Structural symmetry and model checking / G. S. Manku, R. Hojati, R. K. Brayton // CAV
16.
Marelly, R. Gormel grammar oriented model checker / R. Marelly, O. Grumberg // Tech. Rep. 697. 17.
P. Raymond // POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of
programming languages. New York, NY, USA: ACM, 1997. Pp. 346357.
'98: Proceedings of the 10th International Conference on Computer Aided Verication. London, UK:
Springer-Verlag, 1998. Pp. 159171.
Haifa, Israel: The Technion, 1991.
Nilsson, M.
Structural Symmetry and Model Checking: Ph.D. thesis / Uppsala University, Uppsala,
Sweden. 2005. 157 pp.
18. A partial order approach to branching time logic model checking / R. Gerth, R. Kuiper, D. Peled,
W. Penczek //
1999. Vol. 150, no. 2. Pp. 132152.
Inf. Comput.
Penczek, W. Partial order reductions preserving simulations. 1999.
20. Braden, R. Resource reservation protocol (rsvp). 1997. http://tools.ietf.org/html/rfc2205.
21. Shahar, E. Tools and Techniques for Verifying Parameterized Systems: Ph.D. thesis / Weizmann Institute
19.
of Science, Israel. 2001. 120 pp.
22.
van Glabbeek, R. J. Branching time and abstraction in bisimulation semantics / R. J. van Glabbeek,
W. Peter Weijland // J. ACM. 1996. Vol. 43, no. 3. Pp. 555600.
23. Verication by network decomposition / E. Clarke, M. Talupur, T. Touili, H. Veith. Vol. 3170. 2004. Pp. 276291.
24.
Wolper P., L. Properties of large sets of processes with network invariants / L. Wolper P. LNCS 407. 25.
Zakharov, V. An invariant-based approach to the verication of asynchronous parameterized networks /
26.
Êëàðê, Ý. Âåðèôèêàöèÿ ìîäåëåé ïðîãðàìì: Model Checking / Ý. Êëàðê, Î. Ãðàìáåðã, Ä. Ïåëåä. Ì.:
27.
Springer-Verlag, Berlin, 1989. Pp. 6880.
V. Zakharov, I. Konnov // International Workshop on Invariant Generation (WING'07). RISC-Linz
Report Series No. 07-07. RISC, Hagenberg, Austria: 2007. July. Pp. 4155.
Èçäàòåëüñòâî Ìîñêîâñêîãî öåíòðà íåïðåðûâíîãî ìàòåìàòè÷åñêîãî îáðàçîâàíèÿ, 2002.
Êîííîâ, È.
Îá îäíîì ïîäõîäå ê âåðèôèêàöèè ñèììåòðè÷íûõ ïàðàìåòðèçîâàííûõ ðàñïðåäåë¼ííûõ
ñèñòåì / È. Êîííîâ, Â. Çàõàðîâ //
. 2005. Vol. 5. Pp. 317.
Ïðîãðàììèðîâàíèå
Скачать