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

  title={Dist-Orc: A Rewriting-based Distributed Implementation of Orc with Formal Analysis},
  author={Musab A. Alturki and Jos{\'e} Meseguer},
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… 

Figures from this paper

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

From Models to Implementations - Distributed Algorithms using Maude

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

  • R. Lu
  • 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

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

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

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

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

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.

The rewriting logic semantics project: A progress report



Real-time rewriting semantics of orc

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

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

Reduction Semantics and Formal Analysis of Orc Programs

A timed semantics of Orc

Event Structure Semantics of Orc

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

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

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

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

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

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.