## Section: New Results

### Expressiveness of Concurrent formalisms

One of the most pressing questions in Concurrency is how the several languages and models that have been proposed compare to each other, and, in particular, which ones are the most suitable to capture the nature of concurrent and distributed computation. We have investigated the expressive power of various formalisms wrt to some of the key aspects of concurrency.

#### Synchronous vs Asynchronous Communication

One of the early results about the asynchronous -calculus which significantly contributed to its popularity is the capability of encoding the output prefix of the (choiceless) -calculus in a natural and elegant way. Encodings of this kind were proposed by Honda and Tokoro [64] , by Nestmann [75] and (independently) by Boudol [42] . In [18] , [11] , we have investigated whether the above encodings preserve De Nicola and Hennessy's testing semantics. It turns out that, under some general conditions, no encoding of output prefix is able to preserve the must testing. This negative result is due to (a) the non atomicity of the sequences of steps which are necessary in the asynchronous -calculus to mimic synchronous communication, and (b) testing semantics's sensitivity to divergence.

#### Replication vs Recursion

Another line of investigation has been represented by the comparison
between various forms of recursion and replication in concurrent
calculi. We have noted that the expressive power of recursion, and in
particular whether or not it can be encoded by replication,
depends critically on the notion of *scope* adopted for channel names. In
[30] we have surveyed various definitions of
scope proposed in literature, and we have discussed their impact on
the expressiveness of recursion.

#### Linearity vs Persistence

Finally, in [29] we have compared the expressive power of linear and persistent communication. We have consider four fragments of the -calculus, corresponding to combinations of linearity/persistence also present in other frameworks such as Concurrent Constraint Programming and several calculi for security. The study is presented by providing (or proving the non-existence of) encodings among the fragments, a processes-as-formulae interpretation and a reduction from Minsky machines.

#### Distributed Agreement

In [28] we have systematized
a collection of results on the expressiveness of process calculi
obtained by the means of impossibility results in the field of distributed
computing. In particular, we have focused on the
*symmetric leader election problem*
which allows to classify languages based on their capability of
achieving a distributed agreement.

#### Fairness

In [17] we have defined fair computations in the -calculus. We have followed Costa and Stirling's approach for CCS-like languages [53] , [54] but exploited a more natural labeling method of process actions to filter out unfair process executions. The new labeling allowed us to prove all the significant properties of the original one, such as unicity, persistence and disappearance of labels. It also turned out that the labeled -calculus is a conservative extension of the standard one. We contrasted the existing fair testing [44] , [74] with those that naturally arise by imposing weak and strong fairness. This comparison provides the expressiveness of the various fair testing-based semantics and emphasizes the discriminating power of the one already proposed in the literature.

#### CCS with Replication and Grammars

In [34] we have explored the expressiveness of CCS
with replication (CCSr) w.r.t. the
existence of faithful encodings of models of computability
*strictly less* expressive than Turing Machines. Namely, grammars
of types 1,2 and 3 in the Chomsky Hierarchy. We have defined the language
generated by a process as the set of finite maximal sequences of
visible actions the process can perform. We have captured the
notion of faithful encoding by restricting the co-domain of the
encodings to a sub-class CCSr-w of CCSr processes. This restriction
prevents language preserving encodings from adding non-terminating
computations which do not correspond to the derivations of the encoded
grammar. We have provided a language preserving encoding of type 3
grammars (Regular Languages) into CCSr-w. We then have showed that it is
impossible to provide a language preserving encoding of type 2
grammars (Context Free Languages) into CCSr-w. We have showed that CCSr-w
can generate languages which are not type 2. We finally have showed that the
languages generated by CCSr-w processes are type 1 (Context Sensitive
Languages). The impossibility result is rather surprising since it
implies that the restriction of CCSr to CCSr-w processes renders an
otherwise Turing powerful formalism into one that cannot encode
Context-Free grammars.