- 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: $$