Document 2721804

advertisement
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ,
2013,
N o 6,
ñ.
1224
ÒÅÑÒÈÐÎÂÀÍÈÅ, ÂÅÐÈÔÈÊÀÖÈß È ÂÀËÈÄÀÖÈß ÏÐÎÃÐÀÌÌ
ÓÄÊ
681.3.06
ÑÎÃËÀÑÎÂÀÍÈÅ ÊÎÍÔÎÐÌÍÎÑÒÈ È ÊÎÌÏÎÇÈÖÈÈ ∗
c
2013 ã.
È.Á. Áóðäîíîâ, À.Ñ. Êîñà÷åâ
Èíñòèòóò ñèñòåìíîãî ïðîãðàììèðîâàíèÿ ÐÀÍ
109004
Ìîñêâà, óë. À.Ñîëæåíèöûíà,
25
E-mail: igor@ispras.ru, kos@ispras.ru
Ïîñòóïèëà â ðåäàêöèþ 12.06.2013
 íàøåé ïðåäûäóùåé ñòàòüå [1] ïðåäëàãàëàñü íîâàÿ ìîäåëü ðåàëèçàöèè òèïà LTS.  îáû÷íîé LTS
ïåðåõîäû ïîìå÷àþòñÿ äåéñòâèÿìè, ïîýòîìó å¼ ìîæíî íàçâàòü LTS äåéñòâèé. Íîâàÿ ìîäåëü LTS
íàáëþäåíèé, â íåé âìåñòî äåéñòâèé èñïîëüçóþòñÿ íàáëþäåíèÿ è òåñòîâûå âîçäåéñòâèÿ
(êíîïêè).
Ýòà ìîäåëü îáîáùàåò ìíîãèå ñåìàíòèêè òåñòèðîâàíèÿ, êîòîðûå îïèðàþòñÿ íà LTS äåéñòâèé, íî èñïîëüçóþò äîïîëíèòåëüíûå íàáëþäåíèÿ (îòêàçû, ìíîæåñòâà ãîòîâíîñòè è ò.ï.). Êðîìå òîãî, åäèíîîáðàçíî ìîäåëèðóþòñÿ ñèñòåìû ñ ïðèîðèòåòàìè, êîòîðûå íå îïèñûâàþòñÿ ñ ïîìîùüþ LTS äåéñòâèé.
 äàííîé ñòàòüå ìû ðàçâèâàåì ýòîò ïîäõîä, êîíöåíòðèðóÿ âíèìàíèå íà êîìïîçèöèè ñèñòåì. Äåëî
â òîì, ÷òî íà òðàññàõ íàáëþäåíèé íåâîçìîæíî îïðåäåëèòü òàêóþ êîìïîçèöèþ, ïî îòíîøåíèþ ê
êîòîðîé êîìïîçèöèÿ LTS îáëàäàëà áû ñâîéñòâîì
àääèòèâíîñòè: ìíîæåñòâî òðàññ êîìïîçèöèè LTS
ñîâïàäàåò ñ ìíîæåñòâîì âñåõ ïîïàðíûõ êîìïîçèöèé òðàññ LTS-îïåðàíäîâ. Ýòî îáúÿñíÿåòñÿ òåì, ÷òî
íàáëþäåíèå â êîìïîçèöèîííîì ñîñòîÿíèè íå âû÷èñëÿåòñÿ ïî íàáëþäåíèÿì â ñîñòîÿíèÿõ-îïåðàíäàõ.
 äàííîé ñòàòüå ìû ïðåäëàãàåì ïîäõîä, óñòðàíÿþùèé ýòîò íåäîñòàòîê. Äëÿ ýòîãî ïåðåõîäû LTS
