ÏÐÎÃÐÀÌÌÈÐÎÂÀÍÈÅ, 2013, N o 6, ñ. 1224 ÒÅÑÒÈÐÎÂÀÍÈÅ, ÂÅÐÈÔÈÊÀÖÈß È ÂÀËÈÄÀÖÈß ÏÐÎÃÐÀÌÌ ÓÄÊ 681.3.06 ÑÎÃËÀÑÎÂÀÍÈÅ ÊÎÍÔÎÐÌÍÎÑÒÈ È ÊÎÌÏÎÇÈÖÈÈ ∗ c 2013 ã. È.Á. Áóðäîíîâ, À.Ñ. Êîñà÷åâ Èíñòèòóò ñèñòåìíîãî ïðîãðàììèðîâàíèÿ ÐÀÍ 109004 Ìîñêâà, óë. À.Ñîëæåíèöûíà, 25 E-mail: [email protected], [email protected] Ïîñòóïèëà â ðåäàêöèþ 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