- Front Matter
- 10.1016/s1571-0661(05)80561-4
Preface: Volume 62
- Jun 01, 2002
- Electronic Notes in Theoretical Computer Science
- Marina Lenisa + 1 more +1
Preface: Volume 62
Process algebra provides abstract and rigorous means for studying communicating concurrent systems. Coordination languages also provide abstract means for the specifying and programming communication of components. Hence, the two fields seem to have very much in common and the link between these two research areas have been established formally by means of several translations, mainly from coordination languages to process algebras. There have also been proposals of process algebras whose communication policy is inspired by the one underlying coordination languages. The aim of this workshop was to push the state of the art in the study of the connections between process algebra and coordination languages by bringing together experts as well as young researchers from the two fields to communicate their ideas and findings. It includes both contributed and invited papers that have been presented during the one day meeting on Process Algebra and Coordination (PACO 2011) which took place on June 9, 2011 in Reykjavik, Iceland.
Preface: Volume 62
Preface: Volume 62
Topology, randomness and noise in process calculus
Formal models of communicating and concurrent systems are one of the most important topics in formal methods, and process calculus is one of the most successful formal models of communicating and concurrent systems. In the previous works, the author systematically studied topology in process calculus, probabilistic process calculus and pi-calculus with noisy channels in order to describe approximate behaviors of communicating and concurrent systems as well as randomness and noise in them. This article is a brief survey of these works.
Read moreTime and Fairness in a Process Algebra with Non-blocking Reading
We introduce the first process algebra with non-blocking reading actions for modelling concurrent asynchronous systems. We study the impact this new kind of actions has on fairness, liveness and the timing of systems, using as application Dekker’s mutual exclusion algorithm we already considered in [4]. Regarding some actions as reading, this algorithm satisfies MUTEX liveness already under the assumption of fairness of actions. We demonstrate an interesting correspondence between liveness and the catastrophic cycles that we introduced in [6] when studying the performance of pipelining. Finally, our previous result on the correspondence between timing and fairness [4] scales up to the extended language.
Read moreParameterized verification
The goal of parameterized verification is to prove the correctness of a system specification regardless of the number of its components. The problem is of interest in several different areas: verification of hardware design, multithreaded programs, distributed systems, and communication protocols. The problem is undecidable in general. Solutions for restricted classes of systems and properties have been studied in areas like theorem proving, model checking, automata and logic, process algebra, and constraint solving. In this introduction to the special issue, dedicated to a selection of works from the Parameterized Verification workshop PV ’14 and PV ’15, we survey some of the works developed in this research area.
Read moreThe Petri Box Calculus
In this chapter we outline a process algebra, whose name — Petri Box Calculus (PBC) — arises from its original Petri net semantics [6, 7]. PBC combines a number of features taken from other process algebras, such as COSY (Concurrent Systems notation, [62]), CCS (Calculus of Communicating Systems, [80, 81]), SCCS (Synchronous CCS, [81]), CSP (Communicating Sequential Processes, [58]), TCSP (Theoretical CSP, [59]) and ACP (Algebra of Communicating Processes, [2]). However, there are some fundamental differences with each of these process algebras since PBC has been designed with two specific objectives in mind: To support a compositional Petri net semantics, together with an equivalent — more syntax-oriented — structured operational semantics (SOS) [89]. To provide as flexible as possible a basis for developing a compositional semantics of high-level concurrent specification and programming languages with full data and control features.
Read moreYoung Researcher Meeting, Trieste 2014
The Young Researcher Meeting (www.yrmr.it) has confirmed once again this year the enthusiasm and determination of Ph.D. students, postdoctoral fellows and young researchers to play a major role in the scientific progress. Since 2009, we regularly gather together to discuss the most recent developments and achievements in Physics, firmly convinced that sharing our expertise and experience is the foundation of research activity.
Read moreProceedings 14th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems
This volume contains the proceedings of FOCLASA 2015, the 14th International\nWorkshop on the Foundations of Coordination Languages and Self-Adaptive\nSystems. FOCLASA 2015 was held in Madrid, Spain, on September 5, 2015 as a\nsatellite event of CONCUR 2015, the 26th International Conference on\nConcurrency Theory.\n Modern software systems are distributed, concurrent, mobile, and often\ninvolve composition of heterogeneous components and stand-alone services.\nService coordination and self-adaptation constitute the core characteristics of\ndistributed and service-oriented systems. Coordination languages and formal\napproaches to modelling and reasoning about self-adaptive behaviour help to\nsimplify the development of complex distributed service-based systems, enable\nfunctional correctness proofs, automated synthesis of correct-by-construction\nsystems, and improve reusability and maintainability of such systems. The goal\nof the FOCLASA workshop is to put together researchers and practitioners of the\naforementioned fields, to share and identify common problems, and to devise\ngeneral solutions in the context of coordination languages and self-adaptive\nsystems.\n
Read moreA Methodology for the Formal Analysis of Asynchronous Micropipelines
In this paper we present a process algebra approach for the integrated verification of correctness and performance in concurrent systems. The verification procedure is entirely performed within the Circal process algebra, without any recourse to other formalisms. Performance is characterised in terms of logical properties, which do not incorporate explicit time. Such properties are then interpreted in terms of degree of parallelism and allow the quantitative evaluation of the throughput of the system. The approach has been applied to two four-phase handshaking protocols, which are motivated by the implementation of the AMULET2 asynchronous RISC processor. Both correctness and performance properties are captured in the same verification framework and automatically proved using the Circal System.
Read moreRevTPL: The Reversible Temporal Process Language
Reversible debuggers help programmers to find the causes of misbehaviours in concurrent programs more quickly, by executing a program backwards from the point where a misbehaviour was observed, and looking for the bug(s) that caused it. Reversible debuggers can be founded on the well-studied theory of causal-consistent reversibility, which only allows one to undo an action provided that its consequences, if any, are undone beforehand. Causal-consistent reversibility yields more efficient debugging by reducing the number of states to be explored when looking backwards. Till now, causal-consistent reversibility has never considered time, which is a key aspect in real-world applications. Here, we study the interplay between reversibility and time in concurrent systems via a process algebra. The Temporal Process Language (TPL) by Hennessy and Regan is a well-understood extension of CCS with discrete-time and a timeout operator. We define revTPL, a reversible extension of TPL, and we show that it satisfies the properties expected from a causal-consistent reversible calculus. We show that, alternatively, revTPL can be interpreted as an extension of reversible CCS with time.
Read morePSF - A Retrospective
Modern day computer architectures offer ever-increasing support for parallel processing, still it turns out to be quite difficult for programmers and therefore programs to tap into these parallel resources. To benefit from real general-purpose parallel computing we claim that it is likely that a paradigm shift is needed in the way we think about programming. This change of thought in turn will need to be reflected in future programming languages as well. We think that the field of process algebra provides thorough insight in how to reason about the construction of software for concurrent systems and will be one of the enabling technologies supporting this transition. The wish to connect process algebra, a mathematical theory, to the world of computer-readable and executable specifications led to the development of PSF (Process Specification Formalism). PSF is an implementation of the process algebra ACP (Algebra of Communicating Processes) integrating ASF (Algebraic Specification Formalism) to specify algebraic data types. One of the first publications on PSF appeared in Fundamenta Informaticae in 1990. Here we stated as the first sentence of the abstract: "Traditional methods for programming sequential machines are inadequate for specifying parallel systems". Unfortunately, though some advancements have been made since 1990, we can still uphold this statement 20 years later. This current report documents the developments that lead to the construction of PSF and the 1990 publication and moreover it also documents how PSF and its tools have evolved since 1990 taking the conclusion and the outlook for future work from the original article as a reference point. Using the knowledge gained both in constructing tools for PSF and in using PSF to specify concurrent systems, we will judge, discuss and criticise the design decisions taken and show paths for future developments.
Read moreA Non-interleaving Denotational Semantics of Value Passing CCS with Action Refinement
Process algebra provides essential tools for studying concurrent systems. An important branch of process algebra is value passing CCS. However, value passing CCS lacks not only action refinement, which is an essential operation in the design of concurrent systems, but also non-interleaving semantics, which is appropriate to specify the partial order and equivalence relations. In this paper, we will define action refinement and non-interleaving semantics by valued stable event structures and valued labeled configuration structures in which special valued actions will be executed. The refinement operation and semantics are useful for the hierarchical design methodology in value passing CCS, e.g. top-down system design.
Read moreCoordinating functional processes using Petri nets
Functional programs are well suited for concurrent execution due to the Church-Rosser property. However, for many applications there is still need to explicitly specify process systems instead of relying on compilers. Coordination languages provide one viable solution to the problem of specifying concurrent process systems, since they do not interfere with the properties of the language used for the algorithmic specification of the processes. The coordination language K2 to be proposed in this paper is based on a variant of colored Petri nets. It primarily defines process systems with deterministic behavior, but also allows for controlled forms of non-determinism. Specifications based on Petri nets offer several advantages. An underlying net calculus facilitates formal analysis and verification of basic safety and liveness properties. Graphical representations clearly expose structural dependencies among system components. Our variant of colored Petri nets provides several forms of net abstractions which facilitate the systematic construction of complex systems from small subsystems by composition. Recursive specifications can be used to adapt the structure of a process system to actual problem sizes or to varying input parameters.KeywordsInput StreamOutput StreamLiveness PropertyRecursive ProcessHierarchical ProcessThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Read moreFormal Approaches to SMS Service Based on Pi Calculus
With the rapid evolution of mobile communication technology, the short message service (SMS) is the most important and essential operating business. The Pi calculus is a process algebra that describes the concurrent, dynamic and mobile systems. This paper depicts the behaviors of SMS service based on Pi calculus, including the formal description of fixed and mobile area. The formal model for SMS service is introduced and the storage-transmit mechanisms are discussed. The mobility features are represented with Pi calculus that the mobile process is controlled by switching the channel and the moving user still accurately receives any message. The formalizations can be used as a basis for future research on other mobile computing or wireless communication.
Read moreActive Learning from Blackbox to Timed Connectors
Coordination models and languages play a key role in formally specifying the communication and interaction among different components in large-scale concurrent systems. In this paper, we use active learning to extract timed connector models from black-box system implementations. Firstly, parameterized Mealy machine (PMM) is introduced as an operational semantic model for channel-based coordination language Reo. With product and link operators defined, we can construct complex connectors by joining basic ones in form of PMM. Moreover, with a concretize mapping function, PMMs can be easily transformed into Mealy machines, and the latter can be extracted by an optimized L* algorithm.
Read moreRelating BIP and Reo
Coordination languages simplify design and development of concurrent systems. Particularly, exogenous coordination languages, like BIP and Reo, enable system designers to express the interactions among components in a system explicitly. In this paper we establish a formal relation between BI(P) (i.e., BIP without the priority layer) and Reo, by defining transformations between their semantic models. We show that these transformations preserve all properties expressible in a common semantics. This formal relation comprises the basis for a solid comparison and consolidation of the fundamental coordination concepts behind these two languages. Moreover, this basis offers translations that enable users of either language to benefit from the toolchains of the other.
Read more