Ìîäåë. è àíàëèç èíôîðì. ñèñòåì. Ò.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. Ïðîãðàììèðîâàíèå