A Theory of Communicating Sequential Processes
Journal of the ACM (JACM)
On the semantics of concurrency: partial orders and transition systems
The International Joint Conference on theory and practice of software development on TAPSOFT '87
Theoretical Computer Science
Algebraic theory of processes
Distribution and synchronized automata
Theoretical Computer Science
Process algebra
The state complexities of some basic operations on regular languages
Theoretical Computer Science
ACM Computing Surveys (CSUR)
Communicating sequential processes
Communications of the ACM
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Petri Net Theory and the Modeling of Systems
Petri Net Theory and the Modeling of Systems
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Inclusion is Undecidable for Pattern Languages
ICALP '93 Proceedings of the 20th International Colloquium on Automata, Languages and Programming
Lectures on a Calculus for Communicating Systems
Seminar on Concurrency, Carnegie-Mellon University
Proceedings of an Advanced Course on Petri Nets: Central Models and Their Properties, Advances in Petri Nets 1986-Part II
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
Limitations of Dijkstra's Semaphore Primitives and Petri nets
SOSP '73 Proceedings of the fourth ACM symposium on Operating system principles
Hi-index | 0.00 |
New constructs for synchronization termed synchronization expressions (SEs) have been developed as high-level language constructs for parallel programming languages [8, 9]. Statements that are constrained by certain synchronization requirements are tagged, and synchronization requests are specified as expressions of statement tags. In this paper, we introduce a new family of languages named synchronization languages which we use to give a precise semantic description for SEs. Under this description, relations such as equivalence and inclusion between SEs can be easily understood and tested. In practice, it also provides us with a systematic way for the implementation as well as the simplification of SEs in parallel programming languages. We show that each synchronization language is closed under the following rewriting rules: (1) asbs → bsas, (2) atbt → btat, (3) asbt → btas, (4) atasbtbs → btbsatas and also h(atasbtbs) → h(btbsatas) for any morphism h that satisfies certain conditions which will be specified in the paper. We conjecture that closure under the above rewriting rules is a sufficient condition for a regular st-language to be a synchronization language. Several other properties of synchronization languages are also studied.