Un modo naturale di considerare due sistemi equivalenti consiste nel vedere se possono eseguire le stesse sequenze di azioni visibili, astraendo in questo modo dalle azioni interne (invisibili) di un sistema: cioè, due processi sono equivalenti se consentono lo stesso insieme di sequenze di azioni.
Possiamo ora introdurre il concetto di equivalenza di traccia:
Analogamente, P e Q si dicono debolmente equivalenti di
traccia,
se
La differenza tra queste due equivalenze risiede nel modo di
interpretare le azioni invisibili
: nel caso
dell'equivalenza forte le azioni
sono viste al pari delle
altre azioni visibili, mentre nell'equivalenza debole vengono
usate, al posto delle derivazioni, le discendenze: una
discendenza è una derivazione debole in cui si possono
eseguire zero o più azioni
all'interno della traccia di
azioni visibili
.
L'equivalenza
è quella che viene ormai utilizzata da
tempo nella teoria degli automi e dei linguaggi: infatti, vengono
identificati come equivalenti processi che possono generare lo
stesso linguaggio (insieme di stringhe sull'alfabeto dato);
considerando però sistemi che interagiscono con l'ambiente
esterno, diventa importante sapere se certe comunicazioni avranno
sempre luogo oppure se esiste la possibilità di deadlock: la trace
equivalence non consente di differenziare sistemi con
comportamenti diversi in questo senso. Cerchiamo di chiarire
quanto detto con un esempio: si vede che
però, mentre nel primo
processo si esegue sempre l'azione visibile
, nel secondo
caso con un'azione interna (e quindi una sequenza visibile
) si raggiunge proprio uno stato di deadlock, in
quanto tutte le azioni esterne sono proibite.
Un'altro fatto è di notevole importanza: si vede facilmente che
. É infatti intuitivo vedere che non ci sono
modo per distinguere questi due processi considerando solo le
azioni che possono eseguire: i due processi hanno le medesime
traccie (
e
) ma nel processo di
destra, una volta eseguita l'azione iniziale
si può fare
solo una delle due transazioni, mentre nel caso di sinistra si ha
ancora la possibilità di scegliere. Questo significa che
l'equivalenza vale negli stati iniziali, ma non più negli stati
raggiunti successivamente.
Una nota a suo favore va comunque fatta: l'equivalenza di traccia è preservata da tutti gli operatori di base ed è perciò una congruenza: questa affermazione vedremo non sarà sempre vero ed alcune equivalenze "più importanti", non preservate dalla somma, dovranno essere ridefinite perchè questa proprietà sia verificata.
Morpheus 2004-02-10