Today, with the widespread use of Internet and with the increase in the complexity of the software, it becomes vital to develop methods for ensuring the quality of concurrent software systems. It is therefore natural that this area, broadly referred to as concurrency theory, be represented in the journal Distributed Computing. As a way of reassessing this relevance, the present issue of the journal is entirely devoted to concurrency theory. The four papers presented cover three important topics within concurrency theory: timed automata, automated program synthesis, and testing. I briefly comment on the contributions below. Traditional automata model the interactions between a system and its environment by retaining only the sequencing of events. The behaviour of a system is thus the tree, or the set of sequences, of such events. The strength of automata theory lies in the efficient algorithms and decision procedures for automatically manipulating and analyzing the resulting behaviors. Many verification theories, including model checking, are based on the theory of automata, in one of their various variants (deterministic, Meely machines, Buchi, pushdown, etc.). While the abstraction from quantitative time has had many advantages, it prevents the applicability of the techniques to cases in which real-time constraints are essential. Timed automata were introduced by Alur and Dill in 1994 as a formal notation to model the behavior of realtime systems. In its definition, state-transitions are annotated with timing constraints using finitely many real-valued clock variables. Timed automata accept timed words; these are infinite sequences in which each symbol is associated with a
Read full abstract