Project : s4
Section: Scientific Foundations
The research work of the team is built on top of solid foundations, mainly, algebraic, combinatorial or logical theories of transition systems. These theories cover several sorts of systems which have been studied during the last thirty years: sequential, concurrent, synchronous or asynchronous. They aim at modeling the behavior of finite or infinite systems (usually by abstracting computations on data), with a particular focus on the control flow which rules state changes in these systems. Systems can be autonomous or reactive, that is, embedded in an environment with which the system interacts, both receiving an input flow, and emitting an output flow of events and data. System specifications can be explicit (for instance, when the system is specified by an automaton, defined extensively by a set of states and a set of transitions) or, implicit (symbolic transition rules, usually parametrized by state or control variables; partially-synchronized products of finite transition systems; Petri nets; systems of equations constraining the transitions of synchronous reactive systems, according to their input flows; etc.). Specifications can be non-ambiguous, meaning that they fully define at most one system (this holds in the previous cases) or, they can be ambiguous, in which case more than one system is conforming to the specification (for instance, when the system is described by logical formulas in the modal mu-calculus or, when the system is described by a set of scenario diagrams, such as Sequence Diagrams  or Message Sequence Charts ).
Systems can be described in two ways: either the state structure is described or, only the behavior is described. Both descriptions are often possible (this is the case for formal languages, automata, products of automata or, Petri nets), and moving from one representation to the other is achieved by folding/unfolding operations.
Another taxonomy criteria is the concurrency these models can encompass. Automata usually describe sequential systems. Concurrency in synchronous systems is usually not considered. In contrast, Petri nets or partially-synchronized products of automata are concurrent. When these models are transformed, concurrency can be either preserved, reflected or even, infused. An interesting case is whenever the target architecture requires distributing events among several processes. There, communication efficient implementations require that concurrency is preserved as far as possible and that, at the same time, causality relations are also preserved. These notions of causality and independence are best studied in models such as concurrent automata, Petri nets or Mazurkiewicz trace languages.
For more information on the numerous models of concurrency, the reader is referred to:
Jan van Leeuwen (ed.), Handbook of Theoretical Computer Science - Volume B: Formal Models and Semantics, Elsevier, 1990.
Wolfgang Reisig and Grzegorz Rozenberg (eds.), Lectures on Petri nets: advances in Petri nets, Lecture Notes in Computer Science, Vol. 1491, 1492, Springer, 1998.
Volker Diekert and Grzegorz Rozenberg (eds.), The Book of Traces, World Scientific, 1995.
André Arnold and Damian Niwinski, Rudiments of Mu-Calculus, North-Holland, 2001.
Gérard Berry, Synchronous languages for hardware and software reactive systems Hardware Description Languages and their Applications, Chapman and Hall, 1997.
Our research uses decidability or undecidability results on these models (for instance, inclusion of regular languages, bisimilarity on automata, reachability on Petri nets, validity of a formula in the mu-calculus, etc) and also, representation theorems which provide effective translations from one model to another. For instance, Zielonka's theorem yields an algorithm which maps regular trace languages to partially-synchronized products of finite automata. Another example is the theory of regions, which provides methods for mapping automata, languages, or even High-Level Message Sequence Charts  to Petri nets. A further example concerns the mu-calculus, in which, algorithms computing winning strategies for parity games can be used to synthesize supervisory control of discrete event systems.
Our research aims to contribute effective representation theorems, with a particular emphasis on algorithms and tools which, given an instance of one model, synthesize an instance of another model. In particular we have contributed a theory, several algorithms and a tool for synthesizing Petri nets from finite automata, regular languages, or languages of High-Level Message Sequence Charts. This also applies to our work on supervisory control of discrete event systems. In this framework, the problem is to compute a system (the controller) such that its partially-synchronized product with a given system (the plant) satisfies a given behavioral property (control objective, such as, a regular language or, satisfaction of a mu-calculus formula).
Software engineers often face problems like service adaptation or component interfacing. Problems of this kind are reducible to particular instances of system synthesis or supervisory control problems.