Un'altro combinatore che internalizza le azioni, ma agendo in modo
differente dalla restrizione, è l'hiding. Dato un
processo P, supponiamo di voler "nascondere" le azioni indicate
nell'insieme L, cioè vogliamo che esse siano rese invisibili
ad ogni osservatore esterno al sistema. Allora con
(P
hiding L) qualsiasi
diventa un'azione interna
.
Questo operatore statico è essenziale per ridurre la complessità di sistemi molto grandi perché è possibile minimizzarne la dimensione rimuovendo le azioni interne ottenute con l'hiding. In genere viene applicato a processi composti e le sue regole di transizione sono:
Si osserva che, mentre la restrizione preserva il determinismo,
non accade altrettanto per l'hiding. Questo avviene perché se
un processo deterministico ha già una
-derivazione, con
l'hiding se ne può inserire un'altra che crea un cammino
differente. Ad esempio in
se aggiungiamo
, una
stessa azione silente iniziale porta a due computazioni diverse
(non determinismo).
Esempio Bill-Ben 7: Quando abbiamo visto il parallelismo
, l'azione finale
era
visibile. Un modo per renderla interna è quello di aggiungere
l'operatore
e quindi l'ultima azione sarà
.
Morpheus 2004-02-10