ïîìå÷àþòñÿ òàêèìè ñèìâîëàìè
(ñîáûòèÿìè), êîòîðûå, ñ îäíîé ñòîðîíû, ìîæíî êîìïîíîâàòü äëÿ
îáåñïå÷åíèÿ ñâîéñòâà àääèòèâíîñòè, à, ñ äðóãîé ñòîðîíû, ìîæíî èñïîëüçîâàòü äëÿ ãåíåðàöèè íàáëþäåíèé ïðè òåñòèðîâàíèè: ïåðåõîä ïî ñîáûòèþ ïðèâîäèò ê âîçíèêíîâåíèþ ñâÿçàííîãî ñ ýòèì
ñîáûòèåì íàáëþäåíèÿ. Ýòà ìîäåëü íàçâàíà LTS ñîáûòèé. Â ñòàòüå îïðåäåëÿåòñÿ 1) ïðåîáðàçîâàíèå
LTS ñîáûòèé â LTS íàáëþäåíèé äëÿ ñîãëàñîâàíèÿ ñ ïîëîæåíèÿìè íàøåé ïðåäûäóùåé ñòàòüè [1],
2) êîìïîçèöèÿ LTS ñîáûòèé, 3) êîìïîçèöèÿ ñïåöèôèêàöèé, ñîõðàíÿþùàÿ êîíôîðìíîñòü: êîìïîçèöèÿ êîíôîðìíûõ ðåàëèçàöèé êîíôîðìíà êîìïîçèöèè ñïåöèôèêàöèé, 4) åäèíîîáðàçíîå ìîäåëèðîâàíèå LTS äåéñòâèé ÷åðåç LTS ñîáûòèé, êîòîðîå ïîçâîëÿåò ðàññìàòðèâàòü ðåàëèçàöèþ â ëþáîé
ñåìàíòèêå âçàèìîäåéñòâèÿ, äîïóñòèìîé äëÿ LTS äåéñòâèé. Ïðè ýòîì êîìïîçèöèÿ LTS ñîáûòèé,
ïîëó÷åííûõ â ðåçóëüòàòå ìîäåëèðîâàíèÿ èñõîäíûõ LTS äåéñòâèé, ýêâèâàëåíòíà LTS ñîáûòèé, ïîëó÷åííîé â ðåçóëüòàòå ìîäåëèðîâàíèÿ êîìïîçèöèè ýòèõ LTS äåéñòâèé.
1.
ÂÂÅÄÅÍÈÅ
íàáëþäåíèÿìè íàä LTS ÿâëÿþòñÿ âíåøíèå (íàáëþäàåìûå) äåéñòâèÿ, êîòîðûìè ïîìå÷åíû ïå-
Îñíîâíîé ìîäåëüþ âçàèìîäåéñòâóþùèõ ïðîöåññîâ ÿâëÿåòñÿ LTS
ðåõîäû LTS. Äîïóñêàåòñÿ òàêæå íåíàáëþäàåìàÿ
(Labelled Transition System).
âíóòðåííÿÿ àêòèâíîñòü, êîòîðàÿ â LTS èçîáðà-
Äëÿ íå¼ áûëè îïðåäåëåíû îïåðàöèè àëãåáðû ïðî-
æàåòñÿ ïåðåõîäàìè ïî âíóòðåííèì (íåíàáëþäà-
öåññîâ è, ïðåæäå âñåãî, îïåðàöèÿ ïàðàëëåëüíîé
åìûì) äåéñòâèÿì, êîòîðûå òîëüêî ìåíÿþò ñî-
êîìïîçèöèè LTS. Òåñòèðîâàíèå ïîíèìàåòñÿ êàê
ñòîÿíèå LTS. Ïîñêîëüêó òàêèå äåéñòâèÿ íå íà-
âçàèìîäåéñòâèå ðåàëèçàöèè ñ òåñòîâîé ñèñòåìîé,
áëþäàåìû, îíè íå ðàçëè÷èìû ïðè òåñòèðîâàíèè
ôîðìàëèçóåìîå êàê ïàðàëëåëüíàÿ êîìïîçèöèÿ
è îáîçíà÷àþòñÿ îäíèì ñèìâîëîì
LTS-ðåàëèçàöèè ñ LTS-òåñòîì. Ïðè ýòîì ïåð-
Òàêóþ ìî-
1
äåëü ìîæíî íàçâàòü LTS äåéñòâèé èëè ATS .
âîíà÷àëüíî ïðåäïîëàãàëîñü, ÷òî åäèíñòâåííûìè
∗
τ.
Ðåçóëüòàòîì òåñòèðîâàíèÿ ÿâëÿåòñÿ ïîñëåäîâà-
Ðàáîòà âûïîëíåíà ïðè ÷àñòè÷íîé ïîääåðæêå ãðàíòà
1
ÐÔÔÈ 13-07-00915.
12
A
îò àíãë. action äåéñòâèå.
ÑÎÃËÀÑÎÂÀÍÈÅ ÊÎÍÔÎÐÌÍÎÑÒÈ È ÊÎÌÏÎÇÈÖÈÈ
13
òåëüíîñòü íàáëþäàåìûõ äåéñòâèé òðàññà äåé-
åò âîçìîæíîñòè òåñòîâîé ñèñòåìû è çàäà¼òñÿ
ñòâèé. Íà òðàññàõ äåéñòâèé ìîæíî òàê îïðåäå-
ñåìàíòèêîé âçàèìîäåéñòâèÿ. Íàïðèìåð, õîðîøî
ëèòü êîìïîçèöèþ òðàññ, ÷òî òåñòèðîâàíèå è êîì-
èçâåñòíîå îòíîøåíèå êîíôîðìíîñòè
ïîçèöèÿ LTS îêàçûâàþòñÿ ñîãëàñîâàííûìè: ìíî-
Output COnformance)
æåñòâî òðàññ êîìïîçèöèè LTS ñîâïàäàåò ñ ìíî-
ðàçäåëåíèå äåéñòâèé íà ñòèìóëû
æåñòâîì âñåõ ïîïàðíûõ êîìïîçèöèé òðàññ LTS-
öèè
îïåðàíäîâ. Ýòî ñâîéñòâî ìîæíî íàçâàòü
òèâíîñòüþ
àääè-
òðàññ îòíîñèòåëüíî êîìïîçèöèè.
Äðóãàÿ (íî òåñíî ñâÿçàííàÿ ñ àëãåáðîé ïðîöåññîâ) ôîðìàëèçàöèÿ òåñòèðîâàíèÿ îïèðàåòñÿ
íà òàê íàçûâàåìóþ ìàøèíó òåñòèðîâàíèÿ [7, 8,
9], êîòîðàÿ ôèêñèðóåò òå èëè èíûå âîçìîæíîñòè
òåñòîâîé ñèñòåìû ïî óïðàâëåíèþ è íàáëþäåíèþ
çà ïîâåäåíèåì ðåàëèçàöèè. Ïðåäïîëàãàåòñÿ, ÷òî
ñ ïîìîùüþ ìàøèíû òåñòèðîâàíèÿ ìîæíî ðàçðåøàòü èëè çàïðåùàòü ðåàëèçàöèè âûïîëíåíèå
ïåðåõîäîâ ïî òåì èëè èíûì âíåøíèì äåéñòâèÿì. Ïðè ýòîì
τ -àêòèâíîñòü
âñåãäà ðàçðåøåíà.
Ñðàçó æå âûÿñíèëîñü, ÷òî, êðîìå äåéñòâèé, ïðè
òåñòèðîâàíèè âîçìîæíû è äðóãèå íàáëþäåíèÿ.
Òàê èëè èíà÷å, âñå îíè ñâÿçàíû ñ íàáëþäåíèåì îñòàíîâêè LTS-ðåàëèçàöèè, êîòîðàÿ âîçíèêàåò, êîãäà òåêóùåå ñîñòîÿíèå ñòàáèëüíî (â í¼ì íåò
(output),
ioco (Input
[11, 12], îïèðàþùååñÿ íà
(input)
è ðåàê-
äîïóñêàåò äâà âèäà òåñòîâûõ âîç-
äåéñòâèé ïîñûëêó îäíîãî ñòèìóëà èëè ïðè¼ì
âñåõ ðåàêöèé, è åäèíñòâåííûé âèä îòêàçà îòñóòñòâèå ðåàêöèé
(quiescence).
Íåäîñòàòêîì òàêîé ôîðìàëèçàöèè ÿâëÿåòñÿ
òî, ÷òî âñå íàáëþäåíèÿ, êðîìå âíåøíèõ äåéñòâèé, îïèñûâàþòñÿ LTS-ìîäåëüþ íåÿâíî. Êðîìå òîãî, òåñòîâîå âîçäåéñòâèå, ïî ñóòè, ñâîäèòñÿ ê ìíîæåñòâó ðàçðåøàåìûõ èì âíåøíèõ äåéñòâèé. Âñ¼ ýòî, âî-ïåðâûõ, óñëîæíÿåò èíòåðïðåòàöèþ ìîäåëè ïðè òåñòèðîâàíèè, âî-âòîðûõ, íå
äà¼ò ñâîáîäû â ðàññìîòðåíèè íîâûõ âèäîâ íàáëþäåíèé è òåñòîâûõ âîçäåéñòâèé äëÿ òîé èëè
èíîé ñåìàíòèêè âçàèìîäåéñòâèÿ è, â-òðåòüèõ, íå
äà¼ò âîçìîæíîñòè â ñàìîé ìîäåëè ðåàëèçàöèè
ÿâíî îïðåäåëÿòü òå òåñòîâûå âîçäåéñòâèÿ, íà êîòîðûå îíà ðåàãèðóåò òåìè èëè èíûìè ÿâíî çàäàâàåìûìè íàáëþäåíèÿìè.
è íåâîçìîæ-
 íàøåé ïðåäûäóùåé ñòàòüå [1] ìû ïîïûòà-
íî âûïîëíåíèå îïðåäåë¼ííûõ â ñîñòîÿíèè ïåðå-
ëèñü èçáàâèòüñÿ îò ýòîãî íåäîñòàòêà, îïðåäåëèâ
õîäîâ ïî âíåøíèì äåéñòâèÿì, ïîñêîëüêó âñå îíè
íîâóþ îáîáù¼ííóþ ìîäåëü LTS.  ýòîé ìîäå-
â äàííûé ìîìåíò âðåìåíè çàïðåùåíû ìàøèíîé
ëè ïåðåõîäû ïîìå÷åíû íå âíåøíèìè äåéñòâèÿìè,
òåñòèðîâàíèÿ. Òàêèìè íàáëþäåíèÿìè, êðîìå ñà-
à íàáëþäåíèÿìè èëè òåñòîâûìè âîçäåéñòâèÿìè,
ìîãî ôàêòà îñòàíîâêè, ÿâëÿþòñÿ, â ÷àñòíîñòè,
êîòîðûå íàçâàíû
τ -àêòèâíîñòè,
òî åñòü
êíîïêàìè. Êðîìå ñâîáîäû â ñî-
(ready
îòíîøåíèè êíîïîê è íàáëþäåíèé â ðåàëèçàöèè,
Îòêàç ýòî ìíîæåñòâî äåéñòâèé, êîòîðûå
ýòî äàëî âîçìîæíîñòü åäèíîîáðàçíî ìîäåëèðî-
ìàøèíà òåñòèðîâàíèÿ ðàçðåøàåò âûïîëíÿòü, íî
âàòü òàêæå ñèñòåìû ñ ïðèîðèòåòàìè, êîòîðûå íå
â òåêóùåì ñîñòîÿíèè ðåàëèçàöèè íåò ïåðåõîäîâ
îïèñûâàþòñÿ ñ ïîìîùüþ LTS äåéñòâèé. Ýòó íî-
ïî ýòèì äåéñòâèÿì. Åñëè ìû íàáëþäàåì îñòà-
âóþ ìîäåëü ìîæíî íàçâàòü LTS
îòêàç
set).
(refusal set)
τ -ïåðåõîäîâ)
è ìíîæåñòâî ãîòîâíîñòè
íîâêó ìàøèíû ïðè òîì èëè èíîì ìíîæåñòâå
2
OTS .
íàáëþäåíèé
èëè
ðàçðåø¼ííûõ âíåøíèõ äåéñòâèé, òî òåì ñàìûì
Îäíàêî îñòàëñÿ åù¼ îäèí ñóùåñòâåííûé îá-
ìû íàáëþäàåì ñîîòâåòñòâóþùèé îòêàç. Ìíîæå-
ùèé íåäîñòàòîê êàê LTS íàáëþäåíèé, òàê è LTS
ñòâî ãîòîâíîñòè ýòî ìíîæåñòâî âñåõ âíåø-
äåéñòâèé ïðè ðàññìîòðåíèè òðàññ íå òîëüêî äåé-
íèõ äåéñòâèé, ïî êîòîðûì åñòü ïåðåõîäû â òå-
ñòâèé, íî è äðóãèõ íàáëþäåíèé. Äåëî â òîì,
êóùåì ñîñòîÿíèè ðåàëèçàöèè. Òàêîå íàáëþäå-
÷òî ïåðåõîä îò äåéñòâèé ê íàáëþäåíèÿì ïðèâî-
íèå õàðàêòåðíî, íàïðèìåð, äëÿ ñèñòåì ñ ãðà-
äèò ê ðàññîãëàñîâàíèþ òåñòèðîâàíèÿ ñ êîìïî-
ôè÷åñêèì èíòåðôåéñîì, êîãäà íà ýêðàí âûäà-
çèöèåé LTS: íà òðàññàõ íàáëþäåíèé íåâîçìîæ-
¼òñÿ
ñèñòåìà
íî îïðåäåëèòü êîìïîçèöèþ òàê, ÷òîáû âûïîë-
æä¼ò îò ïîëüçîâàòåëÿ âûáîðà òîãî èëè èíî-
íÿëîñü ñâîéñòâî àääèòèâíîñòè. Ýòî îáúÿñíÿåòñÿ
ãî äåéñòâèÿ. Òåïåðü ðåçóëüòàòîì òåñòèðîâàíèÿ
òåì, ÷òî, âîîáùå ãîâîðÿ, íàáëþäåíèå â êîìïîçè-
îêàçûâàåòñÿ òðàññà íàáëþäåíèé, â êîòîðóþ ìî-
öèîííîì ñîñòîÿíèè íå âû÷èñëÿåòñÿ ïî íàáëþäå-
ãóò âõîäèòü íå òîëüêî âíåøíèå äåéñòâèÿ, íî
íèÿì â ñîñòîÿíèÿõ-îïåðàíäàõ. Åäèíñòâåííûì èñ-
ìåíþ
âîçìîæíûõ
äåéñòâèé,
è
è äðóãèå íàáëþäåíèÿ. Íàáîð äîïóñòèìûõ òåñòîâûõ âîçäåéñòâèé è íàáëþäåíèé ôîðìàëèçó-
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
2
O îò àíãë. observation íàáëþäåíèå.
14
ÁÓÐÄÎÍÎÂ, ÊÎÑÀ×ÅÂ
íÿþùèé ýòîò íåäîñòàòîê. Èäåÿ çàêëþ÷àåòñÿ â
S = Lts(VS , ES , s0 ), ãäå VS ìíîæåñòâî ñîñòîÿíèé, ES ⊆ VS × (L ∪ {τ }) × VS ìíîæåñòâî ïåðåõîäîâ, s0 íà÷àëüíîå ñîñòîÿíèå.
x 0
0
Çàïèñü a→a îçíà÷àåò, ÷òî (a, x, a ) ∈ ES . Òðàñ-
òîì, ÷òîáû ïîìå÷àòü ïåðåõîäû LTS òàêèìè ñèì-
ñîé LTS íàçûâàåòñÿ ïîñëåäîâàòåëüíîñòü ïîìåòîê
êëþ÷åíèåì, êðîìå âíåøíåãî äåéñòâèÿ, ÿâëÿåòñÿ
ìíîæåñòâî ãîòîâíîñòè.
 äàííîé ñòàòüå ìû ïðåäëàãàåì ïîäõîä, óñòðà-
âîëàìè (ìû èõ íàçâàëè
ñîáûòèÿìè ),
êîòîðûå, ñ
çàäà¼òñÿ ÷åòâ¼ðêîé
íà ìàðøðóòå, íà÷èíàþùåìñÿ â íà÷àëüíîì ñîñòî-
îäíîé ñòîðîíû, ìîæíî êîìïîíîâàòü äëÿ îáåñïå-
ÿíèè, ñ ïðîïóñêîì ñèìâîëà
÷åíèÿ ñâîéñòâà àääèòèâíîñòè, à, ñ äðóãîé ñòîðî-
LTS
S
îáîçíà÷èì
τ.
Ìíîæåñòâî òðàññ
tr (S).
íû, ìîæíî èñïîëüçîâàòü äëÿ ãåíåðàöèè íàáëþ-
Ïðè îïðåäåëåíèè ATS (LTS äåéñòâèé) ñ÷è-
äåíèé ïðè òåñòèðîâàíèè: ïåðåõîä ïî ñîáûòèþ
òàåòñÿ, ÷òî çàäàí óíèâåðñóì âíåøíèõ äåéñòâèé
ïðèâîäèò ê âîçíèêíîâåíèþ òîãî èëè èíîãî ñâÿ-
A ⊆ L.
çàííîãî ñ ýòèì ñîáûòèåì íàáëþäåíèÿ. Ïîñëåäíåå
äåéñòâèåì
ñâîéñòâî ìîæíî íàçâàòü
ãåíåðàòèâíîñòüþ
òðàññ
ñîáûòèé: ïî íèì âû÷èñëÿþòñÿ âñå òðàññû íàáëþäåíèé ðåàëèçàöèè. Òàêóþ ìîäåëü ìîæíî íàçâàòü
LTS
ñîáûòèé
3
èëè ETS .
Ìû îïðåäåëèì 1) ïðåîáðàçîâàíèå ETS â OTS
äëÿ ñîãëàñîâàíèÿ ñ ïîëîæåíèÿìè íàøåé ïðåäû-
Ðàçðóøåíèå áóäåì ñ÷èòàòü âíåøíèì
γ ∈ A. ATS ýòî òàêàÿ LTS S =
Lts(VS , ES , s0 ), â êîòîðîé êàæäûé ïåðåõîä ïîìå÷åí ñèìâîëîì τ èëè äåéñòâèåì èç A, òî åñòü
ES ⊆ VS × (A ∪ {τ }) × VS . Ìû áóäåì ïèñàòü
S = Ats(VS , ES , s0 ). Òðàññû ATS áóäåì íàçûâàòü òðàññàìè äåéñòâèé; îíè ñîäåðæàò òîëüêî
äåéñòâèÿ.
äóùåé ñòàòüè [1], 2) êîìïîçèöèþ ETS, 3) êîìïî-
Äëÿ îïðåäåëåíèÿ OTS (LTS íàáëþäåíèé), ââå-
çèöèþ ñïåöèôèêàöèé, ñîõðàíÿþùóþ êîíôîðì-
ä¼ííîé â íàøåé ïðåäûäóùåé ñòàòüå [5], ñ÷èòàåò-
íîñòü: êîìïîçèöèÿ êîíôîðìíûõ ðåàëèçàöèé êîí-
ñÿ, ÷òî çàäàíû äâà íåïåðåñåêàþùèõñÿ óíèâåðñó-
ôîðìíà êîìïîçèöèè ñïåöèôèêàöèé, 4) åäèíî-
ìà
îáðàçíîå
äåéñòâèé) è
ìîäåëèðîâàíèå
ATS
÷åðåç
ETS,
êî-
òîðîå ïîçâîëÿåò ðàññìàòðèâàòü ðåàëèçàöèþ â
ëþáîé ñåìàíòèêå âçàèìîäåéñòâèÿ, äîïóñòèìîé
äëÿ ATS. Çäåñü ìû ñòàâèì ñåáå öåëüþ îáåñïå÷èòü ñëåäóþùåå âàæíîå ñâîéñòâî
ñòè
ñîãëàñîâàííî-
êîìïîçèöèè è ìîäåëèðîâàíèÿ: êîìïîçèöèÿ
ETS-îïåðàíäîâ, ïîëó÷åííûõ â ðåçóëüòàòå ìî-
B ⊆ L
óíèâåðñóì êíîïîê (òåñòîâûõ âîç-
O ⊆ L óíèâåðñóì íàáëþäåíèé,
B ∩ O = ∅. Ðàçðóøåíèå ñ÷èòàåòñÿ íàáëþäåíèåì
γ ∈ O . OTS ýòî òàêàÿ LTS S = Lts(VS , ES , s0 ),
â êîòîðîé êàæäûé ïåðåõîä ïîìå÷åí ñèìâîëîì
τ,
B èëè íàáëþäåíèåì èç O , òî åñòü
ES ⊆ VS × (B ∪ O ∪ {τ }) × VS . Êðîìå òîãî, îòñóòêíîïêîé èç
ñòâèå â ñîñòîÿíèè ïåðåõîäà ïî êíîïêå òðàêòóåò-
äåëèðîâàíèÿ èñõîäíûõ ATS-îïåðàíäîâ, ýêâèâà-
ñÿ êàê ïåðåõîä-ïåòëÿ ïî ýòîé êíîïêå. Äëÿ OTS
ëåíòíà ETS, ïîëó÷åííîé â ðåçóëüòàòå ìîäåëè-
S
ðîâàíèÿ êîìïîçèöèè ýòèõ ATS-îïåðàíäîâ. Çäåñü
OTS áóäåì íàçûâàòü òðàññàìè íàáëþäåíèé; îíè
ýêâèâàëåíòíîñòü ïîíèìàåòñÿ êàê ðàâåíñòâî ìíî-
ñîäåðæàò òîëüêî íàáëþäåíèÿ è êíîïêè.
æåñòâà òðàññ ñîáûòèé.
2.
ñ÷èòàòü, ÷òî, êðîìå óíèâåðñóìà êíîïîê
(Labelled Transition System)
ñòâîì âåðøèí, êîòîðûå íàçûâàþòñÿ ñîñòîÿíèÿìè, îäíî èç ñîñòîÿíèé âûäåëåíî êàê íà÷àëüíîå, äóãè íàçûâàþòñÿ ïåðåõîäàìè è ïîìå÷åíû
ñèìâîëàìè èç íåêîòîðîãî óíèâåðñóìà ñèìâîëîâ
èëè ñïåöèàëüíûì ñèìâîëîì âíóòðåííåãî äåé-
τ 6∈ L.
Ìû òàêæå ââîäèì ñïåöèàëüíûé äî-
ïîëíèòåëüíûé ñèìâîë ðàçðóøåíèÿ
γ ∈ L,
ìîäå-
ëèðóþùèé ëþáîå ïîâåäåíèå LTS, êîòîðîå íåæåëàòåëüíî ïðè âçàèìîäåéñòâèè ñ íåé [2,3,6]. LTS
3
E îò àíãë. event ñîáûòèå.
B ⊆ L,
E ⊆ L, B ∩ E = ∅. Ðàçðóøåíèå áóäåì
ñ÷èòàòü ñîáûòèåì γ ∈ E . ETS ýòî òàêàÿ LTS
òèé
ïîíèìà-
åòñÿ îðèåíòèðîâàííûé ãðàô ñ íåïóñòûì ìíîæå-
ñòâèÿ
Òðàññû
çàäàí íåïåðåñåêàþùèéñÿ ñ íèì óíèâåðñóì ñîáû-
ÍÀÁËÞÄÅÍÈÉ ÏÎ ÑÎÁÛÒÈßÌ
L
S = Ots(VS , ES , s0 ).
Äëÿ îïðåäåëåíèÿ ETS (LTS ñîáûòèé) áóäåì
LTS ÑÎÁÛÒÈÉ È ÃÅÍÅÐÀÖÈß
Ïîä LTS
ìû áóäåì ïèñàòü
S
S = Lts(VS , ES , s0 ), â êîòîðîé êàæäûé ïåðåõîä
ïîìå÷åí ñèìâîëîì τ, êíîïêîé èç B èëè ñîáûòèåì
èç E , òî åñòü ES ⊆ VS ×(B ∪ E ∪{τ })×VS . Êðîìå
òîãî, îòñóòñòâèå â ñîñòîÿíèè ïåðåõîäà ïî êíîïêå òðàêòóåòñÿ êàê ïåðåõîä-ïåòëÿ ïî ýòîé êíîïêå.
Äëÿ ETS
S
ìû áóäåì ïèñàòü
S = Ets(VS , ES , s0 ).
Òðàññû ETS áóäåì íàçûâàòü òðàññàìè ñîáûòèé;
îíè ñîäåðæàò òîëüêî ñîáûòèÿ è êíîïêè.
 [1] ïàðà
B/O
îïðåäåëÿåò ìàøèíó òåñòèðîâà-
íèÿ, â ÷¼ðíîì ÿùèêå êîòîðîé íàõîäèòñÿ OTS,
êàæäîìó òåñòîâîìó âîçäåéñòâèþ ñîîòâåòñòâóåò
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
ÑÎÃËÀÑÎÂÀÍÈÅ ÊÎÍÔÎÐÌÍÎÑÒÈ È ÊÎÌÏÎÇÈÖÈÈ
15
êíîïêà èç
ñîáûòèé ìîæíî ñ÷èòàòü ýêâèâàëåíòíûìè, ïî-
äåíèÿ èç
B íà êëàâèàòóðå ìàøèíû, à íàáëþO âûâîäÿòñÿ íà ýêðàí äèñïëåÿ. Åñëè
ñêîëüêó òðàññ ñîáûòèé äîñòàòî÷íî äëÿ âû÷èñ-
íèêàêàÿ êíîïêà íå íàæàòà, òî ðåàëèçàöèÿ ìî-
ëåíèÿ òðàññ íàáëþäåíèé è â ñèëó ñâîéñòâà àä-
τ -ïåðåõîä, γ -ïåðåõîä èëè
ïåðåõîä ïî íàáëþäåíèþ x ∈ O . Â ïîñëåäíåì ñëó-
äèòèâíîñòè (êîòîðîå ìû ïîêàæåì â ñëåäóþùåì
æåò âûïîëíÿòü ëþáîé
ðàçäåëå) äîñòàòî÷íî äëÿ êîìïîçèöèè.
÷àå íà ýêðàíå äèñïëåÿ âûñâå÷èâàåòñÿ íàáëþäåíèå
x.
p ∈ B
Êíîïêà
Ôóíêöèÿ
f
îïðåäåëÿåò åñòåñòâåííîå îòîáðàæå-
âûñâå÷èâàåòñÿ íà ýêðàíå
íèå ETS â OTS, êîãäà ïåðåõîä ïî ñîáûòèþ çàìå-
äèñïëåÿ ïðè å¼ íàæàòèè. Ïðè íàæàòîé êíîïêå
íÿåòñÿ ïåðåõîäîì ïî ñîîòâåòñòâóþùåìó íàáëþ-
p
äåíèþ èëè óäàëÿåòñÿ, åñëè òàêîãî íàáëþäåíèÿ
ðåàëèçàöèÿ ìîæåò âûïîëíÿòü êîíå÷íîå ÷èñ-
ëî
τ -ïåðåõîäîâ,
p-ïåðåõîä.
γ -ïåðåõîä
ïîñëå ÷åãî âûïîëíÿåò
èëè
íåò. Òàêîå îòîáðàæåíèå ìû òàêæå áóäåì îáîçíà÷àòü
 äàííîé ñòàòüå ìû ðàññìàòðèâàåì ðåàëèçà-
f :ETS→ OTS. Äëÿ ETS S
îíî îïðåäåëÿåòñÿ
ñëåäóþùèì îáðàçîì. Êàæäûé ïåðåõîä
a
s→t,
ãäå
f (a)
íèÿ íàõîäèòñÿ íå OTS, à ETS. Ïåðåõîä ïî êíîïêå
a ∈ Dom(f ) , çàìåíÿåòñÿ ïåðåõîäîì s → t, à êàæa
äûé ïåðåõîä s→t, ãäå a ∈ E \Dom(f ) , óäàëÿåòñÿ,
ïåðåõîäû ïî êíîïêàì è τ -ïåðåõîäû ñîõðàíÿþòñÿ.
â ETS ñîîòâåòñòâóåò ïåðåõîäó ïî òîé æå êíîï-
Òåñòèðîâàíèå ETS-ðåàëèçàöèè S ýêâèâàëåíòíî
öèþ íå êàê OTS, à êàê ETS, ïîýòîìó áóäåì ñ÷èòàòü, ÷òî â ÷¼ðíîì ÿùèêå ìàøèíû òåñòèðîâà-
êå â OTS,
τ -ïåðåõîä
â ETS τ
ïåðåõîäó â OTS.
òåñòèðîâàíèþ OTS-ðåàëèçàöèè
Ïåðåõîäó ïî ñîáûòèþ â ETS ïîñòàâèì â ñîîòâåò-
Îòîáðàæåíèå
f :E → O
f : ( E ∪ B )∗ →
(E ∪B )∗ →
òðàññ f :2
ñòâèå ïåðåõîä ïî òîìó èëè èíîìó íàáëþäåíèþ â
ñòðàíÿåòñÿ íà òðàññû ñîáûòèé
OTS. Áóäåì ñ÷èòàòü, ÷òî îòîáðàæåíèå ñîáûòèé
(O ∪ B )∗
∗
2(O ∪B ) .
â íàáëþäåíèÿ çàäà¼òñÿ óíèâåðñàëüíîé ÷àñòè÷íîîïðåäåë¼ííîé îäíîçíà÷íîé ôóíêöèåé
f :E → O .
Ïîòðåáóåì, ÷òîáû ñîáûòèå ðàçðóøåíèÿ îòîáðàæàëîñü â íàáëþäåíèå ðàçðóøåíèÿ:
è
f (γ) = γ.
âàòü
Ñîáûòèå
íàáëþäàåìûì
a ∈ Dom(f )
γ ∈ Dom(f )
áóäåì íàçû-
ñîáûòèåì.
Ôóíêöèîíèðîâàíèå ETS îïðåäåëÿåòñÿ íå òîëüêî å¼ óñòðîéñòâîì, íî è ôóíêöèåé
ìàåòñÿ êíîïêà
p ∈ B,
ïîëíÿòü êîíå÷íîå ÷èñëî
ãî âûïîëíÿåò
p-ïåðåõîäà
f . Êîãäà íàæè-
òî ðåàëèçàöèÿ ìîæåò âû-
γ -ïåðåõîä
τ -ïåðåõîäîâ, ïîñëå ÷åèëè p-ïåðåõîä. Ïîñëå
f (S).
åñòåñòâåííî ðàñïðî-
è ìíîæåñòâà òàêèõ
Ïóñòü òðàññà ñîáûòèé σ = u1 , u2 , . . . , un , ãäå
ui ∈ E ∪ B . Òîãäà σ ∈ Dom(f ) , åñëè äëÿ êàæäîãî i = 1..n ëèáî ui ∈ B , ëèáî ui ∈ Dom(f ) . Â
ýòîì ñëó÷àå f (σ) = v1 , v2 , . . . , vn , ãäå vi = ui ,
åñëè ui ∈ B , è vi = f (ui ), åñëè ui ∈ E . Äëÿ ìíîP
P
æåñòâà
òðàññ ñîáûòèé f (
) îïðåäåëÿåòñÿ êàê
ìíîæåñòâî ñîîòâåòñòâóþùèõ òðàññ íàáëþäåíèé:
P
P
f ( ) , {f (σ)|σ ∈ ∩Dom(f )}.
Î÷åâèäíî, ÷òî äëÿ ëþáîé ETS S èìååò ìåñòî
tr (f (S)) = f (tr (S)).
(äî íàæàòèÿ ñëåäóþùåé êíîïêè), à
òàêæå â íà÷àëå òåñòèðîâàíèÿ äî íàæàòèÿ ïåð-
3.
ÏÀÐÀËËÅËÜÍÀß ÊÎÌÏÎÇÈÖÈß
âîé êíîïêè, ðåàëèçàöèÿ ìîæåò âûïîëíÿòü ëþ-
τ -ïåðåõîä èëè ïåðåõîä ïî íàáëþäàåìîìó ñîáûòèþ a ∈ Dom(f ) , â ïîñëåäíåì ñëó÷àå èìååì
íàáëþäåíèå f (a). Çàìåòèì, ÷òî ïåðåõîä ïî ðàçðó-
ETS
øåíèþ âñåãäà ìîæåò áûòü âûïîëíåí, òàêæå êàê
äâóõ ATS ÿâëÿåòñÿ ATS, ñîñòîÿíèÿ êîòîðîé τ -ïåðåõîä,
ýòî ïàðû ñîñòîÿíèé îïåðàíäîâ, íà÷àëüíîå ñîñòî-
áîé
γ.
τ -ïåðåõîäà, íå äàþγ -ïåðåõîäå íàáëþäàåòñÿ
íî â îòëè÷èå îò
ùåãî íàáëþäåíèé, ïðè
Òàêæå çàìåòèì, ÷òî ïåðåõîäû ïî íåíàáëþäà-
åìûì ñîáûòèÿì (âíå äîìåíà ôóíêöèè
f)
íå âû-
Ìû
îïðåäåëèì
â
äóõå
Processes)
CSP
ïàðàëëåëüíóþ
êîìïîçèöèþ
(Communicating Sequential
[10]. Â CSP ðåçóëüòàòîì êîìïîçèöèè
ÿíèå ýòî ïàðà íà÷àëüíûõ ñîñòîÿíèé, à ïåðåõîä
ëèáî
â
àñèíõðîííûé
îäíîì
èç
è
ñîîòâåòñòâóåò
îïåðàíäîâ
(ìåíÿåòñÿ
îïåðàíäà),
ëèáî
ïåðåõîäó
ñîñòîÿíèå
ïîëíÿþòñÿ ïðè òåñòèðîâàíèè. Îäíàêî òàêèå ïå-
òîëüêî
ðåõîäû íàì áóäóò íóæíû äëÿ òîãî, ÷òîáû êîì-
ñîîòâåòñòâóåò ïàðå ïåðåõîäîâ ïî îäíîìó è òîìó
ïîçèöèÿ ETS è òðàññ ñîáûòèé áûëà àääèòèâíîé.
æå ñèíõðîííîìó äåéñòâèþ â îáîèõ îïåðàíäàõ
Áîëåå òîãî, êîìïîçèöèÿ äâóõ ñîáûòèé, îäíî èëè
(èçìåíèòüñÿ ìîãóò ñîñòîÿíèÿ îáîèõ îïåðàíäîâ).
êàæäûé èç êîòîðûõ íå íàáëþäàåìî, ìîæåò áûòü
Ïðè
íàáëþäàåìûì ñîáûòèåì.
ïåðåõîäîâ îäíîçíà÷íî îïðåäåëÿåòñÿ äåéñòâèÿìè,
Çàìåòèì, ÷òî ETS ñ îäíèì ìíîæåñòâîì òðàññ
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
ýòîãî
ýòîì
ñèíõðîííîñòü
èëè
ñèíõðîííûé
è
àñèíõðîííîñòü
êîòîðûìè ýòè ïåðåõîäû ïîìå÷åíû, òî åñòü âñå
16
ÁÓÐÄÎÍÎÂ, ÊÎÑÀ×ÅÂ
âíåøíèå äåéñòâèÿ ðàçáèâàþòñÿ íà ñèíõðîííûå
τ
è àñèíõðîííûå, à âíóòðåííåå äåéñòâèå
âñå-
ãäà ñ÷èòàåòñÿ àñèíõðîííûì. Ìû òàêæå áóäåì
ñ÷èòàòü,
Â
÷òî
îáîèõ
ðàçðåøåíèå
ñëó÷àÿõ
âñåãäà
äåéñòâèå
íà
àñèíõðîííî.
ðåçóëüòèðóþ-
ùåì ïåðåõîäå ñîâïàäàåò ñ äåéñòâèåì íà îäíîì
ïåðåõîäå-îïåðàíäå
íà
îáîèõ
(àñèíõðîííûé
ñëó÷àé)
ïåðåõîäàõ-îïåðàíäàõ
èëè
òðàññû íå êîìïîíóþòñÿ. Êîìïîçèöèÿ òðàññ ñî-
(ñèíõðîííûé
áûòèé åñòåñòâåííî ðàñïðîñòðàíÿåòñÿ íà êîìïî-
hide
çèöèþ ìíîæåñòâ òðàññ ñîáûòèé, îïðåäåëÿåìóþ
ñëó÷àé). Ïîñëå ýòîãî ñ ïîìîùüþ îïåðàòîðà
íåêîòîðûå
4 ñèíõðîííûå äåéñòâèÿ íà ïåðåõîäàõ
ñêðûâàþòñÿ, òî åñòü çàìåíÿþòñÿ ñèìâîëîì
Äëÿ
êîìïîçèöèè
ñ÷èòàòü
áûòèå
êíîïêè
B
γ -àñèíõðîííûì.
E \{γ}
ìîãóò
áûòü
àñèíõðîííûìè,
õðîííûõ
ñîáûòèå
íå
èç
ETS
ñèíõðîííûìè,
çàäà¼òñÿ
Êðîìå
ïåðåõîäå
ñîâïàäàåò
Ìû
ñ
è
ñèíòîãî,
êîìïîçèöèè
ñîáûòèÿìè
áóäåì
ñ÷èòàòü,
íà
÷òî
çàäàíà ÷àñòè÷íî îïðåäåë¼ííàÿ êîìïîçèöèÿ ñèíõðîííûõ ñîáûòèé, ðåçóëüòàòîì êîòîðîé òàêæå
ÿâëÿåòñÿ ñèíõðîííîå ñîáûòèå
Dom (|U |) ⊆ U × U.
|U | : U × U → U,
Ýòà êîìïîçèöèÿ äîëæíà
(a, b) ∈ Dom (|U |), òî
(b, a) ∈ Dom (|U |) è a|U |b = b|U |a.
Ôîðìàëüíî îïðåäåëèì êîìïîçèöèþ ETS |U | :
ET S × ET S → ET S. Äëÿ S = Ets(VS , ES , s0 )
è T = Ets(VT , ET , t0 ) èìååì S|U |T = Ets(VS ×
VT , E, s0 , t0 ), ãäå E íàèìåíüøåå ìíîæåñòâî ïåáûòü êîììóòàòèâíîé: åñëè
ðåõîäîâ, ïîðîæäàåìîå ñëåäóþùèìè ïðàâèëàìè
∀s, t, s0 , t0 , a, b, p
a
1.1: a ∈ (E \U ) ∪ {τ } &s→s0
âûâîäà:
a
` st→s0 t,
b
b
b
a|U |b
1.2: b ∈ (E \U ) ∪ {τ }
&t→t0 ` st→st0 ,
p 0
p
p
1.3: p ∈ B
&s→s &t→t0 ` st→s0 t0 ,
a
1.4: (a, b) ∈ Dom (|U |) &s→s0 &t→t0 ` st → s0 t0 .
Íà
îñíîâå
êîìïîçèöèè
ñîáûòèé
P
1 |U |
ñî-
òàê
àëôàâèòîì
U ⊆ E \{γ}.
ïåðåõîäàõ-îïåðàíäàõ.
à
êàê îáúåäèíåíèå ìíîæåñòâ âñåõ ïîïàðíûõ êîìïîçèöèé:
âñåãäà
ñèíõðîííûìè,
ñèíõðîííîì
îáÿçàòåëüíî
áóäåì
τ.
Îñòàëüíûå ñîáûòèÿ èç
êàê
÷òî
ñîáûòèé
íà
ìû
2.2: σ = σ1 |U |σ2 &b ∈ E \U ` σ · b ∈ σ1 |U |(σ2 · b),
2.3: σ = σ1 |U |σ2 &p ∈ B
` σ · p ∈ (σ1 · p)|U |(σ2 · p),
2.5: σ = σ1 |U |σ2 &(a, b) ∈ Dom (|U |)
` σ · (a|U |b) ∈ (σ1 · a)|U |(σ2 · b).
Åñëè σ1 |U |σ2 = ∅, òî áóäåì ãîâîðèòü, ÷òî ýòè
îïðåäåëèì
êîìïîçèöèþ òðàññ ñîáûòèé
P
2
, ∪{σ1 |U |σ2 | σ1 ∈
P
& σ2 ∈
P
}.
Òàêàÿ êîìïîçèöèÿ îáëàäàåò ñâîéñòâîì àääèòèâíîñòè: äëÿ ëþáûõ äâóõ ETS
òî
S
è
T
èìååò ìåñ-
tr (S|U |T ) = tr (S)|U |tr (T ).
Êîìïîçèöèÿ ATS è òðàññ äåéñòâèé ÿâëÿåòñÿ
÷àñòíûì ñëó÷àåì êîìïîçèöèè ETS è òðàññ ñî-
A ⊆ E , U ⊆ A\{γ},
Dom (|U |) = {(a, a)|a ∈ U } è, åñëè a ∈ U, òî
áûòèé, åñëè ñ÷èòàòü, ÷òî
a|U |a = a.
Ïîñëå êîìïîçèöèè ñ ïîìîùüþ îïåðàòîðà
hide
ñêðûâàþòñÿ íåêîòîðûå ïåðåõîäû ïî ñèíõðîííûì
ñîáûòèÿì, ïåðåõîäû ïî êíîïêàì íå ñêðûâàþòñÿ. Ìíîæåñòâî ñêðûâàåìûõ ñèìâîëîâ îáîçíà÷èì
H ⊆ U 5.
S
hide (S, H)
=
Äëÿ
=
Ets(VS , E, s0 ) ôîðìàëüíî
Ets(VS , E, s0 ), ãäå E íàè-
ìåíüøåå ìíîæåñòâî, ïîðîæäàåìîå ñëåäóþùèìè
∀s, s0 , a
a
3.1: a 6∈ H
` s→s0 ,
τ 0
3.2: a ∈ H &s→s ` s→s .
∗
Äëÿ òðàññû ñîáûòèé σ ∈ E
îïðåäåëÿåòñÿ
òðàññà hide (σ, H), ïîëó÷àåìàÿ óäàëåíèåì èç σ
âñåõ ñîáûòèé, ïðèíàäëåæàùèõ H :
∀σ ∈ E ∗ ∀a ∈ E
4.0:
` hide (, H) = ,
4.1: a 6∈ H ` hide (σ · a, H) = hide (σ, H) · a,
4.2: a ∈ H ` hide (σ · a, H) = hide (σ, H).
ïðàâèëàìè âûâîäà:
a
&s→s0
a 0
|U |:(B ∪ E )∗ × (B ∪ E )∗ → (B ∪ E )∗
êàê
íàèìåíüøåå
ìíîæåñòâî
òðàññ,
ìîå
ñ
ñëåäóþùèõ
ïðàâèë
ïîìîùüþ
ïîëó÷àåâûâîäà:
∀σ, σ1 , σ2 ∈ (B ∪ E )∗ ∀a, b, p.
2.0:
` ∈ |U |,
2.1: σ = σ1 |U |σ2 &a ∈ E \U ` σ · a ∈ (σ1 · a)|U |σ2 ,
4
Ïðè÷èíà, ïî êîòîðîé ìîæåò ñêðûâàòüñÿ òîëüêî ÷àñòü
ñèíõðîííûõ
ñèìâîëîâ,
âîçìîæíîñòü
Îïåðàòîð
ñîêðûòèÿ
ðàñïðîñòðàíÿåòñÿ
äëÿ
òðàññ
åñòåñòâåííî
òðàññ: äëÿ
P
H ⊆ PU è ìíîæåñòâà òðàññ P ⊆ E ∗ èìååì
hide ( , H) , {hide (σ, H)|σ ∈ }.
5
íà
ìíîæåñòâà
Íà ñàìîì äåëå óñëîâèå
H⊆U
äëÿ îïåðàòîðà ñîêðû-
òèÿ èçëèøíå, îäíàêî ïîñëå êîìïîçèöèè ñîêðûòèå àñèí-
ìîäåëèðîâàíèÿ
õðîííûõ ñîáûòèé âðÿä ëè èìååò ñìûñë. Áîëåå òîãî, ïî-
øèðîêîâåùàíèÿ (broadcasting): ïåðåõîä â êîìïîçèöèè
ñëå êîìïîçèöèè äîñòàòî÷íî ñêðûâàòü òîëüêî ñèíõðîííûå
íåñêîëüêèõ ATS ñîîòâåòñòâóåò ïåðåõîäàì â íåñêîëüêèõ
ñîáûòèÿ èç
(íå îáÿçàòåëüíî äâóõ) îïåðàíäàõ.
ñîáûòèÿ â êîìïîçèöèè çàâåäîìî îòñóòñòâóþò.
Im (|U |) ⊆ U,
ïîñêîëüêó äðóãèå ñèíõðîííûå
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
ÑÎÃËÀÑÎÂÀÍÈÅ ÊÎÍÔÎÐÌÍÎÑÒÈ È ÊÎÌÏÎÇÈÖÈÈ
Îïåðàòîð ñîêðûòèÿ îáëàäàåò ñëåäóþùèì âàæíûì ñâîéñòâîì: äëÿ ëþáîé ETS
S
è ëþáîãî
H ⊆ U èìååò ìåñòî
tr (hide (S, H)) = hide (tr (S), H).
Ìíîæåñòâî ETS-ðåàëèçàöèé, êîíôîðìíûõ ñïå-
S, îáîçíà÷èì Econf (S).
f(Econf (S)) ⊆ Oconf (S).
öèôèêàöèè
÷òî
Äëÿ ëþáîé LTS
Âìåñòå ñî ñâîéñòâîì àääèòèâíîñòè êîìïîçèöèè ETS èìååì:
hide(tr (S|U |T ), H)) = tr (hide (S|U |T, H)) =
= hide (∪(tr (S)|U |tr (T )), H).
17
S
Î÷åâèäíî,
(â ÷àñòíîñòè, OTS è ETS)
ñóùåñòâóåò ïðåôèêñíàÿ çàâèñèìîñòü ìåæäó å¼
òðàññàìè: ìíîæåñòâî òðàññ LTS âìåñòå ñ êàæäîé òðàññîé ñîäåðæèò è âñå å¼ ïðåôèêñû. Òàêæå
äëÿ OTS è ETS â êàæäîì ñîñòîÿíèè èìååòñÿ ïå-
Î÷åâèäíî, îïåðàòîð ñîêðûòèÿ äëÿ ATS è òðàññ
ðåõîä ïî êàæäîé êíîïêå, ïîñêîëüêó îòñóòñòâèå â
äåéñòâèé ÿâëÿåòñÿ ÷àñòíûì ñëó÷àåì îïåðàòîðà
ñîñòîÿíèè ïåðåõîäà ïî êíîïêå òðàêòóåòñÿ êàê íà-
ñîêðûòèÿ äëÿ ETS è òðàññ ñîáûòèé.
ëè÷èå ïåðåõîäà-ïåòëè ïî ýòîé êíîïêå. Ýòî äà¼ò
4.
åù¼ îäíó çàâèñèìîñòü ìåæäó òðàññàìè: åñëè åñòü
ÊÎÌÏÎÇÈÖÈß ÑÏÅÖÈÔÈÊÀÖÈÉ
òðàññà
 îáùåì âèäå ïðîáëåìà êîìïîçèöèè ýòî ïðî-
