University of Groningen
Session-based concurrency: between operational and declarative views
Cano Grijalba, Mauricio
DOI:
10.33612/diss.108552669
IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish to cite from it. Please check the document version below.
Document Version
Publisher's PDF, also known as Version of record
Publication date: 2020
Link to publication in University of Groningen/UMCG research database
Citation for published version (APA):
Cano Grijalba, M. (2020). Session-based concurrency: between operational and declarative views. University of Groningen. https://doi.org/10.33612/diss.108552669
Copyright
Other than for strictly personal use, it is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license (like Creative Commons).
Take-down policy
If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim.
Downloaded from the University of Groningen/UMCG research database (Pure): http://www.rug.nl/research/portal. For technical reasons the number of authors shown on this cover page is limited to 10 maximum.
Stellingen
behorende bij het proefschrift
Session-Based Concurrency: Between Operational and
Declarative Views
van
Mauricio Alejandro Cano Grijalba
1. Session-based concurrency is a powerful verification technique for commu-nication correctness in message-passing systems. While it appropriately expresses operational requirements, it does not often consider declarative requirements such as time and partial information. [Chapter 1]
2. Encodings are translations from terms of a source language into terms of a target language. They have been widely used to compare calculi for con-currency. Correct encodings can also be used to articulate a unified view for the analysis of message-passing systems. [Chapter 1]
3. Although there are many conceivable correctness criteria for encodings, one must be careful when selecting which ones are used because not all of them serve every purpose. [Chapter 3]
4. When relating operational and declarative languages three correctness cri-teria are indispensable: name invariance, compositionality, and operational correspondence (divided into completeness and soundness). [Part II, Part III]
5. Advanced session type systems can be a blessing and a curse: they can express complex communication patterns that appear in realistic settings; however, well-typed π-calculus processes implementing these patterns can-not always be compiled down into declarative specifications. [Chapter 3] 6. A unified view for the analysis of message-passing systems requires
lim-iting session type systems when they are overly expressive. The result-ing type systems can elegantly characterize sub-classes of well-typed π-calculus programs that can be correctly compiled into declarative specifi-cations. [Chapter 3]
7. Partial information in concurrent systems can be appropriately represented by constraint-based languages. In particular, lcc is well-suited to enhance
session-based specifications with partial information. [Part II]
8. ReactiveML, a synchronous reactive language, can easily represent session-based concurrency by modeling communication channels as events associ-ated to values. ReactiveML is well-suited to enhance session-based speci-fications by describing protocols with explicit reactions to events and time instants. [Part III]
9. In proving operational correspondence for encodings of operational lan-guages into declarative lanlan-guages such as lcc and ReactiveML, complete-ness proofs are often straightforward. Soundcomplete-ness proofs are much more challenging: one needs to establish invariants on the structure of translated terms to ensure that these terms correctly reflect the behavior of source terms. [Part II, Part III]
10. Encodings of π-calculi with binary sessions into ReactiveML follow an in-tuitive strategy that slices session synchronizations into time instants. This strategy does not scale up to multiparty sessions because synchronizations between multiple partners cannot be sliced into instants without inducing message loss. [Part IV]
11. The synchronous reactive features in Multiparty Reactive Sessions enable the analysis of session fidelity and communication correctness, but also al-lows us to address two new properties: output persistence and input time-liness. These properties ensure liveness for communication protocols in the presence of time instants and events. [Part IV]
12. Developing correct encodings is an art. It requires time and dedication. Nowadays, even art can be computer-generated. Hence, we must also think about the role that mechanizing the metatheory of programming languages could play when defining encodings and establishing their correctness.