Strategic directions in concurrency research

  title={Strategic directions in concurrency research},
  author={Rance Cleaveland and Scott A. Smolka},
  journal={ACM Comput. Surv.},
Concurrency is concerned with the fundamental aspects of systems of multiple, simultaneously active computing agents that interact with one another. This notion is intended to cover a wide range of system architectures, from tightly coupled, mostly synchronous parallel systems, to loosely coupled, largely asynchronous distributed systems. We refer to systems exhibiting concurrency as concurrent systems, and we call computer programs written for concurrent systems concurrent programs… 

A Generalized Streaming Model for Concurrent Computing

A generalized stream computing model is promoted, inspired by previous researches on stream computing, that unifies parallelization strategies for programming language design, compiler design and operating system design and demonstrates its potential through powerful design options for programming languages, compilers and operating systems.

Foundations of Communicating Concurrent Kleene Algebra

This paper proposes a mathematical framework for communication and concurrency called Communicating Concurrent Kleene Algebra (C 2 KA), which supports the ability to work in either a state-based or event-based model for the specification of concurrent and communicating systems.

Hierarchical finite state machines with multiple concurrency models

This paper studies the semantics of hierarchical finite state machines (FSM's) that are composed using various concurrency models, particularly dataflow, discrete-events, and synchronous/reactive

Representation and Implementation of CSP and VCR Traces

"structural" traces are introduced, a new type of trace that reflects the nested parallelism in a CSP system and are described in the Communicating Haskell Processes (CHP) library, using techniques which could easily be applied in other libraries such as JCSP and C++CSP2.

Semantic Theories and Automated Tools for Real-Time and Probabilistic Concurrent Systems

The main results achieved include a new semantic framework for reasoning about the relative reliability of probabilistic systems in different operating environments; an efficient algorithm for checking whether a specification of a real-time concurrent system satisfies a correctness property specified in areal-time temporal logic; and a new model of soft real- time systems that allows users to make rigorous statements about the likelihood with which systems are guaranteed to meet deadlines.

Specification and design of reactive systems

This thesis advocates decoupling the concurrency semantics from the FSM semantics, and describes a hierarchical combination of FSMs with various concurrency models becomes feasible, called *charts (pronounced “starcharts”).

Reactive Constraint Programming

An extension of tcc that allows the specification of nondeterministic computation, called the ntcc model, which is based upon ideas from both concurrent constraint programming and CCS-like models and claims the applicability of ntCC by modeling reactive system examples of RCX controllers.

Algorithmic Control in Concurrent Computations

All mathematical models of distributed computation, including such popular structures as neural networks, Petri nets, systolic arrays, iterative arrays, and cellular automata, are synthesized in the concept of grid automaton to understand how control algorithms in distributed systems organize computational processes.

A Formal Methodology for Concurrent Componentwise Development of Rich Internet Applications

This thesis proposes a formal, systematic, componentwise, model-driven RIA development approach in which the Equivalent Transformation Framework is extended to overcome the RIA challenges outlined above.

Comparison of Concurrency Frameworks for the Java Virtual Machine

This thesis provides a survey of multiple frameworks that provide higher abstractions for concurrent programming and enable alternative concurrency paradigms on the Java virtual machine.



Concurrent dynamic logic

This paper investigates extensions of dynamic logic tailored towards handling concurrent programs, with or without communication, and finds that both respects are dominated by the extent to which the capabilities of synchronization and (unbounded) counting are enabled in the system.

Models for Concurrency

This is a draft version of a chapter for the Handbook of Logic and the Foundations of Computer Science, Oxford University Press. The final draft can be found as DAIMI PB 463. It surveys a range of

Reactive Modules

  • R. AlurT. Henzinger
  • Computer Science, Mathematics
    Proceedings 11th Annual IEEE Symposium on Logic in Computer Science
  • 1996
The model represents synchronous and asynchronous components in a uniform framework that supports compositional (assume-guarantee) and hierarchical design and verification and uses a hiding operator that may turn a synchronous system into an asynchronous one.

Algebraic theory of processes

  • M. Hennessy
  • Computer Science
    MIT Press series in the foundations of computing
  • 1988
Algebraic Theory of Processes provides the first general and systematic introduction to the semantics of concurrent systems, a relatively new research area in computer science. It develops the

A Resource-Based Prioritized Bisimulation for Real-Time Systems

This paper develops a natural treatment of preemption, which is based not only on priority, but also on resource utilization and inter-resource synchronization, and yields a compositional proof system.

Synchronous Programming of Reactive Systems

This book presents a synthesis of recent works concerning reactive system design, based on Robin Milner's pioneering works about synchronous process algebras, which consists in considering that a program instantaneously reacts to events, or that the machine execution time is negligible with respect to the response delays of its environment.

The concurrency workbench: a semantics-based tool for the verification of concurrent systems

The Concurrency Workbench is an automated tool for analyzing networks of finite-state processes expressed in Milner's Calculus of Communicating Systems and a large number of interesting verification methods can be formulated as combinations of a small number of primitive algorithms.

The Temporal Logic of Reactive and Concurrent Systems

This volume offers an introduction to temporal logic and to the computational model for reactive programs which has been developed by the authors.

Viewing object as patterns of communicating agents

An approach to language design in which an executable notation describing the behaviour of communicating agents is extended by syntactic patterns that encapsulate language constructs that characterizes concurrent objects in terms of their externally visible behaviour is proposed.

Graph Rewriting and Constraint Solving for Modelling Distributed Systems with Synchronization (Extended Abstract)

This method has two main advantages: first, it is completely formal and thus provides a precise description of the way a distributed system evolves; second, it seems very promising from the performance point of view, since the techniques to combine productions together have been proven very convenient in several cases.