êè
σ,
òî åñòü è òðàññà
σ·p
äëÿ ëþáîé êíîï-
p. Íàëè÷èå ýòèõ äâóõ òðèâèàëüíûõ çàâèñèìî-
áëåìà ñîãëàñîâàíèÿ ñïåöèôèêàöèè êîìïîçèöè-
ñòåé îïðåäåëÿåò, êðîìå îøèáîê 1-ãî ðîäà, íåïî-
îííîé ñèñòåìû ñî ñïåöèôèêàöèÿìè å¼ êîìïî-
ñðåäñòâåííî çàäàâàåìûõ ñïåöèôèêàöèåé, äðóãèå
íåíòîâ. Ñïåöèôèêàöèþ ñèñòåìû íàçûâàþò
ðåêòíîé
êîð-
îøèáêè íåêîíôîðìíûå
òðàññû, òî åñòü òðàñ-
[3, 6], åñëè êîìïîçèöèÿ ðåàëèçàöèé,
ñû, íå âñòðå÷àþùèåñÿ â êîíôîðìíûõ ðåàëèçà-
êîíôîðìíûõ ñïåöèôèêàöèÿì êîìïîíåíòîâ, êîí-
öèÿõ. Îøèáêè, íå ÿâëÿþùèåñÿ îøèáêàìè 1-ãî
ôîðìíà ñïåöèôèêàöèè ñèñòåìû. Ýòî íàçûâàåòñÿ
ðîäà, íàçûâàþòñÿ îøèáêàìè 2-ãî ðîäà.
Ïåðâè÷-
ñîõðàíåíèåì êîíôîðìíîñòè ïðè êîìïîçèöèè [13,
íûìè
14] èëè ìîíîòîííîñòüþ êîìïîçèöèè [2, 3, 6, 15].
ãèå ïðåôèêñû êîòîðûõ êîíôîðìíû. Ýòî äà¼ò
Êàê ïðîâåðèòü, ÷òî çàäàííàÿ ñïåöèôèêàöèÿ ñè-
âîçìîæíîñòü êàê ìèíèìèçàöèè, òàê è ìàêñèìè-
ñòåìû êîððåêòíà? Ïîíÿòíî, ÷òî åñëè ñïåöèôèêà-
çàöèè ñïåöèôèêàöèè. Ïðîöåäóðà ìèíèìèçàöèè
öèÿ íå ïðåäúÿâëÿåò íèêàêèõ òðåáîâàíèé ê ðåà-
ñòðîèò ìíîæåñòâî ïåðâè÷íûõ îøèáîê: 1) äîáàâ-
ëèçàöèÿì, òî åé êîíôîðìíà ëþáàÿ ðåàëèçàöèÿ è,
ëÿåò îøèáêó
ñëåäîâàòåëüíî, îíà ÿâëÿåòñÿ êîððåêòíîé ñïåöè-
σ · p,
ôèêàöèåé ëþáîé êîìïîçèöèîííîé ñèñòåìû. Ïî-
êàöèè êàæäóþ îøèáêó, íåêîòîðûé ñòðîãèé ïðå-
ýòîìó èíòåðåñ ïðåäñòàâëÿåò ïîèñê òàêîé êîð-
ôèêñ êîòîðîé òàêæå ÿâëÿåòñÿ îøèáêîé. Ïîñëå
ðåêòíîé ñïåöèôèêàöèè ñèñòåìû, êîòîðàÿ ïðåäú-
ñèñòåìàòè÷åñêîãî ïðèìåíåíèÿ ýòè äâóõ ïðàâèë
ÿâëÿëà áû ê ðåàëèçàöèÿì íàèáîëüøèå òðåáîâà-
ê ñïåöèôèêàöèè
íèÿ ïî ñðàâíåíèþ ñî âñåìè êîððåêòíûìè ñïåöè-
öèôèêàöèÿ, êîòîðóþ îáîçíà÷èì
ôèêàöèÿìè ñèñòåìû. Òàêóþ ¾íàèáîëüøóþ¿ êîð-
äóðà ìàêñèìèçàöèè ñòðîèò ìíîæåñòâî âñåõ îøè-
ðåêòíóþ ñïåöèôèêàöèþ ñèñòåìû íàçûâàþò êîì-
áîê, îíà òàêæå ñèñòåìàòè÷åñêè ïðèìåíÿåò äâà
ïîçèöèåé ñïåöèôèêàöèé êîìïîíåíòîâ [3, 6]. Îñ-
ïðàâèëà: òàêîå æå ïðàâèëî 1 è îáðàòíîå ïðàâè-
íîâíàÿ ïðîáëåìà êîìïîçèöèè, òàêèì îáðàçîì, ëî 2, òî åñòü äîáàâëÿåò â ñïåöèôèêàöèþ êàæäîå
ýòî ïîñòðîåíèå êîìïîçèöèè ñïåöèôèêàöèé.
ïðîäîëæåíèå êàæäîé îøèáêè. Äëÿ ñïåöèôèêà-
 [1] ñïåöèôèêàöèÿ â
