Skip to main content

Showing 1–49 of 49 results for author: Montesi, F

Searching in archive cs. Search in all archives.
.
  1. Formulas as Processes, Deadlock-Freedom as Choreographies (Extended Version)

    Authors: Matteo Acclavio, Giulia Manara, Fabrizio Montesi

    Abstract: We introduce a novel approach to studying properties of processes in the π-calculus based on a processes-as-formulas interpretation, by establishing a correspondence between specific sequent calculus derivations and computation trees in the reduction semantics of the recursion-free π-calculus. Our method provides a simple logical characterisation of deadlock-freedom for the recursion- and race-fre… ▽ More

    Submitted 26 May, 2025; v1 submitted 15 January, 2025; originally announced January 2025.

    Comments: Extended version of the paper "Formulas as Processes, Deadlock-Freedom as Choreographies", accepted at ESOP2025

    Journal ref: In: Vafeiadis, V. (eds) Programming Languages and Systems. ESOP 2025. Lecture Notes in Computer Science, vol 15694

  2. arXiv:2407.07428  [pdf, other

    cs.SE cs.PL

    A Conceptual Framework for API Refactoring in Enterprise Application Architectures

    Authors: Fabrizio Montesi, Marco Peressotti, Valentino Picotti, Olaf Zimmermann

    Abstract: Enterprise applications are often built as service-oriented architectures, where the individual services are designed to perform specific functions and interact with each other by means of well-defined APIs (Application Programming Interfaces). The architecture of an enterprise application evolves over time, in order to adapt to changing business requirements. This evolution might require changes… ▽ More

    Submitted 10 July, 2024; originally announced July 2024.

  3. arXiv:2403.18508  [pdf, ps, other

    cs.LO

    On Propositional Dynamic Logic and Concurrency

    Authors: Matteo Acclavio, Fabrizio Montesi, Marco Peressotti

    Abstract: Dynamic logic is a powerful approach to reasoning about programs and their executions, obtained by extending classical logic with modalities that can express program executions as formulas. However, the use of dynamic logic in the setting of concurrency has proved problematic because of the challenge of capturing interleaving. This challenge stems from the fact that, traditionally, programs are re… ▽ More

    Submitted 26 May, 2025; v1 submitted 27 March, 2024; originally announced March 2024.

  4. arXiv:2401.17403  [pdf, other

    cs.PL

    Ozone: Fully Out-of-Order Choreographies

    Authors: Dan Plyukhin, Marco Peressotti, Fabrizio Montesi

    Abstract: Choreographic programming is a paradigm for writing distributed applications. It allows programmers to write a single program, called a choreography, that can be compiled to generate correct implementations of each process in the application. Although choreographies provide good static guarantees, they can exhibit high latency when messages or processes are delayed. This is because processes in a… ▽ More

    Submitted 12 July, 2024; v1 submitted 30 January, 2024; originally announced January 2024.

    Comments: To appear ECOOP 2024. 26 pages, 22 Figures, 3 pages appendix

  5. arXiv:2304.14539  [pdf, ps, other

    cs.PL cs.LO

    Reasoning about Choreographic Programs

    Authors: Luís Cruz-Filipe, Eva Graversen, Fabrizio Montesi, Marco Peressotti

    Abstract: Choreographic programming is a paradigm where a concurrent or distributed system is developed in a top-down fashion. Programs, called choreographies, detail the desired interactions between processes, and can be compiled to distributed implementations based on message passing. Choreographic languages usually guarantee deadlock-freedom and provide an operational correspondence between choreographie… ▽ More

    Submitted 27 April, 2023; originally announced April 2023.

  6. arXiv:2303.04678  [pdf, ps, other

    cs.PL

    Alice or Bob?: Process Polymorphism in Choreographies

    Authors: Eva Graversen, Andrew K. Hirsch, Fabrizio Montesi

    Abstract: We present PolyChor$λ$, a language for higher-order functional \emph{choreographic programming} -- an emerging paradigm by which programmers write the desired cooperative behaviour of a system of communicating processes and then compile it into distributed implementations for each process, a translation called \emph{endpoint projection}. Unlike its predecessor, Chor$λ$, PolyChor$λ$ has both type a… ▽ More

    Submitted 8 March, 2023; originally announced March 2023.

    Comments: In submission to JFP

  7. Real-World Choreographic Programming: Full-Duplex Asynchrony and Interoperability

    Authors: Lovro Lugović, Fabrizio Montesi

    Abstract: In the paradigm of choreographic programming, the overall behaviour of a distributed system is coded as a choreography from a global viewpoint. The choreography can then be automatically projected (compiled) to a correct implementation for each participant. This paradigm is interesting because it relieves the programmer from manually writing the separate send and receive actions performed by parti… ▽ More

    Submitted 29 December, 2023; v1 submitted 7 March, 2023; originally announced March 2023.

    Journal ref: The Art, Science, and Engineering of Programming, 2024, Vol. 8, Issue 2, Article 8

  8. arXiv:2303.03972  [pdf, other

    cs.PL

    Certified Compilation of Choreographies with hacc

    Authors: Luís Cruz-Filipe, Lovro Lugović, Fabrizio Montesi

    Abstract: Programming communicating processes is challenging, because it requires writing separate programs that perform compatible send and receive actions at the right time during execution. Leaving this task to the programmer can easily lead to bugs. Choreographic programming addresses this challenge by equipping developers with high-level abstractions for codifying the desired communication structures f… ▽ More

    Submitted 7 March, 2023; originally announced March 2023.

  9. arXiv:2302.14622  [pdf, other

    cs.LO cs.PL

    Now It Compiles! Certified Automatic Repair of Uncompilable Protocols

    Authors: Luís Cruz-Filipe, Fabrizio Montesi

    Abstract: Choreographic programming is a paradigm where developers write the global specification (called choreography) of a communicating system, and then a correct-by-construction distributed implementation is compiled automatically. Unfortunately, it is possible to write choreographies that cannot be compiled, because of issues related to an agreement property known as knowledge of choice. This forces pr… ▽ More

    Submitted 28 February, 2023; originally announced February 2023.

  10. arXiv:2209.01886  [pdf, ps, other

    cs.LO cs.PL

    A Formal Theory of Choreographic Programming

    Authors: Luís Cruz-Filipe, Fabrizio Montesi, Marco Peressotti

    Abstract: Choreographic programming is a paradigm for writing coordination plans for distributed systems from a global point of view, from which correct-by-construction decentralised implementations can be generated automatically. Theory of choreographies typically includes a number of complex results that are proved by structural induction. The high number of cases and the subtle details in some of these… ▽ More

    Submitted 5 September, 2022; originally announced September 2022.

  11. arXiv:2207.08884  [pdf, other

    cs.PL

    From Infinity to Choreographies: Extraction for Unbounded Systems

    Authors: Bjørn Angel Kjær, Luís Cruz-Filipe, Fabrizio Montesi

    Abstract: Choreographies are formal descriptions of distributed systems, which focus on the way in which participants communicate. While they are useful for analysing protocols, in practice systems are written directly by specifying each participant's behaviour. This created the need for choreography extraction: the process of obtaining a choreography that faithfully describes the collective behaviour of al… ▽ More

    Submitted 18 July, 2022; originally announced July 2022.

  12. arXiv:2205.02636  [pdf, other

    cs.PL

    Implementing Choreography Extraction

    Authors: Luis Cruz-Filipe, Kim S. Larsen, Fabrizio Montesi, Larisa Safina

    Abstract: Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification and synthesis of correct-by-construction software. They require a top-down approach: programmers first write choreographies, and then use them to verify or synthesize their programs. However, most software does not come with choreographies yet, which prevents their… ▽ More

    Submitted 6 May, 2022; v1 submitted 5 May, 2022; originally announced May 2022.

    Comments: arXiv admin note: text overlap with arXiv:1910.11741

  13. arXiv:2202.11397  [pdf, other

    cs.SE

    Model-Driven Generation of Microservice Interfaces: From LEMMA Domain Models to Jolie APIs

    Authors: Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher

    Abstract: We formally define and implement a translation from domain models in the LEMMA modelling framework to microservice APIs in the Jolie programming language. Our tool enables a software development process whereby microservice architectures can first be designed with the leading method of Domain-Driven Design, and then corresponding data types and service interfaces (APIs) in Jolie are automatically… ▽ More

    Submitted 23 February, 2022; originally announced February 2022.

  14. arXiv:2111.03701  [pdf, other

    cs.PL

    Functional Choreographic Programming

    Authors: Luís Cruz-Filipe, Eva Graversen, Lovro Lugović, Fabrizio Montesi, Marco Peressotti

    Abstract: Choreographic programming is an emerging programming paradigm for concurrent and distributed systems, whereby developers write the communications that should be enacted and then a distributed implementation is automatically obtained by means of a compiler. Theories of choreographic programming typically come with strong theoretical guarantees about the compilation process, most notably: the genera… ▽ More

    Submitted 17 August, 2022; v1 submitted 5 November, 2021; originally announced November 2021.

  15. arXiv:2106.11818  [pdf, ps, other

    cs.LO

    Linear Logic, the $π$-calculus, and their Metatheory: A Recipe for Proofs as Processes

    Authors: Fabrizio Montesi, Marco Peressotti

    Abstract: Initiated by Abramsky [1994], the Proofs as Processes agenda is to establish a solid foundation for the study of concurrent languages, by researching the connection between linear logic and the $π$-calculus. To date, Proofs as Processes is still a partial success. Caires and Pfenning [2010] showed that linear propositions correspond to session types, which prescribe the observable behaviour of p… ▽ More

    Submitted 22 June, 2021; originally announced June 2021.

  16. arXiv:2104.02458  [pdf, other

    cs.SE cs.PL

    Jolie & LEMMA: Model-Driven Engineering and Programming Languages Meet on Microservices

    Authors: Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, Florian Rademacher, Sabine Sachweh

    Abstract: In the field of microservices, Model-Driven Engineering has emerged as a powerful methodology for architectural design, and new programming languages have introduced language abstractions to deal with microservice development more effectively. In this article, we present the first preliminary investigation of how the two approaches can be married, taking the LEMMA framework and the Jolie programmi… ▽ More

    Submitted 6 April, 2021; originally announced April 2021.

  17. arXiv:2103.09518  [pdf, other

    cs.PL cs.SE

    Sliceable Monolith: Monolith First, Microservices Later

    Authors: Fabrizio Montesi, Marco Peressotti, Valentino Picotti

    Abstract: We propose Sliceable Monolith, a new methodology for developing microservice architectures and perform their integration testing by leveraging most of the simplicity of a monolith: a single codebase and a local execution environment that simulates distribution. Then, a tool compiles a codebase for each microservice and a cloud deployment configuration. The key enabler of our approach is the techno… ▽ More

    Submitted 17 July, 2021; v1 submitted 17 March, 2021; originally announced March 2021.

  18. Certifying Choreography Compilation

    Authors: Luís Cruz-Filipe, Fabrizio Montesi, Marco Peressotti

    Abstract: Choreographic programming is a paradigm for developing concurrent and distributed systems, where programs are choreographies that define, from a global viewpoint, the computations and interactions that communicating processes should enact. Choreography compilation translates choreographies into the local definitions of process behaviours, given as terms in a process calculus. Proving choreograph… ▽ More

    Submitted 26 August, 2021; v1 submitted 21 February, 2021; originally announced February 2021.

  19. arXiv:2102.02627  [pdf, other

    cs.LO cs.PL

    Formalising a Turing-Complete Choreographic Language in Coq

    Authors: Luís Cruz-Filipe, Fabrizio Montesi, Marco Peressotti

    Abstract: Theory of choreographic languages typically includes a number of complex results that are proved by structural induction. The high number of cases and the subtle details in some of them lead to long reviewing processes, and occasionally to errors being found in published proofs. In this work, we take a published proof of Turing completeness of a choreographic language and formalise it in Coq. Our… ▽ More

    Submitted 4 February, 2021; originally announced February 2021.

  20. arXiv:2005.09520  [pdf, other

    cs.PL

    Choral: Object-Oriented Choreographic Programming

    Authors: Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti

    Abstract: We present Choral, the first choreographic programming language based on mainstream abstractions. The key idea in Choral is a new notion of data type, which allows for expressing that data is distributed over different roles. We use this idea to reconstruct the paradigm of choreographic programming through object-oriented abstractions. Choreographies are classes, and instances of choreographies ar… ▽ More

    Submitted 19 October, 2023; v1 submitted 19 May, 2020; originally announced May 2020.

  21. arXiv:1910.11741  [pdf, ps, other

    cs.PL

    Implementing choreography extraction

    Authors: Luís Cruz-Filipe, Fabrizio Montesi, Larisa Safina

    Abstract: Choreography extraction deals with the generation of a choreography (a global description of communication behaviour) from a set of local process behaviours. In this work, we implement a previously proposed theory for extraction and show that, in spite of its theoretical exponential complexity, it is usable in practice. We discuss the data structures needed for an efficient implementation, introdu… ▽ More

    Submitted 25 October, 2019; originally announced October 2019.

  22. arXiv:1904.11327  [pdf, ps, other

    cs.PL cs.DB

    Ephemeral Data Handling in Microservices - Technical Report

    Authors: Saverio Giallorenzo, Fabrizio Montesi, Larisa Safina, Stefano Pio Zingaro

    Abstract: In modern application areas for software systems --- like eHealth, the Internet-of-Things, and Edge Computing --- data is encoded in heterogeneous, tree-shaped data-formats, it must be processed in real-time, and it must be ephemeral, i.e., not persist in the system. While it is preferable to use a query language to express complex data-handling logic, their typical execution engine, a database ex… ▽ More

    Submitted 25 April, 2019; originally announced April 2019.

  23. Taking Linear Logic Apart

    Authors: Wen Kokke, Fabrizio Montesi, Marco Peressotti

    Abstract: Process calculi based on logic, such as $π$DILL and CP, provide a foundation for deadlock-free concurrent programming. However, in previous work, there is a mismatch between the rules for constructing proofs and the term constructors of the $π$-calculus: the fundamental operator for parallel composition does not correspond to any rule of linear logic. Kokke et al. (2019) introduced Hypersequent Cl… ▽ More

    Submitted 15 April, 2019; originally announced April 2019.

    Comments: In Proceedings Linearity-TLLA 2018, arXiv:1904.06159

    ACM Class: D.3.1; D.3.2; F.3.2; F.4.1

    Journal ref: EPTCS 292, 2019, pp. 90-103

  24. arXiv:1903.07962  [pdf, other

    cs.PL

    No more, no less - A formal model for serverless computing

    Authors: Maurizio Gabbrielli, Saverio Giallorenzo, Ivan Lanese, Fabrizio Montesi, Marco Peressotti, Stefano Pio Zingaro

    Abstract: Serverless computing, also known as Functions-as-a-Service, is a recent paradigm aimed at simplifying the programming of cloud applications. The idea is that developers design applications in terms of functions, which are then deployed on a cloud infrastructure. The infrastructure takes care of executing the functions whenever requested by remote clients, dealing automatically with distribution an… ▽ More

    Submitted 1 May, 2019; v1 submitted 19 March, 2019; originally announced March 2019.

  25. arXiv:1811.02209  [pdf, other

    cs.LO

    Better Late Than Never: A Fully Abstract Semantics for Classical Processes

    Authors: Wen Kokke, Fabrizio Montesi, Marco Peressotti

    Abstract: We present Hypersequent Classical Processes (HCP), a revised interpretation of the "Proofs as Processes" correspondence between linear logic and the π-calculus initially proposed by Abramsky [1994], and later developed by Bellin and Scott [1994], Caires and Pfenning [2010], and Wadler [2014], among others. HCP mends the discrepancies between linear logic and the syntax and observable semantics of… ▽ More

    Submitted 6 November, 2018; originally announced November 2018.

  26. arXiv:1808.05088  [pdf, ps, other

    cs.PL cs.LO

    Multiparty Classical Choreographies

    Authors: Marco Carbone, Luis Cruz-Filipe, Fabrizio Montesi, Agata Murawska

    Abstract: We present Multiparty Classical Choreographies (MCC), a language model where global descriptions of communicating systems (choreographies) implement typed multiparty sessions. Typing is achieved by generalising classical linear logic to judgements that explicitly record parallelism by means of hypersequents. Our approach unifies different lines of work on choreographies and processes with multipar… ▽ More

    Submitted 2 December, 2018; v1 submitted 15 August, 2018; originally announced August 2018.

    Comments: Post-proceedings paper presented at the 28th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2018), Frankfurt am Main, Germany, 4-6 September 2018 (arXiv:1808.03326) The paper was improved and extended (+2 pages). Now more details are provided on the work

    Report number: LOPSTR/2018/24

  27. arXiv:1804.08976  [pdf, ps, other

    cs.PL

    Connectors meet Choreographies

    Authors: Farhad Arbab, Luís Cruz-Filipe, Sung-Shik Jongmans, Fabrizio Montesi

    Abstract: We present Cho-Reo-graphies (CR), a new language model that unites two powerful programming paradigms for concurrent software based on communicating processes: Choreographic Programming and Exogenous Coordination. In CR, programmers specify the desired communications among processes using a choreography, and define how communications should be concretely animated by connectors given as constraint… ▽ More

    Submitted 24 April, 2018; originally announced April 2018.

  28. arXiv:1803.01049  [pdf, other

    cs.LO

    Classical Transitions

    Authors: Fabrizio Montesi, Marco Peressotti

    Abstract: We introduce the calculus of Classical Transitions (CT), which extends the research line on the relationship between linear logic and processes to labelled transitions. The key twist from previous work is registering parallelism in typing judgements, by generalising linear logic judgements from one sequents to many (hypersequents). This allows us to bridge the gap between the structures of operato… ▽ More

    Submitted 2 March, 2018; originally announced March 2018.

    Comments: IMADA-preprint

  29. arXiv:1802.02917  [pdf, other

    cs.LO cs.PL

    Classical Higher-Order Processes

    Authors: Fabrizio Montesi

    Abstract: Classical Processes (CP) is a calculus where the proof theory of classical linear logic types communicating processes with mobile channels, a la pi-calculus. Its construction builds on a recent propositions as types correspondence between session types and propositions in linear logic. Desirable properties such as type preservation under reductions and progress come for free from the metatheory of… ▽ More

    Submitted 8 February, 2018; originally announced February 2018.

  30. arXiv:1801.08107  [pdf, other

    cs.PL

    Choreographies for Reactive Programming

    Authors: Marco Carbone, Fabrizio Montesi, Hugo Torres Vieira

    Abstract: Modular programming is a cornerstone in software development, as it allows to build complex systems from the assembly of simpler components, and support reusability and substitution principles. In a distributed setting, component assembly is supported by communication that is often required to follow a prescribed protocol of interaction. In this paper, we present a language for the modular develop… ▽ More

    Submitted 24 January, 2018; originally announced January 2018.

  31. arXiv:1712.05465  [pdf, ps, other

    cs.PL

    A Promising Future: Omission Failures in Choreographic Programming

    Authors: Eva Graversen, Fabrizio Montesi, Marco Peressotti

    Abstract: Choreographic programming promises a simple approach to the coding of concurrent and distributed systems: write the collective communication behaviour of a system of processes as a choreography, and then the programs for these processes are automatically compiled by a provably-correct procedure known as endpoint projection. While this promise prompted substantial research, a theory that can deal w… ▽ More

    Submitted 17 March, 2025; v1 submitted 14 December, 2017; originally announced December 2017.

    Comments: IMADA-preprint

  32. On Asynchrony and Choreographies

    Authors: Luís Cruz-Filipe, Fabrizio Montesi

    Abstract: Choreographic Programming is a paradigm for the development of concurrent software, where deadlocks are prevented syntactically. However, choreography languages are typically synchronous, whereas many real-world systems have asynchronous communications. Previous attempts at enriching choreographies with asynchrony rely on ad-hoc constructions, whose adequacy is only argued informally. In this w… ▽ More

    Submitted 29 November, 2017; originally announced November 2017.

    Comments: In Proceedings ICE 2017, arXiv:1711.10708

    Journal ref: EPTCS 261, 2017, pp. 76-90

  33. arXiv:1711.10201  [pdf, other

    cs.PL

    Communications in Choreographies, Revisited

    Authors: Luís Cruz-Filipe, Fabrizio Montesi, Marco Peressotti

    Abstract: Choreographic Programming is a paradigm for developing correct-by-construction concurrent programs, by writing high-level descriptions of the desired communications and then synthesising process implementations automatically. So far, choreographic programming has been explored in the monadic setting: interaction terms express point-to-point communications of a single value. However, real-world sys… ▽ More

    Submitted 28 November, 2017; originally announced November 2017.

  34. arXiv:1711.08700  [pdf, ps, other

    cs.PL

    That's Enough: Asynchrony with Standard Choreography Primitives

    Authors: Luís Cruz-Filipe, Fabrizio Montesi

    Abstract: Choreographies are widely used for the specification of concurrent and distributed software architectures. Since asynchronous communications are ubiquitous in real-world systems, previous works have proposed different approaches for the formal modelling of asynchrony in choreographies. Such approaches typically rely on ad-hoc syntactic terms or semantics for capturing the concept of messages in tr… ▽ More

    Submitted 27 November, 2017; v1 submitted 23 November, 2017; originally announced November 2017.

  35. arXiv:1704.08073  [pdf, ps, other

    cs.PL cs.SE

    Microservices: a Language-based Approach

    Authors: Claudio Guidi, Ivan Lanese, Manuel Mazzara, Fabrizio Montesi

    Abstract: Microservices is an emerging development paradigm where software is obtained by composing autonomous entities, called (micro)services. However, microservice systems are currently developed using general-purpose programming languages that do not provide dedicated abstractions for service composition. Instead, current practice is focused on the deployment aspects of microservices, in particular by u… ▽ More

    Submitted 26 April, 2017; originally announced April 2017.

  36. The Paths to Choreography Extraction

    Authors: Luís Cruz-Filipe, Kim S. Larsen, Fabrizio Montesi

    Abstract: Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification (e.g., Multiparty Session Types) and synthesis of correct-by-construction software (Choreographic Programming). They require a top-down approach: programmers first write choreographies, and then use them to verify or synthesize their programs. However, most existing… ▽ More

    Submitted 20 February, 2017; v1 submitted 31 October, 2016; originally announced October 2016.

  37. arXiv:1609.05830  [pdf, ps, other

    cs.SE cs.DC

    Circuit Breakers, Discovery, and API Gateways in Microservices

    Authors: Fabrizio Montesi, Janine Weber

    Abstract: We review some of the most widely used patterns for the programming of microservices: circuit breaker, service discovery, and API gateway. By systematically analysing different deployment strategies for these patterns, we reach new insight especially for the application of circuit breakers. We also evaluate the applicability of Jolie, a language for the programming of microservices, for these patt… ▽ More

    Submitted 21 September, 2016; v1 submitted 19 September, 2016; originally announced September 2016.

  38. arXiv:1606.04036  [pdf, ps, other

    cs.SE

    Microservices: yesterday, today, and tomorrow

    Authors: Nicola Dragoni, Saverio Giallorenzo, Alberto Lluch Lafuente, Manuel Mazzara, Fabrizio Montesi, Ruslan Mustafin, Larisa Safina

    Abstract: Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Before presenting the current state-of-the-art in the field, this chapter reviews the history of software architecture, the reasons that led to the diffusion of objects and services first, and microservices later. Finally, open problems and future challenges are introduced.… ▽ More

    Submitted 20 April, 2017; v1 submitted 13 June, 2016; originally announced June 2016.

  39. Choreographies in Practice

    Authors: Luís Cruz-Filipe, Fabrizio Montesi

    Abstract: Choreographic Programming is a development methodology for concurrent software that guarantees correctness by construction. The key to this paradigm is to disallow mismatched I/O operations in programs, called choreographies, and then mechanically synthesise distributed implementations in terms of standard process models via a mechanism known as EndPoint Projection (EPP). Despite the promise of… ▽ More

    Submitted 29 February, 2016; originally announced February 2016.

  40. arXiv:1602.06823  [pdf, ps, other

    cs.SE cs.PL

    Refinement types in Jolie

    Authors: Alexander Tchitchigin, Larisa Safina, Manuel Mazzara, Mohamed Elwakil, Fabrizio Montesi, Victor Rivera

    Abstract: Jolie is the first language for microservices and it is currently dynamically type checked. This paper considers the opportunity to integrate dynamic and static type checking with the introduction of refinement types, verified via SMT solver. The integration of the two aspects allows a scenario where the static verification of internal services and the dynamic verification of (potentially maliciou… ▽ More

    Submitted 22 February, 2016; originally announced February 2016.

  41. A Language for the Declarative Composition of Concurrent Protocols

    Authors: Luís Cruz-Filipe, Fabrizio Montesi

    Abstract: A recent study of bugs in real-world concurrent and distributed systems found that, while implementations of individual protocols tend to be robust, the composition of multiple protocols and its interplay with internal computation is the culprit for most errors. Multiparty Session Types and Choreographic Programming are methodologies for developing correct-by-construction concurrent and distribute… ▽ More

    Submitted 24 October, 2016; v1 submitted 11 February, 2016; originally announced February 2016.

  42. arXiv:1511.02597  [pdf, other

    cs.PL

    Data-driven Workflows for Microservices

    Authors: Larisa Safina, Manuel Mazzara, Fabrizio Montesi

    Abstract: Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Jolie is a programming language based on the microservices paradigm: the main building block of Jolie systems are services, in contrast to, e.g., functions or objects. The primitives offered by the Jolie language elicit many of the recurring patterns found in microservices,… ▽ More

    Submitted 9 November, 2015; originally announced November 2015.

    Comments: 8 pages, 4 figures

  43. arXiv:1510.03637  [pdf, other

    cs.PL

    Applied Choreographies

    Authors: Saverio Giallorenzo, Fabrizio Montesi, Maurizio Gabbrielli

    Abstract: Choreographic Programming is a correct-by-construction paradigm where a compilation procedure synthesises deadlock-free, concurrent, and distributed communicating processes from global, declarative descriptions of communications, called choreographies. Previous work used choreographies for the synthesis of programs. Alas, there is no formalisation that provides a chain of correctness from choreogr… ▽ More

    Submitted 14 December, 2020; v1 submitted 13 October, 2015; originally announced October 2015.

  44. A Core Model for Choreographic Programming

    Authors: Luís Cruz-Filipe, Fabrizio Montesi

    Abstract: Choreographic Programming is a programming paradigm for building concurrent programs that are deadlock-free by construction, as a result of programming communications declaratively and then synthesising process implementations automatically. Despite strong interest on choreographies, a foundational model that explains which computations can be performed with the hallmark constructs of choreographi… ▽ More

    Submitted 9 October, 2018; v1 submitted 12 October, 2015; originally announced October 2015.

  45. arXiv:1502.02519  [pdf, other

    cs.PL

    Kickstarting Choreographic Programming

    Authors: Fabrizio Montesi

    Abstract: We present an overview of some recent efforts aimed at the development of Choreographic Programming, a programming paradigm for the production of concurrent software that is guaranteed to be correct by construction from global descriptions of communication behaviour.

    Submitted 10 February, 2015; v1 submitted 9 February, 2015; originally announced February 2015.

  46. arXiv:1410.3712  [pdf, other

    cs.DC cs.NI cs.PL

    Process-aware web programming with Jolie

    Authors: Fabrizio Montesi

    Abstract: We extend the Jolie programming language to capture the native modelling of process-aware web information systems, i.e., web information systems based upon the execution of business processes. Our main contribution is to offer a unifying approach for the programming of distributed architectures on the web, which can capture web servers, stateful process execution, and the composition of services v… ▽ More

    Submitted 21 April, 2016; v1 submitted 14 October, 2014; originally announced October 2014.

    Comments: IMADA-preprint-cs

  47. arXiv:1308.0390  [pdf, ps, other

    cs.PL cs.DC cs.LO

    Amending Choreographies

    Authors: Ivan Lanese, Fabrizio Montesi, Gianluigi Zavattaro

    Abstract: Choreographies are global descriptions of system behaviors, from which the local behavior of each endpoint entity can be obtained automatically through projection. To guarantee that its projection is correct, i.e. it has the same behaviors of the original choreography, a choreography usually has to respect some coherency conditions. This restricts the set of choreographies that can be projected.… ▽ More

    Submitted 1 August, 2013; originally announced August 2013.

    Comments: In Proceedings WWV 2013, arXiv:1308.0268

    ACM Class: D.1.3; D.3.3; F.3.2

    Journal ref: EPTCS 123, 2013, pp. 34-48

  48. Merging Multiparty Protocols in Multiparty Choreographies

    Authors: Marco Carbone, Fabrizio Montesi

    Abstract: Choreography-based programming is a powerful paradigm for defining communication-based systems from a global viewpoint. A choreography can be checked against multiparty protocol specifications, given as behavioural types, that may be instantiated indefinitely at runtime. Each protocol instance is started with a synchronisation among the involved peers. We analyse a simple transformation from… ▽ More

    Submitted 26 February, 2013; originally announced February 2013.

    Comments: In Proceedings PLACES 2012, arXiv:1302.5798

    ACM Class: D.3.1, F.3.2

    Journal ref: EPTCS 109, 2013, pp. 21-27

  49. arXiv:0906.3920  [pdf, ps, other

    cs.PL cs.DC

    Reasoning About a Service-oriented Programming Paradigm

    Authors: Claudio Guidi, Fabrizio Montesi

    Abstract: This paper is about a new way for programming distributed applications: the service-oriented one. It is a concept paper based upon our experience in developing a theory and a language for programming services. Both the theoretical formalization and the language interpreter showed us the evidence that a new programming paradigm exists. In this paper we illustrate the basic features it is characte… ▽ More

    Submitted 22 June, 2009; originally announced June 2009.

    Journal ref: EPTCS 2, 2009, pp. 67-81