Book ChapterDOI
Unfold/Fold Transformations of Concurrent Processes
Nicoletta De Francesco,Antonella Santone +1 more
- pp 167-181
Reads0
Chats0
TLDR
The aim of this paper is to define a theory of transformations of concurrent programs based on Unfold/Fold based transformations for the concurrent calculus CCS and to prove it correct.Abstract:
Program transformation is a technique for obtaining, starting from a program P, a semantically equivalent one, which is ”better” than P with respect to a particular goal. Traditionally, the main goal of program transformation was obtaining more efficient programs, but, in general, this technique can be used to produce programs written in a syntactic form satisfying some properties. Program transformation techniques have been extensively studied in the framework of functional and logic languages, where they were applied mainly to obtain more efficient and readable programs. All these works are based on the Unfold/Fold program transformation method developed by Burstall and Darlington in the context of their recursive equational language. The use of Unfold/Fold based transformations for concurrent languages is a relevant issue that has not yet received an adequate attention. In fact the existing proposals of transformations of concurrent programs are not based on a general Unfold/Fold transformation theory. The aim of this paper is to define such a theory for the concurrent calculus CCS and to prove it correct.read more
Citations
More filters
Journal ArticleDOI
Transformations of CCP programs
TL;DR: In this article, a transformation system for concurrent constraint programming (CCP) is presented, which allows us to optimize CCP programs while preserving their intended meaning, which can also lead to the elimination of communication channels and synchronization points, to the transformation of nondeterministic computations into deterministic ones, and to the crucial saving of computational space.
Posted Content
Transformations of CCP programs
TL;DR: A transformation system for concurrent constraint programming that preserves the deadlock behavior of programs and can be used for proving deadlock-freeness of a given program with respect to a class of queries.
Proceedings ArticleDOI
Partial-evaluation techniques for concurrent programs
TL;DR: This paper presents an application of partial evaluation (program specialization) techniques to concurrent programs and addresses pragmatic concerns such as improving the binding-time analysis, controlling loop unrolling and the consequences of lifting nondeterminism from run-time to specialization-time.
Proceedings ArticleDOI
A transformation system for CLP with dynamic scheduling and CCP
TL;DR: This paper defines suitable applicability conditions for unfold/fold transformations which guarantee that the original and the transformed program have the same results of successful derivations and the same deadlock free queries.
Journal Article
Unfold/fold transformations of CCP programs
TL;DR: In this paper, a transformation system for concurrent constraint programming (CCP) is presented, which allows to optimize CCP programs while preserving their intended meaning, since it can be used for proving deadlock freeness of a class of queries in a given program.
References
More filters
Book
Communication and Concurrency
TL;DR: This chapter discusses Bisimulation and Observation Equivalence as a Modelling Communication, a Programming Language, and its application to Equational laws.
Journal ArticleDOI
A Transformation System for Developing Recursive Programs
Rod M. Burstall,John Darlington +1 more
TL;DR: A system of rules for transforming programs, with the programs in the form of recursion equations, are described, with an initially very simple, lucid, and hopefully correct program transformed into a more efficient one by altering the recursion structure.
Journal ArticleDOI
Model checking and abstraction
TL;DR: Using techniques similar to those involved in abstract interpretation, an abstract model of a program is constructed without ever examining the corresponding unabstracted model, and it is shown how this abstract model can be used to verify properties of the original program.
Journal ArticleDOI
CCS expressions finite state processes, and three problems of equivalence
TL;DR: The computational complexity of testing finite state processes for equivalence in Milner's Calculus of Communicating Systems (CCS) is examined and it is proved that observational equivalence can be tested in polynomial time and that testing for failure equivalence is PSPACE-complete.