äåëÿëàñü
êàê
íàáëþäåíèé,
B/O -ñåìàíòèêå
ìíîæåñòâî
ïîíèìàåìûõ
êîíå÷íûõ
êàê
îøèáêàìè íàçûâàþòñÿ îøèáêè, âñå ñòðî-
ãäå
p
σ,
7
åñëè îøèáêîé ÿâëÿåòñÿ òðàññà
êíîïêà, è 2) óäàëÿåò èç ñïåöèôè-
S
ïîëó÷àåòñÿ ìèíèìàëüíàÿ ñïå-
min(S).
Ïðîöå-
îïðå-
öèè S ìàêñèìàëüíóþ ñïåöèôèêàöèþ, îáîçíà÷èì
òðàññ
max(S).
(1-ãî
Ðàññìîòðèì êîìïîçèöèîííóþ ñèñòåìó, ïîëó-
ðîäà). Ðåàëèçàöèÿ êîíôîðìíà, åñëè â íåé íåò
îøèáêè
÷àåìóþ â ðåçóëüòàòå êîìïîçèöèè äâóõ êîìïî-
îøèáîê. Áîëåå ñòðîãî: OTS-ðåàëèçàöèÿ
ôîðìíà ñïåöèôèêàöèè
Ìíîæåñòâî
S,
OTS-ðåàëèçàöèé,
S,
îòâåòñòâåííî,
ETS-ðåàëèçàöèÿ
ñïåöèôèêàöèè
6
åñëè
Ñî-
I êîíôîðìíà
tr (f (I)) ∩ S = ∅.
íåíòîâ. Ïóñòü çàäàíû ñïåöèôèêàöèè êîìïîíåí-
S1 ⊆ O ∗
U ⊆ E \{γ} è
òîâ
è
S2 ⊆ O ∗ ,
ñèíõðîííûé àëôàâèò
ìíîæåñòâî ñîêðûòèÿ
H ⊆ U.
Ôîð-
ìàëüíîå îïðåäåëåíèå êîððåêòíîñòè ñïåöèôèêàöèè ñèñòåìû
S ⊆ O∗
ñëåäóþùåå:
S êîððåêòíà , ∀I1 ∈ Econf (S1 )∀I 2 ∈
 [1], ãäå ðàññìàòðèâàëèñü òîëüêî OTS-ðåàëèçàöèè,
âìåñòî
2
S,
êîí-
êîíôîðìíûõ
Oconf (S).6
ñïåöèôèêàöèè
îáîçíà÷èì
I
tr (I) ∩ S = ∅.
åñëè
O(S)
ìû ïèñàëè
7
CS .
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
 [1] ýòà ïðîöåäóðà íàçûâàëàñü íîðìàëèçàöèåé.
