• Nie Znaleziono Wyników

Równowa˙zno´s´c modeli CCS

W dokumencie Index of /rozprawy2/10134 (Stron 34-39)

3. Algebra CCS 21

3.4. Równowa˙zno´s´c modeli CCS

Algebra CCS i jej algebry pochodne dostarczaj ˛a metod do specyfikacji i weryfikacji dy-namiki systemów współbie˙znych. Metody słu˙z ˛ace do oceny równowa˙zno´sci modeli pozwalaj ˛a oceni´c zgodno´s´c modelu traktowanego jako implementacja, z modelem b˛ed ˛acym specyfikacj ˛a rozwa˙zanego systemu współbie˙znego. W przypadku, gdy model jest rozwijany jako ci ˛ag ko-lejnych iteracji, relacje równowa˙zno´sci pozwalaj ˛a na wykazanie równowa˙zno´sci modelu i-tego z modelem i + 1-szym.

Zasadniczym kryterium porównywania agentów w algebrze CCS i algebrach pochodnych jest porównywanie agentów na podstawie ich obserwowalnego zachowania. Istniej ˛a tutaj dwa podstawowe podej´scia. W pierwszym, akcja wewn˛etrzna reprezentowana przez τ jest trakto-wana tak jak ka˙zda inna akcja, w drugim podej´sciu, akcja τ jest traktotrakto-wana jako niewidoczna i porównywane s ˛a tylko akcje obserwowalne z zewn ˛atrz.

Definicja 5. Relacj˛e dwuargumentow ˛a R ⊆ E × E nazywamy siln ˛a bisymulacj ˛a, je˙zeli z tego, ˙ze (E, F ) ∈ R wynika, ˙ze dla wszystkich α ∈ Act, spełnione s ˛a warunki:

(1) E → Eα 0 =⇒ ∃F0: F → Fα 0 ∧ (E0, F0) ∈ R, (2) F → Fα 0 =⇒ ∃E0: E → Eα 0∧ (E0, F0) ∈ R.

Powy˙zsza definicja oznacza, ˙ze je˙zeli agent E mo˙ze podj ˛a´c pewn ˛a akcj˛e α, to tak ˛a sam ˛a akcj˛e musi mie´c mo˙zliwo´s´c podj ˛a´c agent F i na odwrót. Ponadto, para wyra˙ze´n otrzymanych

w wyniku wykonania tego samego przej´scia przez oba agenty musi równie˙z nale˙ze´c do rela-cji R. Relacja silnej bisymularela-cji równowa˙zy agenty, które wykazuj ˛a równowa˙zne zachowanie wewn˛etrzne i zewn˛etrzne. Para agentów pozostaj ˛acych w relacji silnej bisymulacji na´sladuje nawzajem swoje zachowanie.

Mo˙zna wykaza´c, ˙ze zło˙zenie i suma dwóch silnych bisymulacji oraz relacja odwrotna do relacji b˛ed ˛acej siln ˛a bisymulacj ˛a, równie˙z s ˛a silnymi bisymulacjami.

Definicja 6. Agenty E i F s ˛a silnie równowa˙zne (E ∼ F ), je˙zeli istnieje silna bisymulacja R taka, ˙ze (E, F ) ∈ R.

Dowodzenie istnienia relacji silnej bisymulacji mi˛edzy dwoma agentami jest realizowane przez analiz˛e ich drzew pochodnych. Rozwa˙zmy agenty A i C zdefiniowane nast˛epuj ˛aco:

A = a.A1 A1 = c.A B = b.B1 B1 = c.B C = a.C1+ b.C2 C1 = b.C3 C2 = a.C3 C3 = τ.C (3.23) a a b C3 C1 C2 (A|B)\c a a b (A1|B1)\c (A1|B)\c (A|B1)\c b b C τ τ

Rys. 3.6. Grafy pochodnych dla silnie równowa˙znych agentów

Agenty (A | B)\c i C s ˛a silnie równowa˙zne. Grafy pochodnych dla obu agentów przedsta-wiono na rys. 3.6.

Definicja 7. Relacj˛e R okre´slon ˛a na zbiorze Λ nazywamy kongruencj ˛a, gdy spełnia ona nast˛e-puj ˛ace warunki:

(1) R jest relacj ˛a równowa˙zno´sci;

(2) Je˙zeli E ∈ Λ, E0jest podwyra˙zeniem wyra˙zenia E i (E0, F0) ∈ R, to równie˙z (E, F ) ∈ R, gdzie wyra˙zenie F powstaje z wyra˙zenia E przez podstawienie F0 za E0.

