Jorge A. Pérez 0001

dblp:p/JorgeAPerez · also Jorge Andrés Pérez · DBLP profile ↗
← Back
56ranked-venue papers
5as first author
25since 2021 · last 2026
0000-0002-1452-6180ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 33 · 3 first-author · 15 since 2021Theory of computation · 32 · 3 first-author · 13 since 2021Computer networks · 5 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2026 Deadlock-Free Context-Free Session Types
Andreia Mordido, Jorge A. Pérez 0001
FORTE2
2025 Contrasting Deadlock-Free Session Processes
abstract
Deadlock freedom is a crucial property for message-passing programs. Over the years, several different type systems for concurrent processes that ensure deadlock freedom have been proposed; this diversity raises the question of how they compare. We address this question, considering two type systems not covered in prior work: Kokke et al.’s HCP, a type system based on a linear logic with hypersequents, and Padovani’s priority-based type system for asynchronous processes, dubbed 𝖯. Their distinctive features make formal comparisons relevant and challenging. Our findings are two-fold: (1) the hypersequent setting does not drastically change the class of deadlock-free processes induced by linear logic, and (2) we relate the classes of deadlock-free processes induced by HCP and 𝖯. We prove that our results hold under both synchronous and asynchronous communication. Our results provide new insights into the essential mechanisms involved in statically avoiding deadlocks in concurrency.
Juan C. Jaramillo, Jorge A. Pérez 0001
ECOOP2
2025 Preface to special issue: EXPRESS/SOS 2019 and EXPRESS/SOS 2020
Ornela Dardha, Jorge A. Pérez 0001, Jurriaan Rot
Inf. Comput.2
2025 Comparing session type systems derived from linear logic
abstract
Session types are a typed approach to message-passing concurrency, where types describe sequences of intended exchanges over channels. Session type systems have been given strong logical foundations via Curry-Howard correspondences with linear logic, a resource-aware logic that naturally captures structured interactions. These logical foundations provide an elegant framework to specify and (statically) verify message-passing processes. In this paper, we rigorously compare different type systems for concurrency derived from the Curry-Howard correspondence between linear logic and session types. We address the main divide between these type systems: the classical and intuitionistic presentations of linear logic. Over the years, these presentations have given rise to separate research strands on logical foundations for concurrency; the differences between their derived type systems have only been addressed informally. To formally assess these differences, we develop πULL, a session type system that encompasses type systems derived from classical and intuitionistic interpretations of linear logic. Based on a fragment of Girard's Logic of Unity, πULL provides a basic reference framework: we compare existing session type systems by characterizing fragments of πULL that coincide with classical and intuitionistic formulations. We analyze the significance of our characterizations by considering the locality principle (enforced by intuitionistic interpretations but not by classical ones) and forms of process composition induced by the interpretations.
Bas van den Heuvel 0001, Jorge A. Pérez 0001
J. Log. Algebraic Methods Program.2
2024 Around Classical and Intuitionistic Linear Processes
abstract
Curry-Howard correspondences between Linear Logic (LL) and session types provide a firm foundation for concurrent processes. As the correspondences hold for intuitionistic and classical versions of LL (ILL and CLL), we obtain two different families of type systems for concurrency. An open question remains: how do these two families exactly relate to each other? Based upon a translation from CLL to ILL due to Laurent, we provide two complementary answers, in the form of full abstraction results based on a typed observational equivalence due to Atkey. Our results elucidate hitherto missing formal links between seemingly related yet different type systems for concurrency.
Juan C. Jaramillo, Daniil Frumin, Jorge A. Pérez 0001
CONCUR3
2024 Minimal session types for the π-calculus
abstract
Session types are a type-based approach to correct message-passing programs. A session type specifies a channel's protocol as sequences of exchanges. Aiming to uncover the essential notions of session-based concurrency, prior work defined minimal session types (MSTs), a formulation of session types without the sequentiality construct, and showed a minimality result : every process typable with standard session types can be transformed into a process typable using MSTs. Such a minimality result was proven for a higher-order session π -calculus, in which values are abstractions (functions from names to processes). In this paper, we study MSTs but now for the session π -calculus, the (first-order) language in which values are names and for which session types have been more widely studied. We first show that a new minimality result can be obtained by composing known results. Then, we develop optimizations of this new minimality result and prove also a dynamic correctness guarantee.
Alen Arslanagic, Jorge A. Pérez 0001, Anda-Amelia Palamariuc
Inf. Comput.2
2024 Asynchronous Session-Based Concurrency: Deadlock-freedom in Cyclic Process Networks
abstract
We tackle the challenge of ensuring the deadlock-freedom property for message-passing processes that communicate asynchronously in cyclic process networks. Our contributions are twofold. First, we present Asynchronous Priority-based Classical Processes (APCP), a session-typed process framework that supports asynchronous communication, delegation, and recursion in cyclic process networks. Building upon the Curry-Howard correspondences between linear logic and session types, we establish essential meta-theoretical results for APCP, most notably deadlock freedom. Second, we present a new concurrent $\lambda$-calculus with asynchronous session types, dubbed LASTn. We illustrate LASTn by example and establish its meta-theoretical results; in particular, we show how to soundly transfer the deadlock-freedom guarantee from APCP. To this end, we develop a translation of terms in LASTn into processes in APCP that satisfies a strong formulation of operational correspondence.
Bas van den Heuvel 0001, Jorge A. Pérez 0001
Log. Methods Comput. Sci.2
2023 Typed Non-determinism in Functional and Concurrent Calculi
Bas van den Heuvel 0001, Joseph W. N. Paulus, Daniele Nantes Sobrinho, Jorge A. Pérez 0001
APLAS4
2023 Termination in Concurrency, Revisited
abstract
Termination is a central property in sequential programming models: a term is terminating if all its reduction sequences are finite. Termination is also important in concurrency in general, and for message-passing programs in particular. A variety of type systems that enforce termination by typing have been developed. In this paper, we rigorously compare several type systems for π -calculus processes from the unifying perspective of termination. Adopting session types as reference framework, we consider two different type systems: one follows Deng and Sangiorgi’s weight-based approach; the other is Caires and Pfenning’s Curry-Howard correspondence between linear logic and session types. Our technical results precisely connect these very different type systems, and shed light on the classes of client/server interactions they admit as correct.
Joseph W. N. Paulus, Jorge A. Pérez 0001, Daniele Nantes Sobrinho
PPDP2
2023 Monitoring Blackbox Implementations of Multiparty Session Protocols
Bas van den Heuvel 0001, Jorge A. Pérez 0001, Rares A. Dobre
RV2
2023 Bit-Vector Typestate Analysis
abstract
Static analyses based on typestates are important in certifying correctness of code contracts. Such analyses rely on Deterministic Finite Automata (DFAs) to specify properties of an object. We target the analysis of contracts in low-latency environments, where many useful contracts are impractical to codify as DFAs and/or the size of their associated DFAs leads to sub-par performance. To address this bottleneck, we present a lightweight compositional typestate analyzer, based on an expressive specification language that can succinctly specify code contracts. By implementing it in the static analyzer Infer , we demonstrate considerable performance and usability benefits when compared to existing techniques. A central insight is to rely on a sub-class of DFAs whose analysis uses efficient bit-vector operations.
Alen Arslanagic, Pavle Subotic, Jorge A. Pérez 0001
Formal Aspects Comput.3
2023 Session-based concurrency in Maude: Executable semantics and type checking
abstract
Session types are a well-established approach to communication correctness in message-passing processes. Widely studied from a process calculi perspective, here we pursue an unexplored strand and investigate the use of the Maude system for implementing session-typed process languages and reasoning about session-typed process specifications. We present four technical contributions. First, we develop and implement in Maude an executable specification of the operational semantics of a session-typed π-calculus by Vasconcelos. Second, we also develop an executable specification of its associated algorithmic type checking, and describe how both specifications can be integrated. Third, we show that our executable specification can be coupled with reachability and model checking tools in Maude to detect well-typed but deadlocked processes. Finally, we demonstrate the robustness of our approach by adapting it to a higher-order session π-calculus, in which exchanged values include names but also abstractions (functions from names to processes). All in all, our contributions define a promising new approach to the (semi)automated analysis of communication correctness in message-passing concurrency.
Carlos Ramírez 0002, Juan C. Jaramillo, Jorge A. Pérez 0001
J. Log. Algebraic Methods Program.3
2023 Non-Deterministic Functions as Non-Deterministic Processes (Extended Version)
abstract
We study encodings of the lambda-calculus into the pi-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider lambdafail, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider spi, a pi-calculus in which non-determinism and failure rest upon a Curry-Howard correspondence between linear logic and session types. We present a typed encoding of lambdafail into spi and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in lambdafail via typed processes in spi. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction protocols.
Joseph W. N. Paulus, Daniele Nantes Sobrinho, Jorge A. Pérez 0001
Log. Methods Comput. Sci.3
2022 Scalable Typestate Analysis for Low-Latency Environments
Alen Arslanagic, Pavle Subotic, Jorge A. Pérez 0001
IFM3
2022 Session-based concurrency, declaratively
abstract
Abstract Session-based concurrencyis a type-based approach to the analysis of message-passing programs. These programs may be specified in anoperationalordeclarativestyle: the former defines how interactions are properly structured; the latter defines governing conditions for correct interactions. In this paper, we study rigorous relationships between operational and declarative models of session-based concurrency. We develop a correct encoding of session $$\pi $$ π -calculus processes into the linear concurrent constraint calculus ( $$\texttt {lcc}$$ lcc ), a declarative model of concurrency based on partial information (constraints). We exploit session types to ensure that our encoding satisfies precise correctness properties and that it offers a sound basis on which operational and declarative requirements can be jointly specified and reasoned about. We demonstrate the applicability of our results by using our encoding in the specification of realistic communication patterns with time and contextual information.
Mauricio Cano, Hugo A. López 0001, Jorge A. Pérez 0001, Camilo Rueda
Acta Informatica3
2022 Comparing type systems for deadlock freedom
abstract
Message-passing software systems exhibit non-trivial forms of concurrency and distribution; they are expected to follow intended protocols among communicating services, but also to never “get stuck”. This intuitive requirement has been expressed by liveness properties such as progress or (dead)lock freedom and various type systems ensure these properties for concurrent processes. Unfortunately, very little is known about the precise relationship between these type systems and the classes of typed processes they induce. This paper puts forward the first comparative study of different type systems for message-passing processes that guarantee deadlock freedom. We compare two classes of deadlock-free typed processes, here denoted L and K. The class L stands out for its canonicity: it results from Curry-Howard interpretations of classical linear logic propositions as session types. The class K, obtained by encoding session types into Kobayashi's linear types with usages, includes processes not typable in other type systems. We show that L is strictly included in K, and identify the precise conditions under which they coincide. We also provide two type-preserving translations of processes in K into processes in L.
Ornela Dardha, Jorge A. Pérez 0001
J. Log. Algebraic Methods Program.2
2022 A bunch of sessions: a propositions-as-sessions interpretation of bunched implications in channel-based concurrency
abstract
The emergence of propositions-as-sessions, a Curry-Howard correspondence between propositions of Linear Logic and session types for concurrent processes, has settled the logical foundations of message-passing concurrency. Central to this approach is the resource consumption paradigm heralded by Linear Logic. In this paper, we investigate a new point in the design space of session type systems for message-passing concurrent programs. We identify O’Hearn and Pym’s Logic of Bunched Implications (BI) as a fruitful basis for an interpretation of the logic as a concurrent programming language. This leads to a treatment of non-linear resources that is radically different from existing approaches based on Linear Logic. We introduce a new π-calculus with sessions, called πBI; its most salient feature is a construct called spawn, which expresses new forms of sharing that are induced by structural principles in BI. We illustrate the expressiveness of πBI and lay out its fundamental theory: type preservation, deadlock-freedom, and weak normalization results for well-typed processes; an operationally sound and complete typed encoding of an affine λ-calculus; and a non-interference result for access of resources.
Daniil Frumin, Emanuele D'Osualdo, Bas van den Heuvel 0001, Jorge A. Pérez 0001
Proc. ACM Program. Lang.4
2022 A decentralized analysis of multiparty protocols
abstract
Protocols provide the unifying glue in concurrent and distributed software today; verifying that message-passing programs conform to such governing protocols is important but difficult. Static approaches based on multiparty session types (MPST) use protocols as types to avoid protocol violations and deadlocks in programs. An elusive problem for MPST is to ensure both protocol conformance and deadlock-freedom for implementations with interleaved and delegated protocols. We propose a decentralized analysis of multiparty protocols, specified as global types and implemented as interacting processes in an asynchronous π-calculus. Our solution rests upon two novel notions: router processes and relative types. While router processes use the global type to enable the composition of participant implementations in arbitrary process networks, relative types extract from the global type the intended interactions and dependencies between pairs of participants. In our analysis, processes are typed using APCP, a type system that ensures protocol conformance and deadlock-freedom with respect to binary protocols, developed in prior work. Our decentralized, router-based analysis enables the sound and complete transference of protocol conformance and deadlock-freedom from APCP to multiparty protocols.
Bas van den Heuvel 0001, Jorge A. Pérez 0001
Sci. Comput. Program.2
2022 Session Coalgebras: A Coalgebraic View on Regular and Context-free Session Types
abstract
Compositional methods are central to the verification of software systems. For concurrent and communicating systems, compositional techniques based on behavioural type systems have received much attention. By abstracting communication protocols as types, these type systems can statically check that channels in a program interact following a certain protocol—whether messages are exchanged in the intended order. In this article, we put on our coalgebraic spectacles to investigate session types , a widely studied class of behavioural type systems. We provide a syntax-free description of session-based concurrency as states of coalgebras. As a result, we rediscover type equivalence, duality, and subtyping relations in terms of canonical coinductive presentations. In turn, this coinductive presentation enables us to derive a decidable type system with subtyping for the π-calculus, in which the states of a coalgebra will serve as channel protocols. Going full circle, we exhibit a coalgebra structure on an existing session type system, and show that the relations and type system resulting from our coalgebraic perspective coincide with existing ones. We further apply to session coalgebras the coalgebraic approach to regular languages via the so-called rational fixed point, inspired by the trinity of automata, regular languages, and regular expressions with session coalgebras, rational fixed point, and session types, respectively. We establish a suitable restriction on session coalgebras that determines a similar trinity, and reveals the mismatch between usual session types and our syntax-free coalgebraic approach. Furthermore, we extend our coalgebraic approach to account for context-free session types, by equipping session coalgebras with a stack.
Alex C. Keizer, Henning Basold, Jorge A. Pérez 0001
ACM Trans. Program. Lang. Syst.3
2021 Session Coalgebras: A Coalgebraic View on Session Types and Communication Protocols
abstract
Abstract Compositional methods are central to the development and verification of software systems. They allow breaking down large systems into smaller components, while enabling reasoning about the behaviour of the composed system. For concurrent and communicating systems, compositional techniques based on behavioural type systems have received much attention. By abstracting communication protocols as types, these type systems can statically check that programs interact with channels according to a certain protocol, whether the intended messages are exchanged in a certain order. In this paper, we put on our coalgebraic spectacles to investigate session types, a widely studied class of behavioural type systems. We provide a syntax-free description of session-based concurrency as states of coalgebras. As a result, we rediscover type equivalence, duality, and subtyping relations in terms of canonical coinductive presentations. In turn, this coinductive presentation makes it possible to elegantly derive a decidable type system with subtyping for $$\pi $$ π -calculus processes, in which the states of a coalgebra will serve as channel protocols. Going full circle, we exhibit a coalgebra structure on an existing session type system, and show that the relations and type system resulting from our coalgebraic perspective agree with the existing ones.
Alex C. Keizer, Henning Basold, Jorge A. Pérez 0001
ESOP3
2021 Non-Deterministic Functions as Non-Deterministic Processes
abstract
We study encodings of the λ-calculus into the π-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider λ^↯_⊕, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider sπ, a π-calculus in which non-determinism and failure rest upon a Curry-Howard correspondence between linear logic and session types. We present a typed encoding of λ^↯_⊕ into sπ and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in λ^↯_⊕ via typed processes in sπ. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction protocols.
Joseph W. N. Paulus, Daniele Nantes Sobrinho, Jorge A. Pérez 0001
FSCD3
2021 Minimal Session Types for the π-calculus
abstract
Session types enable the static verification of message-passing programs. A session type specifies a channel’s protocol as sequences of messages. Prior work established a minimality result: every process typable with standard session types can be compiled down to a process typable using minimal session types: session types without the sequencing construct. This result justifies session types in terms of themselves; it holds for a higher-order session π-calculus, where values are abstractions (functions from names to processes).
Alen Arslanagic, Anda-Amelia Palamariuc, Jorge A. Pérez 0001
PPDP3
2021 Preface to Special Issue: EXPRESS/SOS 2018
Jorge A. Pérez 0001, Simone Tini
Inf. Comput.1
2021 On primitives for compensation handling as adaptable processes
Jovana Dedeic, Jovanka Pantovic, Jorge A. Pérez 0001
J. Log. Algebraic Methods Program.3
2021 Causal Consistency for Reversible Multiparty Protocols
abstract
In programming models with a reversible semantics, computational steps can be undone. This paper addresses the integration of reversible semantics into process languages for communication-centric systems equipped with behavioral types. In prior work, we introduced a monitors-as-memories approach to seamlessly integrate reversible semantics into a process model in which concurrency is governed by session types (a class of behavioral types), covering binary (two-party) protocols with synchronous communication. The applicability and expressiveness of the binary setting, however, is limited. Here we extend our approach, and use it to define reversible semantics for an expressive process model that accounts for multiparty (n-party) protocols, asynchronous communication, decoupled rollbacks, and abstraction passing. As main result, we prove that our reversible semantics for multiparty protocols is causally-consistent. A key technical ingredient in our developments is an alternative reversible semantics with atomic rollbacks, which is conceptually simple and is shown to characterize decoupled rollbacks.
Claudio Antares Mezzina, Jorge A. Pérez 0001
Log. Methods Comput. Sci.2
2019 Domain-Aware Session Types
abstract
We develop a generalization of existing Curry-Howard interpretations of (binary) session types by relying on an extension of linear logic with features from hybrid logic, in particular modal worlds that indicate domains. These worlds govern domain migration, subject to a parametric accessibility relation familiar from the Kripke semantics of modal logic. The result is an expressive new typed process framework for domain-aware, message-passing concurrency. Its logical foundations ensure that well-typed processes enjoy session fidelity, global progress, and termination. Typing also ensures that processes only communicate with accessible domains and so respect the accessibility relation. Remarkably, our domain-aware framework can specify scenarios in which domain information is available only at runtime; flexible accessibility relations can be cleanly defined and statically enforced. As a specific application, we introduce domain-aware multiparty session types, in which global protocols can express arbitrarily nested sub-protocols via domain migration. We develop a precise analysis of these multiparty protocols by reduction to our binary domain-aware framework: complex domain-aware protocols can be reasoned about at the right level of abstraction, ensuring also the principled transfer of key correctness properties from the binary to the multiparty setting.
Luís Caires, Jorge A. Pérez 0001, Frank Pfenning, Bernardo Toninho
CONCUR2
2019 Minimal Session Types (Pearl)
abstract
Session types are a type-based approach to the verification of message-passing programs. They have been much studied as type systems for the pi-calculus and for languages such as Java. A session type specifies what and when should be exchanged through a channel. Central to session-typed languages are constructs in types and processes that specify sequencing in protocols. Here we study minimal session types, session types without sequencing. This is arguably the simplest form of session types. By relying on a core process calculus with sessions and higher-order concurrency (abstraction-passing), we prove that every process typable with standard (non minimal) session types can be compiled down into a process typed with minimal session types. This means that having sequencing constructs in both processes and session types is redundant; only sequentiality in processes is indispensable, as it can precisely codify sequentiality in types. Our developments draw inspiration from work by Parrow on behavior-preserving decompositions of untyped processes. By casting Parrow’s results in the realm of typed processes, our results reveal a conceptually simple formulation of session types and a principled avenue to the integration of session types into languages without sequencing in types.
Alen Arslanagic, Jorge A. Pérez 0001, Erik Voogd
ECOOP2
2019 On the relative expressiveness of higher-order session processes
abstract
By integrating constructs from the λ-calculus and the π-calculus, in higher-order process calculi exchanged values may contain processes. This paper studies the relative expressiveness of HOπ, the higher-order π-calculus in which communications are governed by session types. Our main discovery is that HO, a subcalculus of HOπ which lacks name-passing and recursion, can serve as a new core calculus for session-typed higher-order concurrency. We show that HO can encode HOπ fully abstractly (up to typed contextual equivalence) more precisely and efficiently than the first-order session π-calculus (π). Overall, under the discipline of session types, HOπ, HO, and π are equally expressive; however, we show that HOπ is more tightly related to HO than to π.
Dimitrios Kouzapas, Jorge A. Pérez 0001, Nobuko Yoshida
Inf. Comput.2
2019 Preface to special issue: ICTAC 2015
abstract
This issue of Mathematical Structures in Computer Science (MSCS) contains a selection of papers presented at the 12th International Colloquium on Theoretical Aspects of Computing (ICTAC 2015), which took place in Cali, Colombia, on October 29–31, 2015.
Martin Leucker, Jorge A. Pérez 0001, Camilo Rueda, Frank D. Valencia
Math. Struct. Comput. Sci.2
2018 Relating Process Languages for Security and Communication Correctness (Extended Abstract)
Daniele Nantes Sobrinho, Jorge A. Pérez 0001
FORTE2
2017 Linearity, Control Effects, and Behavioral Types
Luís Caires, Jorge A. Pérez 0001
ESOP2
2017 Session-Based Concurrency, Reactively
Mauricio Cano, Jaime Arias 0001, Jorge A. Pérez 0001
FORTE3
2017 Causally consistent reversible choreographies: a monitors-as-memories approach
abstract
Under a reversible semantics, computation steps can be undone. This paper addresses the integration of reversible semantics into a process model of multiparty protocols (choreographies). Building upon the monitors-as-memories approach that we developed in prior work for reversible binary protocols, we present a reversible process framework for multiparty communication, which improves on prior models by seamlessly integrating asynchrony, decoupled rollbacks, and process passing. As main technical result, we prove that our multiparty, reversible semantics is causally-consistent.
Claudio Antares Mezzina, Jorge A. Pérez 0001
PPDP2
2017 Characteristic bisimulation for higher-order session processes
abstract
For higher-order (process) languages, characterising contextual equivalence is a long-standing issue. In the setting of a higher-order $$\pi $$ -calculus with session types, we develop characteristic bisimilarity, a typed bisimilarity which fully characterises contextual equivalence. To our knowledge, ours is the first characterisation of its kind. Using simple values inhabiting (session) types, our approach distinguishes from untyped methods for characterising contextual equivalence in higher-order processes: we show that observing as inputs only a precise finite set of higher-order values suffices to reason about higher-order session processes. We demonstrate how characteristic bisimilarity can be used to justify optimisations in session protocols with mobile code communication.
Dimitrios Kouzapas, Jorge A. Pérez 0001, Nobuko Yoshida
Acta Informatica2
2016 On the Relative Expressiveness of Higher-Order Session Processes
Dimitrios Kouzapas, Jorge A. Pérez 0001, Nobuko Yoshida
ESOP2
2016 Multiparty Session Types Within a Canonical Binary Theory, and Beyond
Luís Caires, Jorge A. Pérez 0001
FORTE2
2016 The Challenge of Typed Expressiveness in Concurrency
Jorge A. Pérez 0001
FORTE1
2016 Self-adaptation and secure information flow in multiparty communications
abstract
Abstract We present a comprehensive model of structured communications in which self-adaptation and security concerns are jointly addressed. More specifically, we propose a model of multiparty, self-adaptive communications with access control and secure information flow guarantees. In our model, multiparty protocols (choreographies) are described as global types; security violations occur when process implementations of protocol participants attempt to read or write messages of inappropriate security levels within directed exchanges. Such violations trigger adaptation mechanisms that prevent the violations to occur and/or to propagate their effect in the choreography. Our model is equipped with local and global adaptation mechanisms for reacting to security violations of different gravity; type soundness results ensure that the overall multiparty protocol is still correctly executed while the system adapts itself to preserve the participants’ security.
Ilaria Castellani, Mariangiola Dezani-Ciancaglini, Jorge A. Pérez 0001
Formal Aspects Comput.3
2016 Dynamic role authorization in multiparty conversations
abstract
Abstract Protocols in distributed settings usually rely on the interaction of several parties and often identify therolesinvolved in communications. Roles may have a behavioral interpretation, as they do not necessarily correspond to sites or physical devices. Notions ofrole authorizationthus become necessary to consider settings in which, e.g., different sites may be authorized to act on behalf of a single role, or in which one site may be authorized to act on behalf of different roles. This flexibility must be equipped with ways of controlling the roles that the different parties are authorized to represent, including the challenging case in which role authorizations are determined only at runtime. We present a typed framework for the analysis of multiparty interaction with dynamic role authorization and delegation. Building on previous work on conversation types with role assignment, our formal model is based on an extension of the π -calculus in which the basic resources are pairs channel-role, which denote the access right of interacting along a given channel representing the given role. To specify dynamic authorization control, our process model includes (1) a novel scoping construct for authorization domains, and (2) communication primitives for authorizations, which allow to pass around authorizations to act on a given channel. An authorization error then corresponds to an action involving a channel and a role not enclosed by an appropriate authorization scope. We introduce a typing discipline that ensures that processes never reduce to authorization errors, including when parties dynamically acquire authorizations.
Silvia Ghilezan, Svetlana Jaksic, Jovanka Pantovic, Jorge A. Pérez 0001, Hugo Torres Vieira
Formal Aspects Comput.4
2016 Event-based run-time adaptation in communication-centric systems
abstract
Abstract Communication-centric systems are software systems built as assemblies of distributed artifacts that interact following predefined communication protocols. Session-based concurrency is a type-based approach to ensure the conformance of communication-centric systems to such protocols. This paper presents a model of session-based concurrency with mechanisms for run-time adaptation . Our model allows us to specify communication-centric systems whose session behavior can be dynamically updated at run-time. We improve on previous work by proposing an event-based approach: adaptation requests, issued by the system itself or by its context, are assimilated to events which may trigger adaptation routines. These routines exploit type-directed checks to enable the reconfiguration of processes with active protocols. We equip our model with a type system that ensures communication safety and consistency properties: while safety guarantees absence of run-time communication errors, consistency ensures that update actions do not disrupt already established session protocols. We provide soundness results for binary and multiparty protocols.
Cinzia Di Giusto, Jorge A. Pérez 0001
Formal Aspects Comput.2
2015 Characteristic Bisimulation for Higher-Order Session Processes
abstract
Characterising contextual equivalence is a long-standing issue for higher-order (process) languages. In the setting of a higher-order pi-calculus with sessions, we develop characteristic bisimilarity, a typed bisimilarity which fully characterises contextual equivalence. To our knowledge, ours is the first characterisation of its kind. Using simple values inhabiting (session) types, our approach distinguishes from untyped methods for characterising contextual equivalence in higher-order processes: we show that observing as inputs only a precise finite set of higher-order values suffices to reason about higher-order session processes. We demonstrate how characteristic bisimilarity can be used to justify optimisations in session protocols with mobile code communication.
Dimitrios Kouzapas, Jorge A. Pérez 0001, Nobuko Yoshida
CONCUR2
2015 Declarative interpretations of session-based concurrency
abstract
Session-based concurrency is a type-based approach to the analysis of communication-intensive systems. Correct behavior in these systems may be specified in an operational or declarative style: the former defines how interactions are structured; the latter defines governing conditions. In this paper, we investigate the relationship between operational and declarative models of session-based concurrency. We propose two interpretations of session π-calculus processes as declarative processes in linear concurrent constraint programming (lcc). They offer a basis on which both operational and declarative requirements can be specified and reasoned about. By coupling our interpretations with a type system for lcc, we obtain robust declarative encodings of π-calculus mobility.
Mauricio Cano, Camilo Rueda, Hugo A. López 0001, Jorge A. Pérez 0001
PPDP4
2015 Disciplined structured communications with disciplined runtime adaptation
Cinzia Di Giusto, Jorge A. Pérez 0001
Sci. Comput. Program.2
2014 Linear logical relations and observational equivalences for session-based concurrency
Jorge A. Pérez 0001, Luís Caires, Frank Pfenning, Bernardo Toninho
Inf. Comput.1
2013 Behavioral Polymorphism and Parametricity in Session-Based Communication
Luís Caires, Jorge A. Pérez 0001, Frank Pfenning, Bernardo Toninho
ESOP2
2012 Linear Logical Relations for Session-Based Concurrency
Jorge A. Pérez 0001, Luís Caires, Frank Pfenning, Bernardo Toninho
ESOP1
2012 Towards the Verification of Adaptable Processes
Mario Bravetti, Cinzia Di Giusto, Jorge A. Pérez 0001, Gianluigi Zavattaro
ISoLA (1)3
2011 Type-Based Access Control in Data-Centric Systems
Luís Caires, Jorge A. Pérez 0001, João Costa Seco, Hugo Torres Vieira, Lúcio Ferrão
ESOP2
2011 On the expressiveness and decidability of higher-order process calculi
Ivan Lanese, Jorge A. Pérez 0001, Davide Sangiorgi, Alan Schmitt
Inf. Comput.2
2010 On the Expressiveness of Polyadic and Synchronous Communication in Higher-Order Process Calculi
Ivan Lanese, Jorge A. Pérez 0001, Davide Sangiorgi, Alan Schmitt
ICALP (2)2
2009 An Overview of FORCES: An INRIA Project on Declarative Formalisms for Emergent Systems
Jesús Aranda, Gérard Assayag, Carlos Olarte, Jorge A. Pérez 0001, Camilo Rueda, Mauricio Toro, Frank D. Valencia
ICLP4
2009 On the Expressiveness of Forwarding in Higher-Order Communication
Cinzia Di Giusto, Jorge A. Pérez 0001, Gianluigi Zavattaro
ICTAC2
2008 Stochastic Behavior and Explicit Discrete Time in Concurrent Constraint Programming
Jesús Aranda, Jorge A. Pérez 0001, Camilo Rueda, Frank D. Valencia
ICLP2
2008 Non-determinism and Probabilities in Timed Concurrent Constraint Programming
Jorge A. Pérez 0001, Camilo Rueda
ICLP1
2008 On the Expressiveness and Decidability of Higher-Order Process Calculi
abstract
In higher-order process calculi the values exchanged in communications may contain processes. A core calculus of higher-order concurrency is studied; it has only the operators necessary to express higher-order communications: input prefix, process output, and parallel composition. By exhibiting a nearly deterministic encoding of Minsky machines, the calculus is shown to be Turing complete and therefore its termination problem is undecidable. Strong bisimilarity, however, is shown to be decidable. Further, the main forms of strong bisimilarity for higher-order processes (higher-order bisimilarity, context bisimilarity, normal bisimilarity, barbed congruence) coincide. They also coincide with their asynchronous versions. A sound and complete axiomatization of bisimilarity is given. Finally, bisimilarity is shown to become undecidable if at least four static (i.e., top-level) restrictions are added to the calculus.
Ivan Lanese, Jorge A. Pérez 0001, Davide Sangiorgi, Alan Schmitt
LICS2
2006 A Declarative Framework for Security: Secure Concurrent Constraint Programming
Hugo A. López 0001, Catuscia Palamidessi, Jorge A. Pérez 0001, Camilo Rueda, Frank D. Valencia
ICLP3