To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
To model system implementations, we define the language of Simple Processes. In this language, systems are defined in the classical style of giving a separate program for each process. Process programs use send and receive actions that need to match during execution in order to achieve a communication. We discuss how implementations of choreographies from the previous chapter can be written in terms of this language. We also formulate in our setting the key properties of parallelism, communication safety, and starvation-freedom, respectively: the capability of executing independent communications in any order; the property that processes never attempt to interact by performing incompatible actions; and the property that every running process eventually gets to act.
We explore conservative extensions to Recursive Choreographies, which aim at making choreographies easier to read or to write. These extensions are given as syntactic sugar and include constructs for request-reply interactions, message destructuring, and distributed conditions.
We study the properties of Recursive Choreographies and its related notion of EPP in depth. Endpoint projection is proven to guarantee choreography compliance and communication safety in this setting. Starvation-freedom does not hold anymore in general, due to the possibilities opened by general recursion in Recursive Choreographies, but it holds for the tail-recursive fragment of the language. Under some reasonable assumptions, the weaker property of deadlock-freedom holds for any implementation returned by EPP. That is, the EPP of a choreography never gets stuck.
Concurrent and distributed systems based on message passing have become important drivers of our technological advancement. Their programming requires the integration of communicating processes, at the heart of which we find the notion of choreography: a document that prescribes the communications that processes should perform in order to reach a common goal. We say that a system has the property of choreography compliance if the interactions that take place among processes follow the agreed-upon choreography.
We introduce choreographic choice, another construct for choosing between alternative choreographies. Differently from conditionals, choreographic choices are not necessarily resolved by a single process but might require performing interactions instead.
We equip processes with the capabilities of storing values (memory) and performing local computation. The resulting choreographic and process languages are called, respectively, Stateful Choreographies and Stateful Processes. We update the notion of EPP to these new languages.
The syntax of choreographies is enhanced with the possibility of writing and invoking recursive procedures, yielding the language of Recursive Choreographies. This opens the door to modelling protocols that allow for retries and data streams of unbounded length. The language of process implementations and the notion of EPP are updated accordingly.
We introduce endpoint projection (EPP), a translation of choreographies into implementations given in terms of compositions of processes. Endpoint projection is proven to guarantee choreography compliance by establishing a correspondence between the semantics of source choreographies and their corresponding implementations returned by EPP for them. Choreographies can be seen as descriptions of desired emergent behaviour for communicating processes. Endpoint projection is a way to obtain processes that will collectively implement the desired emergent behaviour. Building on the correctness of EPP and the properties of choreographies, we prove that the implementations generated by EPP are always communication-safe and starvation-free.
We extend our choreographic and process languages with conditionals (if-then-else). The introduction of conditionals has deep ramifications for the theory of EPP since it makes it possible to write choreographies where processes do not have enough information to know what they are supposed to do. This is known as knowledge of choice. We study principles for the transmission of knowledge and extend EPP to address knowledge of choice.
In concurrent and distributed systems, processes can complete tasks together by playing their parts in a joint plan. The plan, or protocol, can be written as a choreography: a formal description of overall behaviour that processes should collaborate to implement, like authenticating a user or purchasing an item online. Formality brings clarity, but not only that. Choreographies can contribute to important safety and liveness properties. This book is an ideal introduction to theory of choreographies for students, researchers, and professionals in computer science and applied mathematics. It covers languages for writing choreographies and their semantics, and principles for implementing choreographies correctly. The text treats the study of choreographies as a discipline in its own right, following a systematic approach that starts from simple foundations and proceeds to more advanced features in incremental steps. Each chapter includes examples and exercises aimed at helping with understanding the theory and its relation to practice.
Chapter 10, in contrast to all the previous chapters that focused on the performance of the downlink, analyzes the performance of the uplink of an ultra-dense network. Importantly, this chapter shows that the phenomena presented in – and the conclusions derived from – all the previous chapters also apply to the uplink, despite its different features, e.g. uplink transmit power control, inter-cell interference source distribution. System-level simulations are used in this chapter to conduct the study.