Abstract

Although many research efforts have been spent on the theory and implementation of data-based coordination languages, not much effort has been devoted to constructing programming environments to analyze and reason on programs written in these languages. This paper proposes a simple workbench for describing concurrent systems using a Linda-like language, for animating them and for reasoning on them using a fragment of linear temporal logic. In contrast to some tools developed for traditional process algebras like CCS, a key feature of our workbench is that it maintains a direct relation between what is written by the user and its internal representation in the workbench. Another feature, particularly useful for didactic purposes, is the production of trace examples, replayable, when LTL formulae are satisfied.

Highlights

  • In the aim of building interactive distributed systems, a clear separation between the interactional and the computational aspects of software components has been advocated by Gelernter and Carriero in [14]

  • Many pieces of work have been devoted to the proposal of new languages, semantics and implementations, few articles have addressed the concerns of practically constructing programs in coordination languages, in particular in checking that what is described by programs corresponds to what has to be modeled

  • Based on previous work by the first author on a Linda-like dialect, named Bach, this paper aims at introducing a workbench to reason on programs written in Bach extended with several facilities

Read more

Summary

Introduction

In the aim of building interactive distributed systems, a clear separation between the interactional and the computational aspects of software components has been advocated by Gelernter and Carriero in [14] Their claim has been supported by the design of a model, Linda [4], originally presented as a set of inter-agent communication primitives which may be added to almost any programming language. – the tool should maintain a direct relation between what is written by the user and its internal representation This property allows the user to better grasp what is computed as well as to produce meaningful traces. To make our developments more concrete, we shall use the rush hour puzzle as a running example This game, illustrated, consists in moving cars and trucks on a 6 × 6 grid, according to their direction, such that the red car can exit.

Scan design and overview
Definition of data
Agents
Animations
A fragment of temporal logic
Implementation
Internal representation of data
Parsing Anim-Bach constructs
The store
The simulator
The scene
Temporal formulae
Related work
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call