18
ÁÓÐÄÎÍÎÂ, ÊÎÑÀ×ÅÂ
∈ Econf (S2 )hide (I1 |U |I2 , H) ∈ Econf (S).
íûõ
i-ãî
OTS-ðåàëèçàöèÿõ
êîìïîíåíòà:
I 2,
Ai = max(Si ), ãäå Si ñïåöèôèêàöèÿ
i-ãî êîìïîíåíòà. Çàìåòèì, ÷òî ýòî ìíîæå-
òî ýòî îïðåäåëåíèå ñîîòâåòñòâóþùèì îáðàçîì
ñòâî ïîñòôèêñ-çàìêíóòî (âìåñòå ñ êàæäîé
ìåíÿåòñÿ:
òðàññîé ñîäåðæèò è âñå å¼ ïðîäîëæåíèÿ).
Åñëè
ðåàëèçàöèè-îïåðàíäû
ñèðîâàííûõ
ïîäêëàññîâ
áåðóòñÿ
èç
I1
ðåàëèçàöèé
ôèêè
S êîððåêòíà , ∀I1 ∈ Econf (S1 ) ∩ I 1 ∀I2 ∈
∈ Econf (S2 )∩I 2 hide (I1 |U |I2 , H) ∈ Econf (S).
2. Ñòðîèì
Ôîðìàëüíîå îïðåäåëåíèå êîìïîçèöèè ñïåöèôè-
äåíèé,
S1 |U |S2 ⊆ O∗ ñëåäóþùåå:
S = S1 |U |S2 , S êîððåêòíà &∀S 0 (S 0 êîððåêòíà
⇒ max(S 0 ) ⊆ max(S)).
íûõ
êàöèé
Çàìåòèì,
÷òî
ñïåöèôèêàöèÿ
ñèñòåìû,
êîð-
ðåêòíàÿ íà êëàññàõ âñåõ ðåàëèçàöèé, î÷åâèäíî,
êîððåêòíà
íà
ëþáûõ
ïîäêëàññàõ
ðåàëèçàöèé.
Íî ñïåöèôèêàöèÿ ñèñòåìû, êîððåêòíàÿ íà ïîäêëàññàõ ðåàëèçàöèé, ìîæåò áûòü íåêîððåêòíîé
íà êëàññàõ âñåõ ðåàëèçàöèé è, ñëåäîâàòåëüíî,
ìîæåò ïðåäúÿâëÿòü ê ðåàëèçàöèè ñèñòåìû áîëüøèå òðåáîâàíèÿ, ÷åì êîìïîçèöèÿ ñïåöèôèêàöèé
íà êëàññàõ âñåõ ðåàëèçàöèé.
Äîñòàòî÷íî
î÷åâèäíî
ñëåäóþùåå
óòâåðæäå-
íèå: ìíîæåñòâî òðàññ íàáëþäåíèé, êîòîðûå íå
Bi
ìíîæåñòâî
òðàññ
âñòðå÷àþùèõñÿ
íàáëþêîíôîðì-
i-ãî
OTS-ðåàëèçàöèÿõ
Bi = (B ∪ O )∗ \Ai .
â
êîìïîíåíòà:
Çàìåòèì, ÷òî ýòî ìíî-
æåñòâî ïðåôèêñ-çàìêíóòî (âìåñòå ñ êàæäîé
òðàññîé ñîäåðæèò è âñå å¼ ïðåôèêñû).
3. Ñòðîèì ìíîæåñòâî
Ci
òðàññ ñîáûòèé, âñòðå-
÷àþùèõñÿ â êîíôîðìíûõ ETS-ðåàëèçàöèÿõ
i-ãî
êîìïîíåíòà:
Ci = ∪{f −1 (σ) |σ ∈ Bi }.
4. Ñòðîèì ìíîæåñòâî
D ïîïàðíûõ êîìïîçèöèé
òðàññ ñîáûòèé, êîòîðûå âñòðå÷àþòñÿ â êîíôîðìíûõ ETS-ðåàëèçàöèÿõ 1-ãî è 2-ãî îïå-
D = C1 |U |C2 .
ðàíäîâ:
E = hide (D, H).
5. Âûïîëíÿåì ñîêðûòèå:
ãåíåðèðóþòñÿ òðàññàìè ñîáûòèé, âñòðå÷àþùèìèñÿ â êîìïîçèöèÿõ êîíôîðìíûõ ðåàëèçàöèé,
ÿâëÿåòñÿ
êîìïîçèöèåé
ìíîæåñòâî
(B ∪ O )∗
òðàññ
ñïåöèôèêàöèé.
ÿâëÿåòñÿ
äîïîëíåíèåì
Ýòî
äî
ìíîæåñòâà òðàññ íàáëþäåíèé, êîòî-
6. Ñòðîèì
ìíîæåñòâî
êîòîðûå
òèé,
êîíôîðìíûõ
ïðåôèêñ-çàìêíóòî.
ïîïàðíûõ
êîìïîçèöèé
òðàññ
ñîáûòèé,
êîòîðûå âñòðå÷àþòñÿ â êîíôîðìíûõ ðåàëèçàöèÿõ 1-ãî è 2-ãî îïåðàíäîâ, ñîîòâåòñòâåííî. Òðàññà
ñîáûòèé âñòðå÷àåòñÿ â êîíôîðìíûõ ðåàëèçàöèÿõ
i-ãî
îïåðàíäà òîãäà è òîëüêî òîãäà, êîãäà
ãåíåðèðóåìàÿ åþ òðàññà íàáëþäåíèé êîíôîðìíà
îòíîñèòåëüíî ñïåöèôèêàöèè
Si .
Òàêèå òðàññû
ñîáûòèé ïîëó÷àþòñÿ ïðè ïîìîùè ôóíêöèè
f −1
èç ìíîæåñòâà êîíôîðìíûõ òðàññ íàáëþäåíèé, à
ýòî ìíîæåñòâî êîíôîðìíûõ òðàññ íàáëþäåíèé
ÿâëÿåòñÿ äîïîëíåíèåì äî
âñåõ îøèáîê
(B ∪ O )∗
ìíîæåñòâà
max(Si ).
Ýòè ðàññóæäåíèÿ (ïðî÷èòàííûå â îáðàòíîì
ïîðÿäêå) äàþò ñëåäóþùóþ ïðîöåäóðó ïîñòðîåíèÿ êîìïîçèöèè ñïåöèôèêàöèé íà êëàññå âñåõ
ðåàëèçàöèé.
1. Ñòðîèì
íèé,
íå
íàáëþäåíèé,
òðàññàìè
â
ñîáû-
êîìïîçèöèÿõ
ETS-ðåàëèçàöèé
âñòðå÷àþùèõñÿ â êîìïîçèöèÿõ êîíôîðìíûõ ðå-
ñòâîì
=
f (E).
ðîå ãåíåðèðóþòñÿ ìíîæåñòâîì òðàññ ñîáûòèé,
êàê ïîêàçàíî â ðàçäåëå 3, ñîâïàäàåò ñ ìíîæå-
òðàññ
âñòðå÷àþùèìèñÿ
F
àëèçàöèé. Ïîñëåäíåå ìíîæåñòâî òðàññ ñîáûòèé,
F
ãåíåðèðóþòñÿ
îïåðàíäîâ:
Çàìåòèì, ÷òî ýòî ìíîæåñòâî
7. Ñòðîèì ìíîæåñòâî
G òðàññ íàáëþäåíèé, êî-
òîðûå íå ãåíåðèðóþòñÿ òðàññàìè ñîáûòèé,
âñòðå÷àþùèìèñÿ â êîìïîçèöèÿõ êîíôîðìíûõ ðåàëèçàöèé:
G = (B ∪ O )∗ \F. Çàìåòèì,
÷òî ýòî ìíîæåñòâî ïîñòôèêñ-çàìêíóòî.
Ïîëó÷åííîå
ìàëüíîé
ìíîæåñòâî
êîìïîçèöèåé
G
ÿâëÿåòñÿ
ñïåöèôèêàöèé,
ìàêñèòî
åñòü
G = max(S1 |U |S2 ). Äàëåå åãî ìîæíî ìèíèìèçèðîâàòü, ÷òîáû èñêîìàÿ ñïåöèôèêàöèÿ ñèñòåìû
ñîäåðæàëà òîëüêî ïåðâè÷íûå îøèáêè:
S = min(G).
Çàìåòèì, ÷òî åñëè ðàññìàòðèâàþòñÿ ïîäêëàññû ðåàëèçàöèé-îïåðàíäîâ
I1
è
I 2,
òî ìåíÿþòñÿ
ïðîöåäóðû ìàêñèìèçàöèè è ìèíèìèçàöèè ñïåöèôèêàöèè, ïîñêîëüêó îíè äîëæíû îïèðàòüñÿ íà
òó íåòðèâèàëüíóþ çàâèñèìîñòü ìåæäó îøèáêàìè, êîòîðàÿ èìååòñÿ äëÿ ýòèõ ïîäêëàññîâ. Ýòî
ìíîæåñòâî
Ai
òðàññ
âñòðå÷àþùèõñÿ
â
íàáëþäå-
îòíîñèòñÿ ê ïóíêòó 1, â êîòîðîì âûïîëíÿåòñÿ
êîíôîðì-
ìàêñèìèçàöèÿ ñïåöèôèêàöèè, è ê ìèíèìèçàöèè
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
ÑÎÃËÀÑÎÂÀÍÈÅ ÊÎÍÔÎÐÌÍÎÑÒÈ È ÊÎÌÏÎÇÈÖÈÈ
19
ïîñòðîåííîé êîìïîçèöèè ñïåöèôèêàöèé. Íî äà-
÷àëüíîå ñîñòîÿíèå ìíîæåñòâî ñîñòîÿíèé, äî-
æå ïîñëå ýòîãî êîìïîçèöèÿ ñïåöèôèêàöèé ìîæåò
ñòèæèìûõ èç íà÷àëüíîãî ñîñòîÿíèÿ ãðàôà
ñîäåðæàòü ëèøíèå îøèáêè, òî åñòü òðàññû, êî-
S g ïî
ïóñòûì ïåðåõîäàì. Ìíîæåñòâî ñîñòîÿíèé U îáú-
òîðûå íå âñòðå÷àþòñÿ â êîìïîçèöèÿõ ðåàëèçàöèé
ÿâëÿåòñÿ êîíå÷íûì, åñëè õîòÿ îäèí åãî ýëåìåíò
I1
èç êëàññîâ
è
I 2.
Êîíå÷íî, òàêèå îøèáêè íå
âëèÿþò íà ðåçóëüòàò òåñòèðîâàíèÿ, íî èõ óäàëåíèå ìîãëî áû îïòèìèçèðîâàòü ãåíåðàöèþ òåñòîâ:
íå íóæíû òåñòû, êîòîðûå ëîâÿò ëèøíèå îøèáêè. Äëÿ òîãî ÷òîáû ýòî ñäåëàòü â ïðîöåäóðå êîìïîçèöèè ñïåöèôèêàöèé ìåíÿþòñÿ òîëüêî ïóíêòû 2 è 7, â êîòîðûõ ñòðîèòñÿ äîïîëíåíèå ìíîæå-
Ai íóæíî äîïîëíÿòü
(B ∪O )∗ ,
ñòâà òðàññ. Â ï. 2 ìíîæåñòâî
u∈U
ÿâëÿåòñÿ êîíå÷íûì ñîñòîÿíèåì ãðàôà
a
åñòü ïåðåõîä
u→u ,
U
è
ìíîæåñòâî êîíöîâ
Áóäåì ñ÷èòàòü, ÷òî óíèâåðñóìû
B, O
êîãäà ñïåöèôèêàöèè êîìïîíåíòîâ
S1
è
à äî ìíîæåñòâà òðàññ íàáëþäåíèé, âñòðå÷àþ-
tr (S1 ) = S1
F
I i : ∪{tr (f (I))|I ∈ I i }.
íóæíî äîïîëíÿòü íå äî
ìíîæåñòâà âñåõ òðàññ íàáëþäåíèé
(B ∪ O )∗ ,
à äî ìíîæåñòâà òðàññ íàáëþäåíèé, âñòðå÷àþ-
E
êî-
g
g
tr (S2 ) = S2 .
è
Agi ,
Ai = max(Si ).
1. Ñòðîèì ãðàô
S2 çàäàS1g è S2g :
ïîðîæäàþùèé ìíîæåñòâî
a. Äëÿ ýòîãî â
Sig
íà÷àëüíîå ñîñòîÿíèå
I 2:
êàæäîãî ïåðåõîäà ïî êíîïêå, âåäóùåãî
∪{tr (f (hide (I1 |U |I2 , H))) |I1 ∈ I 1 & I2 ∈ I 2 } =
∪{f (hide (tr (I1 )|U |tr (I2 ), H)) |I1 ∈ I 1 & I2 ∈
I 2 }.
â êîíå÷íîå ñîñòîÿíèå, îáúÿâëÿåì òàêæå
ùèõñÿ â êîìïîçèöèÿõ ðåàëèçàöèé èç
Äëÿ
ïðàêòè÷åñêîãî
ïðèìåíåíèÿ
I1
è
íå÷íû. Ïåðåïèøåì íàøó ïðîöåäóðó äëÿ ñëó÷àÿ,
íû êîíå÷íûìè ïîðîæäàþùèìè ãðàôàìè
ùèõñÿ â ðåàëèçàöèÿõ èç
u
âñåõ òàêèõ ïåðåõîäîâ.
íå äî ìíîæåñòâà âñåõ òðàññ íàáëþäåíèé
 ï. 7 ìíîæåñòâî
