English
Related papers

Related papers: Choral: Object-Oriented Choreographic Programming

200 papers

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…

Logic in Computer Science · Computer Science 2022-09-07 Luís Cruz-Filipe , Fabrizio Montesi , Marco Peressotti

Choreographic programming is a promising new paradigm for programming concurrent systems where a developer writes a single centralized program that compiles to individual programs for each node. Existing choreographic languages, however,…

Programming Languages · Computer Science 2025-08-22 Ashley Samuelson , Andrew K. Hirsch , Ethan Cecchetti

Choreographic programming is a concurrent paradigm in which a single global program called a choreography describes behavior across an entire distributed network of participants. Choreographies are easier to reason about than separate…

Programming Languages · Computer Science 2024-06-21 Mako Bates , Syed Jafri , Joseph P. Near

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…

Programming Languages · Computer Science 2023-05-01 Luís Cruz-Filipe , Eva Graversen , Fabrizio Montesi , Marco Peressotti

Programming distributed applications free from communication deadlocks and race conditions is complex. Preserving these properties when applications are updated at runtime is even harder. We present a choreographic approach for programming…

Programming Languages · Computer Science 2019-03-14 Mila Dalla Preda , Maurizio Gabbrielli , Saverio Giallorenzo , Ivan Lanese , Jacopo Mauro

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,…

Programming Languages · Computer Science 2017-11-29 Luís Cruz-Filipe , Fabrizio Montesi , Marco Peressotti

Implementing distributed systems is hard; choreographic programming aims to make it easier. In this paper, we present the design of a new choreographic programming language that supports isolated transactions among overlapping sets of…

Programming Languages · Computer Science 2023-04-14 Ton Smeele , Sung-Shik Jongmans

Context-oriented programming (COP) is a new technique for programming that allows changing the context in which commands execute as a program executes. Compared to object-oriented programming (aspect-oriented programming), COP is more…

Programming Languages · Computer Science 2014-02-25 Mohamed A. El-Zawawy , Eisa A. Aleisa

The ability to express a program as a hierarchical composition of parts is an essential tool in managing the complexity of software and a key abstraction this provides is to separate the representation of data from the computation. Many…

Programming Languages · Computer Science 2012-10-04 James Hanlon , Simon J. Hollis , David May

Choreographic programming (CP) is a paradigm for programming distributed applications as single, unified programs, called choreographies, that are then compiled to node-local programs via endpoint projection (EPP). Recently, library-level…

Programming Languages · Computer Science 2024-07-10 Gan Shen , Lindsey Kuper

Functional choreographic programming suggests a new propositions-as-types paradigm might be possible. In this new paradigm, communication is not modeled linearly; instead, ownership of a piece of data is modeled as a modality, and…

Programming Languages · Computer Science 2024-06-04 Andrew K. Hirsch

Choreographic programming (CP) is an emerging paradigm for programming distributed applications that run on multiple nodes. In CP, the programmer writes one program, called a choreography, that is then transformed to individual programs for…

Programming Languages · Computer Science 2023-11-21 Shun Kashiwa , Gan Shen , Soroush Zare , Lindsey Kuper

The paper describes a mechanism for indirect object representation and access (ORA) in programming languages. The mechanism is based on using a new programming construct which is referred to as concept. Concept consists of one object class…

Programming Languages · Computer Science 2008-01-03 Alexandr Savinov

We present GOOL, a Generic Object-Oriented Language. It demonstrates that a language, with the right abstractions, can capture the essence of object-oriented programs. We show how GOOL programs can be used to generate human-readable,…

Programming Languages · Computer Science 2019-11-28 Jacques Carette , Brooks MacLachlan , W. Spencer Smith

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…

Programming Languages · Computer Science 2015-02-11 Fabrizio Montesi

The shift from monolithic applications to composition of distributed software initiated in the early twentieth, is based on the vision of software-as-service. This vision, found in many technologies such as RESTful APIs, advocates globally…

Software Engineering · Computer Science 2024-05-01 Carlos G. Lopez Pombo , Pablo Montepagano , Emilio Tuosto

In the paper a new programming construct, called concept, is introduced. Concept is pair of two classes: a reference class and an object class. Instances of the reference classes are passed-by-value and are intended to represent objects.…

Programming Languages · Computer Science 2008-01-03 Alexandr Savinov

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…

Programming Languages · Computer Science 2023-03-08 Luís Cruz-Filipe , Lovro Lugović , Fabrizio Montesi

In this paper we describe a new approach to programming which generalizes object-oriented programming. It is based on using a new programming construct, called concept, which generalizes classes. Concept is defined as a pair of two classes:…

Programming Languages · Computer Science 2008-01-03 Alexandr Savinov

Distributed software is becoming more and more dynamic to support applications able to respond and adapt to the changes of their execution environment. For instance, service-oriented computing (SOC) envisages applications as services…

Logic in Computer Science · Computer Science 2016-02-12 Ignacio Vissani , Carlos Gustavo Lopez Pombo , Emilio Tuosto