Twierdzenie 1. Relacja silnej bisymulacji jest relacj ˛a kongruencji.

Z tw. 1 oraz def. 7 wynika, ˙ze po zast ˛apieniu fragmentu wyra˙zenia wyra˙zeniem mu silnie równowa˙znym, otrzymujemy wyra˙zenie silnie równowa˙zne do wyra˙zenia wyj´sciowego.

Niech Act oznacza zbiór słów nad alfabetem Act i niech t ∈ Act. Symbolem bt ∈ L (zbiór słów nad alfabetem L) oznaczamy słowo otrzymane z t, z którego usuni˛eto wszystkie wyst ˛apienia symbolu τ . W celu zdefiniowania relacji słabej bisymulacji rozwa˙za si˛e etykieto-wany system przej´s´c:

(E , L, {=⇒ : s ∈ Ls }), (3.24) gdzie relacja=⇒ zdefiniowana jest nast˛epuj ˛s aco:

Definicja 8. Je˙zeli t = α1. . . αn ∈ Act wówczas E =⇒ Et 0, je´sli: E(−→)τ α1

−→ (−→)τ . . . (−→)τ αn

−→ (−→)τ E0, (3.25) gdzie (−→)τ oznacza ci ˛ag (w szczególno´sci pusty) wyst ˛apie´n operacji τ .

Relacje−→,t =⇒ it bt

=⇒, dla t ∈ Act reprezentuj ˛a pewien ci ˛ag akcji z dokładnie t ˛a sam ˛a obserwowaln ˛a zawarto´sci ˛a jak t, ale z ró˙znymi mo˙zliwo´sciami interwencji akcji τ :

(1) → okre´sla dokładnie ile razy akcja τ pojawia si˛e w t;t (2) ⇒ okre´sla, ˙ze akcja τ mo˙ze si˛e pojawi´c w t;t

(3) bt

⇒ nie dostarcza ˙zadnych informacji na temat wyst ˛apie´n akcji τ .

Definicja 9. Relacj˛e dwuargumentow ˛a S ⊆ E ×E nazywamy (słab ˛a) bisymulacj ˛a, je˙zeli z tego, ˙ze (E, F ) ∈ R wynika, ˙ze dla wszystkich α ∈ Act, spełnione s ˛a warunki:

(1) E→ Eα 0 =⇒ ∃F0: F αb

⇒ F0 ∧ (E0, F0) ∈ S, (2) F → Fα 0 =⇒ ∃E0: E αb

⇒ E0∧ (E0, F0) ∈ S.

Definicja 10. Agenty E i F s ˛a obserwacyjnie równowa˙zne (E ≈ F ), je˙zeli istnieje bisymulacja S taka, ˙ze (E, F ) ∈ S.

Relacja słabej bisymulacji równowa˙zy agenty, które wykazuj ˛a równowa˙zne zachowanie obserwowalne na zewn ˛atrz. Relacja słabej bisymulacji nie jest relacj ˛a kongruencji.

Rozwa˙zmy agenty C i D zdefiniowane nast˛epuj ˛aco:

C = a.C1+ b.C2 C1 = b.C3 C2 = a.C3 C3 = τ.C D = a.D1+ b.D2 D1 = b.D D2 = a.D (3.26) a a b C3 C1 C2 b C τ a D D1 b a D2 b

Rys. 3.7. Grafy pochodnych dla słabo równowa˙znych i obserwacyjnie kongruentnych agentów

Grafy pochodnych dla rozwa˙zanych agentów przedstawiono na rys. 3.7. Agenty C i D s ˛a obserwacyjnie równowa˙zne, ale nie s ˛a silnie równowa˙zne, bo po wykonaniu akcji a i ¯b agent C b˛edzie mógł wykona´c akcj˛e τ , za´s D nie b˛edzie miał takiej mo˙zliwo´sci.