Sg.
0
Ïåðåõîä U →U ïðîâîäèòñÿ òîãäà è òîëüêî òîãäà,
g
êîãäà ñóùåñòâóåò u ∈ U òàêîå, ÷òî â ãðàôå S
a 0
0
0
è
îïèñàííàÿ
ïðîöåäóðà îáëàäàåò òåì íåäîñòàòêîì, ÷òî íåêîòîðûå
ïîëó÷àþùèåñÿ
áåñêîíå÷íû.
êîìïîíåíòà
ìíîæåñòâî
äåííîãî
â
Íàïðèìåð,
íåé
ìíîæåñòâà
åñëè
òðàññ
ñïåöèôèêàöèÿ
Si êîíå÷íà, òî ïîñëå ìàêñèìèçàöèè
max(Si ) áåñêîíå÷íî (êðîìå âûðîæ-
ñëó÷àÿ,
êîãäà
óíèâåðñóìû
êíîïîê
è
íàáëþäåíèé ïóñòû). Â òî æå âðåìÿ, åñëè ìíîæåñòâî òðàññ ðåãóëÿðíî, åãî ìîæíî ïðåäñòàâèòü
êîíå÷íûì
äàþùåãî
îáðàçîì
ãðàôà.
âèäå
Òàêîé
îòëè÷àåòñÿ îò LTS
8
â
êîíå÷íîãî
ïîðîæ-
ïîðîæäàþùèé
S = Lts(VS , ES , s0 )
ãðàô
òîëüêî
òåì , ÷òî âûäåëÿåòñÿ ïîäìíîæåñòâî êîíå÷íûõ
êîíå÷íûì.
b. Äîáàâëÿåì íîâîå êîíå÷íîå ñîñòîÿíèå
c.  êàæäîì êîíå÷íîì ñîñòîÿíèè (âêëþ÷àÿ
ω
ω)
ïðîâîäèì ïåðåõîä â ñîñòîÿíèå
ïî âñåì êíîïêàì è íàáëþäåíèÿì. Çà-
ìåòèì, ÷òî ýòî ñîîòâåòñòâóåò ïîñòôèêñçàìêíóòîñòè ìíîæåñòâà îøèáîê.
Big , ïîðîæäàþùèé
Bi = (B ∪ O )∗ \Ai .
2. Ñòðîèì ãðàô
äóðó äåòåðìèíèçàöèè, òî åñòü ñòðîèì
ãðàô
g
d (Ai ).
b. Äîáàâëÿåì
â
ω0,
g
d (Ai )
ñîñòîÿíèé
ãðàô
ïåðåõîäû-ïåòëè
TS ⊆ VS . Ìû áóäåì îáîçíà÷àòü ýòîò
S g , à ìíîæåñòâî ïîðîæäàåìûõ èì
g
òðàññ êàê tr (S ). LTS ýòî ïîðîæäàþùèé ãðàô,
ìíîæåñòâî
a. Äëÿ ýòîãî ñíà÷àëà ïðèìåíÿåì ïðîöå-
ñîñòîÿíèå
êàê
ω.
â
íîâîå
êîòîðîì
ïî
âñåì
êîíå÷íîå
ïðîâîäèì
êíîïêàì
è
íàáëþäåíèÿì.
c.  êàæäîì íåêîíå÷íîì ñîñòîÿíèè ïðî-
âñå ñîñòîÿíèÿ êîòîðîãî êîíå÷íû.
g
Êàê èçâåñòíî, ëþáîé ïîðîæäàþùèé ãðàô S
âîäèì ïåðåõîä â ñîñòîÿíèå
ω0
ïî âñåì
ìîæíî ñäåëàòü äåòåðìèíèðîâàííûì ñ ñîõðàíå-
êíîïêàì è íàáëþäåíèÿì, ïî êîòîðûì íå
g
íèåì ìíîæåñòâà ïîðîæäàåìûõ èì òðàññ tr (S ).
áûëî ïåðåõîäîâ èç ýòîãî ñîñòîÿíèÿ.
Ýòî äåëàåòñÿ ñ ïîìîùüþ ïðîöåäóðû äåòåðìèíè-
d. Óäàëÿåì âñå êîíå÷íûå ñîñòîÿíèÿ âìå-
çàöèè, ñòðîÿùåé íîâûé äåòåðìèíèðîâàííûé ïîðîæäàþùèé ãðàô
d (S g ).
Åãî ñîñòîÿíèÿìè áóäóò
âñå íåïóñòûå ìíîæåñòâà ñîñòîÿíèé ãðàôà
8
S g , íà-
Åùå îäíî îòëè÷èå ÷èñòî ôîðìàëüíîå: â ïîðîæäà-
þùåì ãðàôå
τ -ïåðåõîäó
ñîîòâåòñòâóåò ïóñòîé ïåðåõîä
e. Âñå
îñòàâøèåñÿ
ñîñòîÿíèÿ
êîíå÷íûìè.
Çàìåòèì,
ëÿåì
ñîîòâåòñòâóåò
îáúÿâ÷òî
ýòî
ïðåôèêñ-çàìêíóòîñòè
ìíîæåñòâà êîíôîðìíûõ òðàññ íàáëþäåíèé.
(íåïîìå÷åííàÿ äóãà ãðàôà).
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
ñòå ñ âåäóùèìè â íèõ ïåðåõîäàìè.
No
6
2013
2∗
20
ÁÓÐÄÎÍÎÂ, ÊÎÑÀ×ÅÂ
Cig , ïîðîæäàþùèé
Ci = ∪{f −1 (σ) |σ ∈ Bi }.
3. Ñòðîèì ãðàô
Äëÿ ýòîãî â
ñòîÿíèÿ
s
Big
x
ïðåâðàùà-
åì âî ìíîæåñòâî êðàòíûõ ïåðåõîäîâ ïî
êàæäîìó ñîáûòèþ a òàêîìó, ÷òî
x =
f (a). Åñëè òàêèõ ñîáûòèé a íåò, òî ïåðåõîä ïî íàáëþäåíèþ
Ïîëó÷åííûé
x ïðîñòî óäàëÿåòñÿ.
ìàëüíóþ
tr (Gg )
Dg ,
D = C1 |U |C2 .
Äëÿ
ïîðîæäàþùèé ìíîæåñòâî
=
ïðèìåíÿåì
êîìïîçèöèþ
C1g |U |C2g , îïèñàííóþ â ðàçäå-
ïîðîæäàåò
ñïåöèôèêàöèé,
max(S1 |U |S2 ).
=
÷òîáû
ìàêñèòî
åñòü
Ýòîò ãðàô ìîæíî
ïîëó÷èòü
ãðàô
Sg,
ïîðîæäàþùèé ìèíèìàëüíóþ êîìïîçèöèþ ñïåöèôèêàöèé
(ìíîæåñòâî
tr (S g )
ñèñòåìàòè÷åñêè
ïåðâè÷íûõ
min(S1 |U |S2 ).
=
ïðèìåíÿåì
îøèáîê),
Äëÿ ýòîãî
ñëåäóþùèå
äâà
ñòîÿíèÿ
s
ñîñòîÿíèå
â êîíå÷íîå ñîñòîÿíèå
s
s0 ,
òî îáúÿâëÿåì
êîíå÷íûì, 2) ïåðåõîä èç êîíå÷íîãî
ñîñòîÿíèÿ óäàëÿåòñÿ. Â êîíöå ìîæíî óäàëèòü
ëå 3.
E g , ïîðîæäàþùèé
E = hide (D, H).
5. Ñòðîèì ãðàô
ïîëó÷èâøèåñÿ èçîëèðîâàííûå ñîñòîÿíèÿ.
ìíîæåñòâî
5.
E g = hide (Dg , H),
îïèñàííóþ â
ðàçäåëå 3.
çàäàâàåìûå
ñîîòâåòñòâóþùèìè
äîé òàêîé ñåìàíòèêè
Ti
â
B/O -ñåìàíòèêå,
îïðå-
äåëÿåìîå êàê ñîîòâåòñòâóþùåå ýòîé ñåìàíòèêå
F = f (E).
ïðåîáðàçîâàíèå ðåàëèçàöèè
Äëÿ ýòîãî â
s
Eg
êàæäûé ïåðåõîä èç ñî-
ïî ñîáûòèþ
a ∈ Dom (f )
ïðåâðàùàåì â ïåðåõîä ïî íàáëþäåíèþ
f (a).
 [1] ðàññìàòðèâàëèñü ðàçëè÷íûå ñåìàíòèêè
òåñòèðîâàíèÿ,
ìàøèíàìè òåñòèðîâàíèÿ, è ìîäåëèðîâàíèå êàæ-
g
6. Ñòðîèì ãðàô F , ïîðîæäàþùèé ìíîæåñòâî
ñòîÿíèÿ
ÌÎÄÅËÈÐÎÂÀÍÈÅ ÄÐÓÃÈÕ
ÑÅÌÀÍÒÈÊ
Äëÿ ýòîãî ïðèìåíÿåì îïåðàöèþ ñîêðûòèÿ
êîìïîçèöèþ
ïðàâèëà: 1) åñëè ïåðåõîä ïî êíîïêå âåäåò èç ñî-
ýòîãî
Dg
Gg
ãðàô
ìèíèìèçèðîâàòü,
òî åñòü
4. Ñòðîèì ãðàô
Òàêèå ñîñòîÿíèÿ ìîæ-
íî óäàëèòü.
êàæäûé ïåðåõîä èç ñî-
ïî íàáëþäåíèþ
ω0.
ìî ñîñòîÿíèå
ìíîæåñòâî
Åñëè
a 6∈ Dom (f ),
òî ïåðåõîä ïî
òàêîìó ñîáûòèþ ïðîñòî óäàëÿåòñÿ.
Gg , ïîðîæäàþùèé
G = (B ∪ O )∗ \F.
7. Ñòðîèì ãðàô
ìíîæåñòâî
ñòàòüå
ìû
M i : AT S → OT S.
áóäåì
ìîäåëèðîâàòü
ýòè
B/E -ñåìàíòèêå, òî åñòü ðàññìîòïðåîáðàçîâàíèå W : AT S → ET S, ïîñëå
ñåìàíòèêè â
ðèì
÷åãî äàëåå ìîæíî ïðåîáðàçîâàòü ETS â OTS,
f,
êàê îïèñàíî â
ðàçäåëå 2.
 ðàññìàòðèâàåìûõ ñåìàíòèêàõ ðåàëèçàöèÿ
