Prozessalgebra - Programmierung und Softwaretechnik (PST ...
Prozessalgebra - Programmierung und Softwaretechnik (PST ...
Prozessalgebra - Programmierung und Softwaretechnik (PST ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Intention (£ ∈ P ): £<br />
♠ ❄<br />
♠ ❄¨<br />
3.4 Denotationelle Semantik 27<br />
• × = × .<br />
¢ ¥ ¢ ¨ ¨ ¥ ¢<br />
(¤ • ¤ 1, 2) (¤ für ¤ 1, 2) ∈ ¥ ×<br />
¨<br />
⇐⇒ ¤ 1 oder ¤ 2 .<br />
¢<br />
(¤ • ¤ 1, 2) (¤<br />
′<br />
−→ 1 ¤ , 2) <br />
¥<br />
in<br />
(¤ • ¤ 1, 2) (¤ −→ ¤<br />
′<br />
1, 2 ) <br />
¥<br />
in<br />
• £ ¥<br />
×<br />
¨<br />
= (£ ¥<br />
, £ ¨<br />
).<br />
×<br />
×<br />
¨ ¤ <br />
¥ ¤<br />
¨ ¤ ¤ <br />
¨<br />
′<br />
⇐⇒ 1 −→ 1 in .<br />
′<br />
⇐⇒ 2 −→ 2 in .<br />
Der Prozessgraph eines ACP-Prozesses<br />
D<br />
↦−→ Prozessgraph D(£ ) = £ <br />
(denotationelle Semantik).<br />
Dabei: ♠ ❄ ˆ= Anfangszustand,<br />
♠<br />
✲ ¨ ♠ ˆ= möglicher Zustandsübergang,<br />
♠<br />
ˆ= Verklemmungszustand,<br />
<br />
Endknoten ohne ˆ= Endzustand ≠ Verklemmung.<br />
Induktive Definition von £ für £ ∈ P :<br />
(D1) δ = ♠ <br />
❄<br />
(D2) ¨ =<br />
für ¨ ∈ A \ {δ}.<br />
(D3) £ , ∈ P ; Konstruktion von £ + aus £ <strong>und</strong> :<br />
• Identifiziere die beiden Wurzeln von £ <strong>und</strong> .<br />
• Markiere die jetzt gemeinsame Wurzel mit genau dann, wenn beide Wurzeln von<br />
£ <strong>und</strong> mit markiert sind.<br />
(D4) £ , ∈ P ; Konstruktion von £ aus £ <strong>und</strong> :<br />
• Identifiziere Endknoten von £ , die nicht mit markiert sind, mit der Wurzel £ von<br />
(mit Übernahme aller Kanten, die auf die Endknoten führen, <strong>und</strong> der eventuell<br />
vorhandenen Marke von £ ).<br />
• Hat £ keine derartigen Endknoten, so ist £ das Ergebnis.<br />
(D5) £ , ∈ P ; Konstruktion von £ ‖ aus £ <strong>und</strong> :<br />
• Bilde £ × (=: ).<br />
¡<br />
(¤ ¤ • (¤<br />
′<br />
Sind 1, 2) −→ 1 (¤ , ¤ 2) <strong>und</strong> (¤ 1, ¤<br />
′<br />
2) ¤ −→ 1, 2 ) ¨ Kanten in , <strong>und</strong> kommunizierend,<br />
so (¤ füge ¤ in eine Kante 1, 2) γ( )<br />
<br />
<br />
′ ′<br />
−→ ,¡ (¤ 1 , ¤ 2 ) ein.