Relacja obserwacyjnej równowa˙zno´sci nie jest relacj ˛a kongruencji co mo˙ze by´c traktowane jako jej wada. Problemem jest tutaj mo˙zliwo´s´c wyst ˛apienia akcji τ jako pierwszej, np agenty a.0 + b.0 i τ.a.0 + b.0 nie s ˛a obserwacyjnie równowa˙zne. Wynika to z faktu, ˙ze po wykonaniu akcji τ drugi z agentów b˛edzie mógł ju˙z wykona´c tylko akcj˛e a, za´s pierwszy ci ˛agle b˛edzie miał wybór mi˛edzy a i b. Dla porównania obserwacyjna równowa˙zno´s´c zachodzi mi˛edzy agentami a.0 + b.0 i a.τ.0 + b.0. Zamiast obserwacyjnej równowa˙zno´sci cz˛esto rozpatruje si˛e relacj˛e obserwacyjnej kongruencji:

Definicja 11. Wyra˙zenia E i F nazywamy obserwowalnie kongruentnymi, E ≈c F , je˙zeli spełnione s ˛a warunki:

(2) E ⇒ Eτ 0 =⇒ ∃F0: F ⇒ Fτ 0∧ E0 ≈ F0, (3) F ⇒ Fτ 0 =⇒ ∃E0: E ⇒ Eτ 0∧ E0 ≈ F0.

Twierdzenie 2. Relacja obserwowalnej kongruencji jest relacj ˛a kongruencji.

Ka˙zde dwa agenty, który s ˛a silnie równowa˙zne, s ˛a równie˙z obserwacyjnie kongruentne. Ka˙zde dwa agenty, który s ˛a obserwacyjnie kongruentne, s ˛a równie˙z słabo równowa˙zne. Impli-kacje odwrotne nie s ˛a prawdziwe.

Rozwa˙zane wcze´sniej agenty C i D (zob. (3.26)) s ˛a obserwacyjnie kongruentne. Dla po-równania rozwa˙zny agenty C i D zdefiniowane nast˛epuj ˛aco:

C = a.C1+ b.C2 C1 = b.C3 C2 = a.C3 C3 = τ.C D = τ.D1 D1 = a.D2+ b.D3 D2 = b.D D3 = a.D (3.27) D b a D2 D3 D1 a b a a b C3 C1 C2 b C τ τ

Rys. 3.8. Grafy pochodnych dla słabo równowa˙znych agentów

Grafy pochodnych dla rozwa˙zanych agentów przedstawiono na rys. 3.8. Agenty C i D s ˛a słabo równowa˙zne, ale nie s ˛a obserwacyjnie kongruentne.

Warto zwróci´c uwag˛e na jeszcze jeden fakt istotny z punktu widzenia omawianych relacji równowa˙zno´sci. Rozwa˙zmy agenty A i B zdefiniowane nast˛epuj ˛aco:

A = a.A1 A1 = b.A2+ c.A3 A2 = 0 A3 = d.A B = a.B1+ a.B3 B1 = b.B2 B2 = 0 B3 = c.B4 B4 = d.B (3.28) A a A1 b A2 A3 c d a b d B B1 B2 B4 B3 c a

Rys. 3.9. Grafy pochodnych dla agentów A i B

Grafy pochodnych dla rozwa˙zanych agentów przedstawiono na rys. 3.9. Na przedstawio-ne agenty mo˙zna patrze´c jak na automaty sko´nczoprzedstawio-ne. Z punktu widzenia teorii automatów te dwa automaty s ˛a równowa˙zne, bo akceptuj ˛a ten sam j˛ezyk (opisany wyra˙zeniem regularnym

(acd)ab). Z punktu widzenia omawianych w tym podrozdziale relacji, agenty te nie s ˛a nawet obserwacyjnie równowa˙zne.

Relacje pozwalaj ˛ace porównywa´c agenty definiowane s ˛a równie˙z dla algebry TCCS. Pod-stawowa ró˙znica dotyczy tutaj uwzgl˛ednienie zmian stanu agenta w wyniku upływu czasu, np. relacja czasowej bisymulacji definiowana jest nast˛epuj ˛aco:

Definicja 12. Relacj˛e dwuargumentow ˛a R ⊆ ET× ET nazywamy czasow ˛a bisymulacj ˛a je˙zeli z tego, ˙ze (E, F ) ∈ R wynika, ˙ze dla wszystkich akcji α i opó´znie´n t, spełnione s ˛a warunki: (1) E→ Eα 0 =⇒ ∃F0: F → Fα 0 ∧ (E0, F0) ∈ R,

(2) F → Fα 0 =⇒ ∃E0: E → Eα 0∧ (E0, F0) ∈ R, (3) E Et 0 =⇒ ∃F0: F Ft 0 ∧ (E0, F0) ∈ R, (4) F Ft 0 =⇒ ∃E0: E Et 0∧ (E0, F0) ∈ R.