çàäà¼òñÿ ATS, òî åñòü LTS, â êîòîðîé ïåðåõî-
äóðó äåòåðìèíèçàöèè, òî åñòü ñòðîèì
g
ãðàô d (F ).
d (F g )
ýòîé
çàäàâ ïîäõîäÿùóþ ôóíêöèþ
a. Äëÿ ýòîãî ñíà÷àëà ïðèìåíÿåì ïðîöå-
b. Äîáàâëÿåì â
Â
íîâîå ñîñòîÿíèå
ω0,
â êîòîðîì ïðîâîäèì ïåðåõîäû-ïåòëè ïî
âñåì êíîïêàì è íàáëþäåíèÿì. Ýòî ñîñòîÿíèå è òîëüêî åãî îáúÿâëÿåì êîíå÷íûì.
äû ïîìå÷åíû âíåøíèìè äåéñòâèÿìè èç óíèâåðñóìà
A
èëè ñèìâîëîì
τ.
Òåñòîâîå âîçäåéñòâèå
ðàçðåøàåò ðåàëèçàöèè âûïîëíÿòü âíåøíèå äåéñòâèÿ èç íåêîòîðîãî ìíîæåñòâà ðàçðåø¼ííûõ
äåéñòâèé, ðàçðóøåíèå
γ
è âíóòðåííåå
τ -äåéñòâèå
âñåãäà ðàçðåøåíû. Ìàøèíó íàçûâàþò ãåíåðàòèâíîé èëè ðåàêòèâíîé â çàâèñèìîñòè îò òîãî,
ìîæåò ëè ðåàëèçàöèÿ âûïîëíÿòü ïîñëåäîâàòåëüíîñòü ðàçðåø¼ííûõ âíåøíèõ äåéñòâèé èëè òîëü-
c. Â êàæäîì ñîñòîÿíèè ïðîâîäèì ïåðå-
ω0
êî îäíî òàêîå äåéñòâèå, ïîñëå ÷åãî âûïîëíåíèå
ïî âñåì êíîïêàì
âíåøíèõ äåéñòâèé áëîêèðóåòñÿ äî ïîñòóïëåíèÿ
è íàáëþäåíèÿì, ïî êîòîðûì íå áûëî
ñëåäóþùåãî (áûòü ìîæåò, òîãî æå ñàìîãî) òå-
ïåðåõîäîâ
õîä â ñîñòîÿíèå
Çàìå-
ñòîâîãî âîçäåéñòâèÿ. Åñëè â òåêóùåì ñîñòîÿíèè
òèì, ÷òî ýòî ñîîòâåòñòâóåò ïîñòôèêñ-
ðåàëèçàöèè íåò ðàçðåø¼ííûõ âíåøíèõ äåéñòâèé
çàìêíóòîñòè ìíîæåñòâà îøèáîê. Òàê-
è íåò
æå îòìåòèì, ÷òî ó íàñ ìîãóò ïîëó÷èòü-
ñÿ. Ýòó îñòàíîâêó ìîæíî íàáëþäàòü, åñëè àê-
ñÿ ñîñòîÿíèÿ, èç êîòîðûõ íå äîñòèæè-
òèâèðîâàíà, òàê íàçûâàåìàÿ, çåë¼íàÿ ëàìïî÷êà:
èç
ýòîãî
ñîñòîÿíèÿ.
τ -àêòèâíîñòè,
ðåàëèçàöèÿ îñòàíàâëèâàåò-
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
ÑÎÃËÀÑÎÂÀÍÈÅ ÊÎÍÔÎÐÌÍÎÑÒÈ È ÊÎÌÏÎÇÈÖÈÈ
a
21
ëþáîå äåéñòâèå
äåéñòâèÿ, è ãàñíåò â ìîìåíò îñòàíîâêè. Ïîñëå
ðåííåå
îñòàíîâêè òåñòèðîâàíèå ëèáî çàêàí÷èâàåòñÿ, ëè-
åñòü â òåêóùåì ñîñòîÿíèè èìååòñÿ ïåðåõîä ïî
áî ìîæåò áûòü ïðîäîëæåíî òåì èëè èíûì òåñòî-
è êîòîðîå ðàçðåøåíî íàæàòîé êíîïêîé
âûì âîçäåéñòâèåì. Íàêîíåö, ïðè îñòàíîâêå ìà-
òî åñòü
øèíû ìîæíî íàáëþäàòü äåéñòâèÿ, ïåðåõîäû ïî
ëèñü òàêæå ñèñòåìû ñ ïðèîðèòåòàìè, ââåä¼ííûå
êîòîðûì îïðåäåëåíû â òåêóùåì ñîñòîÿíèè ðå-
â [4, 5], êîãäà âûïîëíèìîñòü äåéñòâèÿ
àëèçàöèè. Äëÿ ýòîãî ïðåäíàçíà÷åíû ëàìïî÷êè
ñèò îò íàæàòîé êíîïêè
ìåíþ, ñîîòâåòñòâóþùèå äåéñòâèÿì. Åñëè òàêàÿ
âèÿ
ëàìïî÷êà àêòèâèðîâàíà, òî â ìîìåíò îñòàíîâ-
ëèðóþòñÿ ATS, â êîòîðûõ ïåðåõîä ïîìå÷àåòñÿ
êè îíà ãîðèò, åñëè â ðåàëèçàöèè åñòü ïåðåõîä
íå äåéñòâèåì
a = τ ),
(âíåøíåå
a ∈ A
îíà ãîðèò, ïîêà ðåàëèçàöèÿ âûïîëíÿåò êàêèå-òî
èëè âíóò-
êîòîðîå â íåé îïðåäåëåíî, òî
a ∈ acts (p) ∪ {τ, γ}.
a,
p ∈ P,
 [1] ðàññìàòðèâà-
a çàâèp, à íå òîëüêî îò óñëîa ∈ acts (p) ∪ {τ, γ}. Òàêèå ñèñòåìû ìîäå-
ñåìàíòèêè ñ îãðàíè÷åíèÿìè íà ìíîæåñòâî ðàç-
a, à ïàðîé (a, p), ãäå p ∈ P è
a ∈ acts (p) ∪ {τ, γ}. Òàêîé ïåðåõîä âûïîëíÿåòñÿ
ñ íàáëþäåíèåì äåéñòâèÿ a òîëüêî â òîì ñëó÷àå,
êîãäà íàæàòà êíîïêà p. Ïîíÿòíî, ÷òî ñèñòåìó áåç
ðåøàåìûõ äåéñòâèé ðàññìàòðèâàëèñü â [2, 3, 6,
ïðèîðèòåòîâ ìîæíî ïîíèìàòü êàê ÷àñòíûé ñëó-
11, 12].
÷àé ñèñòåìû ñ ïðèîðèòåòàìè, åñëè çàìåíèòü â
ïî ñîîòâåòñòâóþùåìó äåéñòâèþ. Âñå ýòè äîïîëíèòåëüíûå íàáëþäåíèÿ ñèñòåìàòèçèðîâàíû â [8],
 äàííîé ñòàòüå ìû áóäåì ñ÷èòàòü âñå ýòè
íåé êàæäûé ïåðåõîä ïî äåéñòâèþ a íà ìíîæåñòâî
(a, p), ãäå p ïðîáå{p ∈ P |a ∈ acts (p) ∪ {τ, γ}}. Â
âîçìîæíîñòè àòðèáóòàìè êíîïêè, ÷òî ïîçâîëÿ-
êðàòíûõ ïåðåõîäîâ ïî ïàðàì
åò ðàññìàòðèâàòü øèðîêèé êëàññ ñåìàíòèê, îñ-
ãàåò ìíîæåñòâî
íîâàííûõ íà ATS, â òîì ÷èñëå ñìåøàííûå ñå-
äàëüíåéøåì áóäåì ðàññìàòðèâàòü òîëüêî ñèñòå-
ìàíòèêè, êîãäà, íàïðèìåð, çåë¼íàÿ ëàìïî÷êà àê-
ìû ñ ïðèîðèòåòàìè. Äëÿ òàêèõ ñèñòåì ëàìïî÷êà
òèâèðîâàíà äëÿ îäíèõ êíîïîê è íå ðàáîòàåò äëÿ
ìåíþ äîëæíà ñîîòâåòñòâîâàòü óæå íå äåéñòâèþ,
äðóãèõ êíîïîê. Ôîðìàëüíî, áóäåì ñ÷èòàòü, ÷òî
à ïàðå (äåéñòâèå, êíîïêà). Òåïåðü
ôèêñèðîâàíî ïîäìíîæåñòâî óíèâåðñóìà êíîïîê
òàêæå óïðàâëÿåòñÿ êíîïêàìè, òî åñòü âìåñòî
P ⊆ B,
äëÿ êîòîðûõ îïðåäåëåíû ñëåäóþùèå
P:
ôóíêöèè, âñþäó îïðåäåë¼ííûå íà
• acts : P → 2A ,
τ -àêòèâíîñòü
τïåðåõîäîâ òåïåðü åñòü (τ, p)-ïåðåõîäû, ãäå p ∈ P .
Ïîýòîìó ñëåäóåò ãîâîðèòü íå î ñòàáèëüíîñòè, à pñòàáèëüíîñòè ñîñòîÿíèÿ, îçíà÷àþùåé îòñóòñòâèå
ðàçðåøàåìûå âíåøíèå äåé-
â ñîñòîÿíèè ïåðåõîäîâ, ïîìå÷åííûõ êíîïêîé
ñòâèÿ, êðîìå âñåãäà ðàçðåø¼ííîãî ðàçðóøå-
òî åñòü ïàðîé âèäà
íèÿ.
ðàì âèäà
• reactive : P → Bool ,
åñëè
true,
òî êíîï-
êà ðåàêòèâíàÿ, òî åñòü ñëåäóþùóþ êíîïêó
ìîæíî íàæèìàòü òîëüêî ïîñëå âûïîëíåíèÿ
âíåøíåãî äåéñòâèÿ èëè ïîñëå íàáëþäàåìîé
îñòàíîâêè ðåàëèçàöèè; åñëè
f alse, òî êíîïêà
ãåíåðàòèâíàÿ, ÷òî íå íàëàãàåò îãðàíè÷åíèé
åñëè
true,
òî ìîæíî íà-
áëþäàòü îñòàíîâêó ðåàëèçàöèè.
• continue : P → Bool ,
åñëè
true,
òî ìîæíî
ïðîäîëæàòü òåñòèðîâàíèå ïîñëå îñòàíîâêè.
• menu : P → 2A ,
àêòèâèðîâàííûå ëàìïî÷êè
ìåíþ.
Ãîâîðÿò, ÷òî â ñèñòåìå íåò ïðèîðèòåòîâ, åñ-
òàêæå ñîîòâåòñòâóþò ëàìïî÷êè
ìåíþ. Ïîýòîìó áóäåì ñ÷èòàòü, ÷òî
2(A∪{τ })×P .
âàâøèåñÿ â [1, 2, 3, 6, 8, 11, 12], ñ óêàçàíèåì äîïóñòèìûõ äëÿ íèõ êíîïîê. Âñå äåéñòâèÿ èç
A ⊆ E . Êðîìå ýòîãî
(r, p), ãäå r ∈ 2(A∪{τ })×P ìíîæåñòâî ãîòîâíîñòè, à p ∈ P êíîïêà. Îáîçíà÷èì ìíîæåñòâî ãîòîâíîñòè â ñîñòîÿíèè s ÷åðåç
a,p
r(s) = {(a, p)|s →}. Èòàê, ìû ââîäèì ìíîæåñòâî
(A∪{τ })×P × P ) ⊆ E .
ñîáûòèé A ∪ (2
Äëÿ ìîäåëèðîâàíèÿ ýòèõ ñåìàíòèê â
W :AT S → ET S. Òàêæå êàê ïðè ïðåîáðàçîâàíèè M :AT S → OT S äëÿ êàæäîãî ñîñòîÿíèÿ s èñõîäíîé ATS è êàæäîé êíîïêè p ∈ P äîöèè
áàâëÿåòñÿ íîâîå ñîñòîÿíèå
sp
è ïåðåõîä
p
s → sp .
sp îïðåäåëÿåòñÿ ïåðåõîä ïî
a ∈ acts (p) ∪ {τ, γ}, åñëè â ñîñòîÿíèè s
äåéñòâèþ
2013
B/E -
ñåìàíòèêå îïðåäåëèì ïðåîáðàçîâàíèå ðåàëèçà-
 êàæäîì ñîñòîÿíèè
6
A
áóäåì ñ÷èòàòü ñîáûòèÿìè:
ïèñûâàåò ðåàëèçàöèè âûáèðàòü íà âûïîëíåíèå
No
menu : P →
 òàáëèöå 1 ïðèâåäåíû ñåìàíòèêè, ðàññìàòðè-
ëè ïðàâèëî íåäåòåðìèíèðîâàííîãî âûáîðà ïðåä-
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
p,
Ñîîòâåòñòâåííî, ïà-
ââîäÿòñÿ ñîáûòèÿ âèäà
íà íàæàòèå ñëåäóþùåé êíîïêè.
• green : B → Bool ,
(τ, p)
(a, p).
22
ÁÓÐÄÎÍÎÂ, ÊÎÑÀ×ÅÂ
reactive = f alse â ãåíåðàòèâíîé ìàøèíå âàí Ãëàááåêà, reactive = true â ðåàêòèâíîé R/Q-ìàøèíå
ioco-ìàøèíå. Äëÿ ìíîæåñòâà Z ÷åðåç F in(Z) îáîçíà÷åíî ñåìåéñòâî êîíå÷íûõ ïîäìíîæåñòâ ìíîæåñòâà Z.
Òàáëèöà 1.
è
Ñåìàíòèêà
â àëôàâèòå
A⊆A
trace
reactive
T
T∗
f ailure
trace
f ailure
FT
F
f ailure
trace
f ailure
ready
trace
readiness
FT
ready
trace
readiness
RT −
completed
traces
TO
stability
T 0S
R∩Q
=∅
=
R
R
=
∈
=
∈
=
×
(f alse)
×
(f alse)
×
(f alse)
×
(f alse)
×
(f alse)
×
×
(f alse)
×
(f alse)
×
(f alse)
×
2A
f alse
×
times
{A}
f alse
×
×
2A
true
{∅}
true
2A
true
{∅}
f alse
×
(f alse)
×
(f alse)
R/Q
×(true)
(r
2A−
true
{∅}
true
2A
2A
true
true
{∅}
{(A ∪ {τ })×
×P }
{(A ∪ {τ })×
×P }
Fin ((A ∪ {τ })×
×P )
Fin ((A ∪ {τ })×
×P )
{∅}
f alse
true
2
A
2A−
true
true
A−
2
true
{A}
true
a ∈ acts (p),
a,p
s → t.
Åñëè
t.
Åñëè
r+ = ∅,
r− =
= acts(p)×
×{p}
ä¼ò â ñîñòîÿíèå
refusal
acts (p)
r+ = r
r = (A×
×P )\r
ready
r+ , r−
(r+ , r− )
−
f alse
r
true
f alse
f alse
×
×
{δ}
true
{∅}
true
r+ = ∅,
refusal
δ=Y =
= acts (p)
times
r− = δ×
×{p} =
= {(δ, p)}
−
R
true
true
f alse
reactive (p) = true
reactive (p) = f alse
a ∈ {τ, γ}, òî äîáàâëåííûé ïåðåõîä âåtp . Â êàæäîì ñîñòîÿíèè sp , ãäå
reactive (p) = f alse, äëÿ êàæäîé êíîïêè q ∈ P
èëè
−
Q
{A}
{∅}
òî äîáàâëåííûé ïåðåõîä òîæå
âåä¼ò â ñîñòîÿíèå
, r− )
r+ = ∅,
r− = A×
×{p}
r+ = ∅,
r− = ∅×
×{p} = ∅
r+ = ∅,
r− =
= acts (p)×
×{p}
−
{{x}| ∈
∈ X}
δ=Y
+
èíòåðïðåòà öèÿ íàáëþäåíèÿ â
ñåìàíòèêå
−
{∅}
{∅}
×
×
true
true
×(true)
ioco
èìåëñÿ ïåðåõîä
è
−
ïîëíîå
íàáëþäåíèå
continue
è
∪R ∪ ∪Q =
=A
X ∩Y =
= ∅,
X ∪Y =
=A
è
F
RT
äîïóñòèìûå êíîïêè èç P
act s
green
menu
×
refusal
0=A=
= acts (p)
refusal
S=∅=
= acts (p)
refusal
acts (p)
−
−
q
sp→sq . Äëÿ êàæäîãî ñîñòîÿíèÿ s è êàæäîé êíîïêè p ∈ P äîáàâëÿåòñÿ ïåðåõîä èç sp ïî ñîáûòèþ (r, p), åñëè s p-ñòàáèëüíî,
green (p) = true, è r = r(s), ãäå r(s) âû÷èñëÿåòñÿ ïî èñõîäíîé ATS. Óñëîâèå p-ñòàáèëüíîñòè ñîñòîÿíèÿ s òàêîå: (τ, p) 6∈ r(s) & (τ, p) 6∈ r(s). Ýòîò
îïðåäåëÿåòñÿ ïåðåõîä
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
ÑÎÃËÀÑÎÂÀÍÈÅ ÊÎÍÔÎÐÌÍÎÑÒÈ È ÊÎÌÏÎÇÈÖÈÈ
23
sp , åñëè continue (p) =
true è reactive (p) = f alse, èëè â ñîñòîÿíèå s,
åñëè continue (p) = true è reactive (p) = true,
ðåø¼ííûõ äåéñòâèé è êîíå÷íûìè ìíîæåñòâàìè
èëè â êàêîå-íèáóäü òåðìèíàëüíîå ñîñòîÿíèå (ïðè
ø¼ííûõ òðàññ
íåîáõîäèìîñòè òàêîå ñîñòîÿíèå äîáàâëÿåòñÿ), åñ-
âîçìîæåí òîëüêî îäèí âèä îòêàçà, âîçíèêàþùèé
ïåðåõîä âåä¼ò â ñîñòîÿíèå
continue (p) = f alse.
(RT −
àêòèâèðîâàííûõ ëàìïî÷åê ìåíþ
+ è
ìíîæåñòâà r
R− )
è
r− êîíå÷íû.  ñåìàíòèêå çàâåð-
(T0 completed trace semantics)
Ïîñëå ýòîãî óäàëÿþò-
â òåðìèíàëüíûõ ñîñòîÿíèÿõ. Ýòî íàáëþäåíèå
ñÿ âñå (a, p)-ïåðåõîäû èç ñòàðûõ ñîñòîÿíèé, ãäå
a ∈ A è a 6= γ, à (τ, ∅)- è (γ, ∅)-ïåðåõîäû çàìåíÿþòñÿ τ - è γ -ïåðåõîäàìè, ñîîòâåòñòâåííî. Íà÷àëü-
îáîçíà÷àåòñÿ êàê 0, ÷òî ñîâïàäàåò ñ îòêàçîì,
íîå ñîñòîÿíèå îñòà¼òñÿ ïðåæíèì, ïðåäïîëàãàåò-
íîâêå ðåàëèçàöèè, òî åñòü ðîâíî òîãäà, êîãäà
ñÿ, ÷òî â íà÷àëå òåñòèðîâàíèÿ íèêàêàÿ êíîïêà íå
íàáëþäàåòñÿ ïóñòîé îòêàç. Â
íàæàòà (âñå âíåøíèå äåéñòâèÿ, êðîìå ðàçðóøå-
íàáëþäàåìûå îòêàçû ýòî ýëåìåíòû ñåìåéñòâà
íèÿ, çàïðåùåíû), à çåë¼íàÿ ëàìïî÷êà íå àêòèâè-
R,
ëè
Òåïåðü îïðåäåëèì ôóíêöèþ
A∪
(2( ∪{τ })×
òàòü, ÷òî
S
âîçíèêàåò
à
â
ïðè
ëþáîé
ñåìàíòèêå
f
äëÿ ñîáûòèé èç
P × P ). Äëÿ äåéñòâèé áóäåì ñ÷è-
A ⊆ Dom (f )
è
f (a) = a
äëÿ êàæäîãî
a ∈ A. Äëÿ ñîáûòèÿ (r, p) ∈ 2(A∪{τ })×P × P óñëîâèå íàáëþäåíèÿ, òî åñòü (r, p) ∈ Dom(f ), ñëåäóþùåå {(a, x) ∈ r|x = p} = ∅. Ýòî óñëîâèå
íàáëþäàåìîé îñòàíîâêè ìàøèíû â ñîñòîÿíèè ñ
íàáëþäàåìîé
èìååòñÿ
îòêàç, îáîçíà÷àåìûé ñèìâîëîì
îñòà-
R/Q-ñåìàíòèêå
ioco (Input
êîíôîðìíîñòè
Output COnformance)
ðîâàíà.
A
ñîäåðæàùèì âñå âíåøíèå äåéñòâèÿ. Íàáëþäåíèå
åäèíñòâåííûé
δ
è îçíà÷àþùèé
îòñóòñòâèå â ðåàëèçàöèè ïåðåõîäîâ ïî ðåàêöèÿì
(èç ìíîæåñòâà
Y)
â ìîìåíò îñòàíîâêè.
Ti
D i :ET S → ET S,
Äëÿ êîíêðåòíîé ñåìàíòèêè
îáðàçîâàíèå
îïðåäåëèì ïðåêîòîðîå óäàëÿ-
åò âñå ïåðåõîäû ïî êíîïêàì, íå äîïóñòèìûì â
ýòîé ñåìàíòèêå. Ñ ó÷¼òîì îïèñàííîé âûøå èí-
(r+ , r− )
p.
+
−
Åñëè (r, p) ∈ Dom(f ), òî f (r, p) = (r , r ),
+ = menu (p) ∩ r, r − = (menu (p)\r) ∪
ãäå r
(acts(p) × {p}). Çäåñü r+ ýòî ìíîæåñòâî ïàð
(a, p), äëÿ êîòîðûõ ëàìïî÷êè ìåíþ àêòèâèðîâà+ â ìîíû è ãîðÿò. Ïðî êàæäóþ ïàðó (a, p) ∈ r
òåðïðåòàöèè îáùåãî íàáëþäåíèÿ
ìåíò îñòàíîâêè ðåàëèçàöèè ìû òî÷íî çíàåì, ÷òî
êå
èìååòñÿ ïåðåõîä, ïîìå÷åííûé ýòîé ïàðîé, è îí
Ýòî óíèâåðñàëüíîå ïðåîáðàçîâàíèå
p. Ñî−
îòâåòñòâåííî, r ýòî ìíîæåñòâî âñåõ ïàð (a, p),
ãäå p íàæàòàÿ êíîïêà, à òàêæå òàêèõ ïàð (a, p),
ñÿ îò ïðåîáðàçîâàíèÿ
äëÿ êîòîðûõ ëàìïî÷êè ìåíþ àêòèâèðîâàíû, íî
ïðè ìîäåëèðîâàíèè ñîõðàíÿþòñÿ òðàññû íàáëþ-
ìíîæåñòâîì ãîòîâíîñòè
r
ïðè íàæàòîé êíîïêå
ìîæåò âûïîëíÿòüñÿ ïðè íàæàòèè êíîïêè
íå ãîðÿò. Ïðî êàæäóþ ïàðó
(a, p) ∈ r−
â ìîìåíò
èëè èíîé ñåìàíòèêå
äåëèðîâàíèå
M i,
Ti
â òîé
ëåãêî âèäåòü, ÷òî ìî-
îïèñàííîå â [1], äà¼ò òîò æå
ðåçóëüòàò, ÷òî íåêîòîðîå îáùåå ìîäåëèðîâàíèå
M :AT S → OT S,
ïîñëå êîòîðîãî óäàëÿþòñÿ ïå-
ðåõîäû ïî êíîïêàì, íå äîïóñòèìûì â ñåìàíòè-
Ti ,
òî åñòü ïðèìåíÿåòñÿ ïðåîáðàçîâàíèå
W
M
D i.
îòëè÷àåò-
òîëüêî òåì, ÷òî âìå-
(r, p) ïåðåõîä
f (r, p) = (r+ , r− ).
ñòî ñîáûòèÿ
ïîìå÷àåòñÿ íàáëþ-
äåíèåì
Ëåãêî âèäåòü, ÷òî
äåíèé: â ATS
S
ìíîæåñòâî òðàññ íàáëþäåíèé
îñòàíîâêè ðåàëèçàöèè ìû òî÷íî çíàåì, ÷òî îò-
è êíîïîê, ñîîòâåòñòâóþùèõ ñåìàíòèêå
ñóòñòâóþò ïåðåõîäû, ïîìå÷åííûå ýòîé ïàðîé.
tr (f (D i (W (S)))) = tr (D i (M (S))).
Ti ,
ðàâíî
ñîáûòèå
Íàì îñòàëîñü îïðåäåëèòü êîìïîçèöèþ ââåä¼í-
r− ) ìîæåò èíòåðïðåòèðî-
íûõ íàìè ñîáûòèé. Àñèíõðîííûìè ìîãóò áûòü
âàòüñÿ òåì èëè èíûìè ñïîñîáîì, åñëè ñåìàíòèêà
òîëüêî âíåøíèå äåéñòâèÿ, ïðè÷¼ì ðàçðóøåíèå
(êàê íàáîð êíîïîê) íàëàãàåò îãðàíè÷åíèÿ íà
âñåãäà àñèíõðîííî, à ñîáûòèÿ âèäà
Òå
(r, p),
ñåìàíòèêè,
â
êîòîðûõ
+
íàáëþäåíèå (r ,
èìååòñÿ
+ è
âîçìîæíûå çíà÷åíèÿ ìíîæåñòâ r
(FT âñå ñèíõðîííûå ïåðåõîäû ïî äåéñòâèÿì è òîëüêî
ëàìïî÷åê ìåíþ íåò (íå
(r, p)
= ∅
= acts(p) × {p},
÷òî îäíîçíà÷íî çàäà¼òñÿ ìíîæåñòâîì acts(p),
êîòîðîå íàçûâàåòñÿ îòêàçîì (ref usal set) â ìîàêòèâèðîâàíû),
+
âñåãäà áóäåò r
ïîýòîìó
äëÿ
âñåãäà
ñèíõðîííû. Ïîñëå êîìïîçèöèè áóäåì ñêðûâàòü
ïðèìåð, â ñåìàíòèêå òðàññ ñ îòêàçàìè
failure trace semantics)
(r, p)
r− . Íà-
ñîáûòèÿ
−
è r
èõ. Èòàê:
H ⊆ A\{γ}, U = H ∪ (2(A∪{τ })×P ×
P ).
Îïðåäåëåíèå êîìïîçèöèè îïèðàåòñÿ íà ñëåäóþùèå îñíîâíûå ñâîéñòâà ìíîæåñòâà ãîòîâíîñòè.
Åñëè ñîñòîÿíèÿ
s
è
t
pst p-
äâóõ ATS-îïåðàíäîâ
ìåíò îñòàíîâêè ðåàëèçàöèè ïðè íàæàòîé êíîïêå
ñòàáèëüíû, òî êîìïîçèöèîííîå ñîñòîÿíèå
p.
ñòàáèëüíî òîãäà è òîëüêî òîãäà, êîãäà â ñîñòî-
 ñåìàíòèêå ñ êîíå÷íûìè ìíîæåñòâàìè ðàç-
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
24
ÁÓÐÄÎÍÎÂ, ÊÎÑÀ×ÅÂ
ÿíèÿõ
s
è
t
íåò ïàðû ñèíõðîííûõ ïåðåõîäîâ,
ðèòåòàìè: êîíôîðìíîñòü, òåñòèðîâàíèå, êîìïî-
òî åñòü ïåðåõîäîâ ïî îäíîé è òîé æå êíîïêå
çèöèÿ. Ïðîãðàììèðîâàíèå. 2009.  4. C. 2440.
q è îäíîìó è òîìó æå ñèíõðîííîìó äåéñòâèþ
a:{(a, q) ∈ r1 ∩ r2 |a ∈ H} = ∅. Ýòî äà¼ò ñëåäóþ-
6.
Áóðäîíîâ È. Òåîðèÿ êîíôîðìíîñòè (ôóíêöèîíàëüíîå òåñòèðîâàíèå ïðîãðàììíûõ ñèñòåì íà
ùåå îïðåäåëåíèå äîìåíà êîìïîçèöèè ñîáûòèé:
îñíîâå ôîðìàëüíûõ ìîäåëåé). LAP LAMBERT
Dom (|U |) = {(a, a) | a ∈ A}∪
Academic
A
2( ∪{τ })×
P &p ∈
∪{((r1 , p), (r2 , p)) | r1 , r2 ∈
∈ P &{(a, q) ∈ r1 ∩ r2 |a ∈ H} = ∅}.
Åñëè êîìïîçèöèîííîå ñîñòîÿíèå st p-ñòàáèëü-
7.
òîãäà è òîëüêî
Germany,
van Glabbeek R.J. The linear time branching
editors, CONCUR'90, Lecture Notes in Computer
Science 458, Springer-Verlag, 1990. P. 278297.
ìíîæåñòâàì ãîòîâíîñòè ñîñòîÿíèé-îïåðàíäîâ, à
(a, q)
Saarbrucken,
time spectrum. In J.C.M. Baeten and J.W. Klop,
íî, òî åãî ìíîæåñòâî ãîòîâíîñòè âû÷èñëÿåòñÿ ïî
èìåííî: îíî ñîäåðæèò ïàðó
Publishing,
2011.
8.
van Glabbeek R.J. The linear time branching time
òîãäà, êîãäà ýòà ïàðà åñòü âî ìíîæåñòâå ãîòîâ-
spectrum II; the semantics of sequential processes
íîñòè õîòÿ áû îäíîãî èç ñîñòîÿíèé-îïåðàíäîâ, à
with
äåéñòâèå
a
àñèíõðîííî:
r (st) = {(a, q) ∈ r (s) ∪ r (t)|a 6∈ H}.
9.
ñîáûòèé:
∀(a, a) ∈ Dom (|U |)
a|U |a = a,
∀((r1 , p), (r2 , p) ∈ Dom (|U |)
(r1 , p)|U |(r2 , p) = ({(a, q) ∈ r1 ∪ r2 |a 6∈ H}, p).
10.
äëÿ ëþáûõ ATS
S
è
machine behaviour. In G. Astesiano
&
editors:
LNCS
Proceedings
Hoare
C.A.R.
advanced
T
11.
C. Bohm,
112,
Communicating
Cambridge
University
Press,
Tretmans J. Conformance testing with labelled
Tretmans J. Test Generation with Inputs, Outputs
and Repetitive Quiescence. In: Software-Concepts
tr (W (S|U |T )) = tr (W (S)|U |W (T )).
ÑÏÈÑÎÊ ËÈÒÅÐÀÒÓÐÛ
course.
Systems, Dec., 1996. V. 29.  1. P. 4979.
12.
ýòè ATS:
sequential
A.M. Macnaghten,
test generation. Computer Networks and ISDN
òðàññ ñîáûòèé êîìïîçèöèè ETS, ìîäåëèðóþùèõ
and Tools. 1996. V. 17. I. 3.
13.
van
der
Bijl
M.,
Compositional
Rensink
testing
J.
Formal
Approaches
International Workshop, FATES 2003, Montreal,
2013.  4. C. 327.
Quebec,
14.
Áóðäîíîâ È.Á., Êîñà÷åâ À.Ñ. Ñèñòåìû ñ ïðèî-
6th,
2003.
Editors:
der
Bijl
M.,
Based
Rensink
A.,
Testing
with
Tretmans
ioco.
J.
CTIT
Technical Report TR-CTIT-03-34, University of
Twente, 2003.
ìè è ðàçðóøåíèåì. Ì.: Íàóêà, 2008.
ðîâàíèÿ ÐÀÍ. 2008.  14.1.
van
Component
Òåîðèÿ ñîîòâåòñòâèÿ äëÿ ñèñòåì ñ áëîêèðîâêà-
öèÿ. Òðóäû Èíñòèòóòà ñèñòåìíîãî ïðîãðàììè-
October
Third
P. 86100.
Áóðäîíîâ È.Á., Êîñà÷åâ À.Ñ., Êóëÿìèí Â.Â.
òåòàìè: êîíôîðìíîñòü, òåñòèðîâàíèå, êîìïîçè-
Canada,
Testing:
A. Petrenko, A. Ulrich. Springer. LNCS V. 2931.
Áóðäîíîâ È.Á., Êîñà÷åâ À.Ñ., Êóëÿìèí Â.Â.
Áóðäîíîâ È.Á., Êîñà÷åâ À.Ñ. Ñèñòåìû ñ ïðèîðè-
Software
Tretmans
ioco.
Áóðäîíîâ È.Á., Êîñà÷åâ À.Ñ. Ôîðìàëèçàöèÿ òå-
ãðàììèðîâàíèå. 2007.  5. C. 133.
to
A.,
with
ñòîâîãî ýêñïåðèìåíòàII. Ïðîãðàììèðîâàíèå.
Ôîðìàëèçàöèÿ òåñòîâîãî ýêñïåðèìåíòà. Ïðî-
5.
81,
transition systems: implementation relations and
êîìïîçèöèþ ýòèõ ATS, ñîâïàäàåò ñ ìíîæåñòâîì
4.
CAAP
1980. P. 229254.
ìíîæåñòâî òðàññ ñîáûòèé ETS, ìîäåëèðóþùåé
3.
'93,
editors, On the construction of programs an
ñòâà ñîãëàñîâàííîñòè êîìïîçèöèè è ìîäåëèðîâà-
2.
CONCUR
Milner R. Modal characterization of observable
processes. In R.M. McKeag
ATS è ETS, ëåãêî óâèäåòü âûïîëíåíèå ñâîé-
1.
Proceedings
Springer, P. 2534.
Òåïåðü, îïèðàÿñü íà îïðåäåëåíèÿ êîìïîçèöèè
W :AT S → ET S :
moves.
LNCS 715, Springer-Verlag, 1993. P. 6681.
Ýòî äà-
¼ò ñëåäóþùåå îïðåäåëåíèå çíà÷åíèÿ êîìïîçèöèè
íèÿ
silent
Hildesheim, Germany, August 1993 (E. Best, ed.),
15.
Jard C., Jeron T., Tanguy L., Viho C. Remote
testing can be as powerful as local testing. In
Formal
methods
for
protocol
engineering
and
distributed systems, FORTE XII/ PSTV XIX' 99,
Beijing, China, J. Wu, S. Chanson, Q. Gao (eds.),
October, 1999. P. 2540.
ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ
No
6
2013
Download