English
Related papers

Related papers: Certifying Choreography Compilation

200 papers

Choreographies prescribe the rendez-vous synchronisation of messages in a system of communicating finite state machines. Such a system is called realisable, if the traces of the prescribed communication coincide with those of the…

Logic in Computer Science · Computer Science 2022-12-06 Klaus-Dieter Schewe , Yamine Ait-Ameur , Sarah Benyagoub

Classes on compiler technology are commonly found in Computer Science curricula, covering aspects of parsing, semantic analysis, intermediate transformations and target code generation. This paper reports on introducing certified…

Programming Languages · Computer Science 2019-06-28 Per Lindgren , Marcus Lindner , Nils Fitinghoff

Modeling and analysis of interactions among services is a crucial issue in Service-Oriented Computing. Composing Web services is a complicated task which requires techniques and tools to verify that the new system will behave correctly. In…

Software Engineering · Computer Science 2010-09-21 Gwen Salaün

Sequential programming and work-flow programming are two useful, but radically different, ways of describing computational processing. Of the two, it is sequential programming that we teach all programmers and support by programming…

Programming Languages · Computer Science 2011-08-24 William Harrison

Choreography creation is a multimodal endeavor, demanding cognitive abilities to develop creative ideas and technical expertise to convert choreographic ideas into physical dance movements. Previous endeavors have sought to reduce the…

Human-Computer Interaction · Computer Science 2024-02-21 Yimeng Liu , Misha Sra

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

A circular program creates a data structure whose computation depends upon itself or refers to itself. The technique is used to implement the classic data structures circular and doubly-linked lists, threaded trees and queues, in a…

Programming Languages · Computer Science 2024-03-05 Lloyd Allison

We investigate refinement in the context of choreographies. We introduce refinable global choreographies allowing for the underspecification of protocols, whose interactions can be refined into actual protocols. Arbitrary refinements may…

Logic in Computer Science · Computer Science 2020-09-18 Ugo de'Liguoro , Hernán Melgratti , Emilio Tuosto

The current computer programmings encapsulate attributes and behaviours into objects, but miss the mechanism to support the connection among objects. A programming paradigm is presented to connect all objects. The connection supports…

Programming Languages · Computer Science 2016-03-23 Yanping Chen , Qinghua Zheng , Ping Chen

Web service choreographies specify conditions on observable interactions among the services. An important question in this regard is realizability: given a choreography C, does there exist a set of service implementations I that conform to…

Logic in Computer Science · Computer Science 2014-09-10 R. Ramanujam , S. Sheerazuddin

We present AIOCJ, a framework for programming distributed adaptive applications. Applications are programmed using AIOC, a choreographic language suited for expressing patterns of interaction from a global point of view. AIOC allows the…

Programming Languages · Computer Science 2014-07-11 Mila Dalla Preda , Saverio Giallorenzo , Ivan Lanese , Jacopo Mauro , Maurizio Gabbrielli

Programming distributed applications free from communication deadlocks and races is complex. Preserving these properties when applications are updated at runtime is even harder. We present DIOC, a language for programming distributed…

Programming Languages · Computer Science 2015-04-01 Mila Dalla Preda , Maurizio Gabbrielli , Saverio Giallorenzo , Ivan Lanese , Jacopo Mauro

Designing and analysing multiparty distributed interactions can be achieved either by means of a global view (e.g. in choreography-based approaches) or by composing available computational entities (e.g. in service orchestration). This…

Programming Languages · Computer Science 2012-04-13 Julien Lange , Emilio Tuosto

Developing secure distributed systems is difficult, and even harder when advanced cryptography must be used to achieve security goals. Following prior work, we advocate using secure program partitioning to synthesize cryptographic…

Cryptography and Security · Computer Science 2024-01-10 Coşku Acay , Joshua Gancher , Rolph Recto , Andrew C. Myers

This tutorial provides a comprehensive and in-depth view of the research on procedures, primarily in Natural Language Processing. A procedure is a sequence of steps intended to achieve some goal. Understanding procedures in natural language…

Computation and Language · Computer Science 2022-05-17 Li Zhang

Distributed programs are hard to get right because they are required to be open, scalable, long-running, and tolerant to faults. In particular, the recent approaches to distributed software based on (micro-)services where different services…

Programming Languages · Computer Science 2017-08-25 Ian Cassar , Adrian Francalanza , Claudio Antares Mezzina , Emilio Tuosto

The usage of process choreographies and decentralized Business Process Management Systems has been named as an alternative to centralized business process orchestration. In choreographies, control over a process instance is shared between…

Software Engineering · Computer Science 2017-08-21 Christoph Prybila , Stefan Schulte , Christoph Hochreiner , Ingo Weber

Distributed interactions can be suitably designed in terms of choreographies. Such abstractions can be thought of as global descriptions of the coordination of several distributed parties. Global assertions define contracts for…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-08-03 Laura Bocchi , Julien Lange , Emilio Tuosto

Those seeking to reproduce a computational experiment often need to manually look at the code to see how to build necessary libraries, configure parameters, find data, and invoke the experiment; it is not automatic. Automatic…

Software Engineering · Computer Science 2023-07-24 Samuel Grayson , Reed Milewicz , Joshua Teves , Daniel S. Katz , Darko Marinov

Computation nowadays is becoming inherently concurrent, either because of characteristics of the hardware (with multicore processors becoming omnipresent) or due to the ubiquitous presence of distributed systems (incarnated in the…

Software Engineering · Computer Science 2011-08-01 Mohammad Reza Mousavi , Antonio Ravara