Przedstawiona definicja okre´sla siln ˛a czasow ˛a bisymulacj˛e. Mo˙zna zdefiniowa´c równie˙z słab ˛a czasow ˛a bisymulacj˛ei czasow ˛a obserwowaln ˛a równowa˙zno´s´c.

Na podstawie formalnych definicji bisymulacji wyprowadzono szereg praw (twierdze´n), które mo˙zna stosowa´c do wykazania, ˙ze dwa ró˙zne modele tego samego systemu s ˛a w rzeczy-wisto´sci równowa˙zne przy okre´slonej relacji równowa˙zno´sci. Wi˛ecej informacji na ten temat mo˙zna znale´z´c w monografiach [26, 57].

W celu przedstawienia przykładu zastosowania omawianych relacji porównywania agen-tów, rozwa˙zny model systemu sygnalizacji ´swietnej dla skrzy˙zowania przedstawionego na rys. 3.10. minor road sensor lights 2 1 1 major road

Rys. 3.10. Model skrzy˙zowania

W systemie tym domy´slnie sygnał zielony jest wy´swietlany dla drogi nr 1. Przeł ˛aczenie stanu sygnalizacji nast˛epuje w wyniku zbudzenia sensora (w modelu jest to reprezentowane przez akcj˛e press). Przyjmijmy nast˛epuj ˛ace oznaczenia akcji: l2Ron – wł ˛aczenie sygnału czerwonego na sygnalizatorze L2, l1Goff – wył ˛aczenie sygnału zielonego na sygnalizatorze L1itd. Traktuj ˛ac system jako cało´s´c, jego specyfikacj˛e mo˙zna przedstawi´c jak na listingu 3.4.

agent Lights1 = start.l2Ron.l1Gon.L;

agent L = press.l1Goff.l1Ron.l2Roff

.l2Gon.l2Goff.l2Ron.l1Roff.l1Gon.L;

Listing 3.4. Model systemu sygnalizacji ´swietlnej dla skrzy˙zowania z Rys. 3.10 – definicje agentów

Z drugiej strony, w systemie tym mo˙zna wyró˙zni´c elementy składowe: sensor i dwa sygna-lizatory. Mo˙zna wi˛ec zdefiniowa´c trzy agenty, a nast˛epnie u˙zy´c operatora zło˙zenia, aby stanowi-ły one jeden system. Uwzgl˛edniaj ˛ac dodatkowe wewn˛etrzne akcje niezb˛edne do synchronizacji poszczególnych agentów, system mo˙zna opisa´c jak na listingu 3.5.

agent StartSensor = reset.Sensor;

agent Sensor = press.’signal.reset.Sensor;

agent StartL1 = start.’synch1.synch2.l1Gon.’reset.L1;

agent L1 = signal.l1Goff.l1Ron.’l1.l2.l1Roff.l1Gon.’reset.L1;

agent StartL2 = synch1.l2Ron.’synch2.L2;

agent L2 = l1.l2Roff.l2Gon.l2Goff.l2Ron.’l2.L2;

set S = {l1, l2, signal, synch1, synch2, reset};

agent Lights2 = (StartL1|StartL2|StartSensor)\S;

Listing 3.5. Model systemu sygnalizacji ´swietlnej dla skrzy˙zowania z Rys. 3.10 – wersja rozbudowana

Stosuj ˛ac przedstawione w tym podrozdziale poj˛ecia mo˙zna wykaza´c, ˙ze agenty Lights1 i Lights2 s ˛a obserwowalnie kongruentne. Modele te nie s ˛a silnie równowa˙zne, gdy˙z wy-kazuj ˛a odmienne zachowanie wewn˛etrzne. Bior ˛ac jednak pod uwag˛e fakt, ˙ze akcje nale˙z ˛ace do zbioru S nie s ˛a widoczne z zewn ˛atrz, oba modele z punktu widzenia ich otoczenia zachowuj ˛a si˛e podobnie. Oba modele przedstawiono w formacie akceptowanym przez CWB, co pozwala na automatyczne sprawdzenie, ˙ze mi˛edzy modelami zachodzi wspomniana relacja. W analogiczny sposób mo˙zna konstruowa´c kolejne iteracje rozwijanego systemu i weryfikowa´c ich zgodno´s´c z modelem z poprzedniego etapu.

W dokumencie Index of /rozprawy2/10134 (Stron 34-39)

Powiązane dokumenty