# Dist-Orc: A Rewriting-based Distributed Implementation of Orc with Formal Analysis

@inproceedings{Alturki2010DistOrcAR, title={Dist-Orc: A Rewriting-based Distributed Implementation of Orc with Formal Analysis}, author={Musab A. Alturki and Jos{\'e} Meseguer}, booktitle={RTRTS}, year={2010} }

Orc is a theory of orchestration of services that allows structured programming of distributed and timed computations. Several formal semantics have been proposed for Orc, including a rewriting logic semantics developed by the authors. Orc also has a fully fledged implementation in Java with functional programming features. However, as with descriptions of most distributed languages, there exists a fairly substantial gap between Orc's formal semantics and its implementation, in that: (i…

## 23 Citations

### Semantics, distributed implementation, and formal analysis of KLAIM models in Maude

- Computer ScienceSci. Comput. Program.
- 2015

### Executable rewriting logic semantics of Orc and formal analysis of Orc programs

- Computer ScienceJ. Log. Algebraic Methods Program.
- 2015

### From Models to Implementations - Distributed Algorithms using Maude

- Computer Science
- 2018

A “middleware” is developed that enables a straightforward approach for transforming a model into an implementation, allowing correct-by-construction working implementations of distributed systems.

### Knorc Calculus and Its Formal Semantics

- Computer Science
- 2015

The orchestration calculus Knorc is introduced, which is a conservative extension of the Orc calculus designed by J. Misra et.

### ParT: An Asynchronous Parallel Abstraction for Speculative Pipeline Computations

- Computer ScienceCOORDINATION
- 2016

A typed calculus capturing the essence of ParT is presented, abstracting away from details of the Encore and Clojure programming languages, which includes tasks, futures, and combinators similar to those of Orc but implemented in a non-blocking fashion.

### Automatic Transformation of Formal Maude Designs into Correct-by-Construction Distributed Implementations

- Computer Science
- 2019

To the best of the knowledge, this is the first time that formal models of distributed systems analyzed within the same formal framework for both logical and performance properties are automatically transformed into logically correct-by-construction implementations for which similar performance trends can be shown.

### Prototyping a Concurrency Model

- Computer Science2013 13th International Conference on Application of Concurrency to System Design
- 2013

This work proposes a methodology for prototyping concurrency models using executable formal specifications, and applies this methodology to SCOOP, an object-oriented concurrency model, to uncover and fix three major flaws in the model.

### A Survey of Multitier Programming

- Computer ScienceACM Comput. Surv.
- 2021

An overview of the existing multitier research languages is provided, their positioning in the design space is discussed, and open research problems are outlined.

### Verification of Orchestration Systems Using Compositional Partial Order Reduction

- Computer ScienceICFEM
- 2011

A new method, called Compositional Partial Order Reduction (CPOR), is presented, which aims to provide greater state-space reduction than classic partial order reduction methods in the context of hierarchical concurrent processes.

## References

SHOWING 1-10 OF 29 REFERENCES

### Real-time rewriting semantics of orc

- Computer SciencePPDP '07
- 2007

This paper proposes a real-time operational Orc semantics, that captures the informal operational semantics given in [19], and gives as a rewrite theory in which the elapse of time is explicitly modeled.

### Rewriting Logic Semantics of Orc

- Computer Science
- 2007

A realtime operational Orc semantics is proposed, that captures the informal operational semantics given in [26].

### Reduction Semantics and Formal Analysis of Orc Programs

- Computer ScienceElectron. Notes Theor. Comput. Sci.
- 2008

### Event Structure Semantics of Orc

- Computer ScienceWS-FM
- 2007

This paper develops a partial-order semantics in terms of heaps, for Orc, an orchestration language used to describe distributed computations over the internet, and shows how Orc, and this new semantics, are used for QoS studies of wide area orchestrations.

### The Orc Programming Language

- Computer ScienceFMOODS/FORTE
- 2009

This paper describes a small functional programming language that forms the core language of Orc, and shows how the concurrency combinators of the process calculus and the functional core language are integrated seamlessly.

### Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools

- Computer ScienceIJCAR
- 2004

By using a high-performance implementation of rewriting logic such as Maude, a language’s formal specification can be automatically transformed into an efficient interpreter and several limitations of both SOS and equational semantics are overcome.

### A Tree Semantics of an Orchestration Language

- Computer Science
- 2005

The style adopted in this paper is neutral between implementer and programmer, and its main achievement is to permit simple proofs of familiar algebraic identities that hold between programs with different syntactic forms.

### Real-Time Maude 2.3 manual

- Computer Science
- 2004

The version 2.3 of the language and tool Real-Time Maude is described, which offers a wide range of analysis techniques, including timed rewriting for simulation purposes, untimed and time-bounded search for states that are reachable from the initial state and match a given search pattern.

### Semantics and pragmatics of Real-Time Maude

- Computer ScienceHigh. Order Symb. Comput.
- 2007

This paper describes both the semantics of Real-Time Maude specifications, and of the formal analyses supported by the tool, and explains the tool's pragmatics, both in the use of its features, and in its application to concrete examples.