- 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: ![150](../../Pasted%20image%2020250414102733.png)