30 lines
No EOL
1.3 KiB
Markdown
30 lines
No EOL
1.3 KiB
Markdown
- Up to now, we have considered non-deterministic processes
|
||
- Two main features are missing for modeling a concurrent system:
|
||
- Simultaneous execution of processes
|
||
- Inter-process interaction
|
||
|
||
- Solutions adopted:
|
||
- Parallel composition, with interleaving semantics
|
||
- Producer/consumer paradigm
|
||
|
||
Given a set of names N (that denote events)
|
||
- a (∈ N) denotes consumption of event a
|
||
- $\bar{a}$ (for a ∈ N) denotes production of event a
|
||
- a and $\bar{a}$ are complementary actions: they let two parallel processes synchronize on the event a
|
||
|
||
When two processes synchronize, an external observer has no way of understanding what is happening in the system
|
||
- synchronization is not observable from the outside; it produces a special ‘silent’ action, that we denote with τ
|
||
|
||
The set of actions we shall consider is: 
|
||
|
||
It is also useful to force some processes of the system to synchronize between them (without the possibility of showing to the outside some actions)
|
||
|
||
The restriction operator P\a restricts the scope of name a to process P (a is visible only from within P)
|
||
|
||
This is similar to local variables in a procedure of an imperative program
|
||
|
||

|
||
|
||

|
||
|
||
fino alla 7 compresa... |