The Experts below are selected from a list of 5982 Experts worldwide ranked by ideXlab platform

Fabio Zanasi - One of the best experts on this subject based on the ideXlab platform.

  • bialgebraic foundations for the operational semantics of string diagrams
    Information & Computation, 2021
    Co-Authors: Filippo Bonchi, Robin Piedeleu, Pawel Sobocinski, Fabio Zanasi
    Abstract:

    Abstract Turi and Plotkin's bialgebraic semantics is an abstract approach to specifying the operational semantics of a system, by means of a distributive law between its syntax (encoded as a monad) and its dynamics (an endofunctor). This setup is instrumental in showing that a semantic specification (a coalgebra) is compositional. In this work, we use the bialgebraic approach to derive well-behaved structural operational semantics of string diagrams, a graphical syntax that is increasingly used in the study of interacting systems across different disciplines. Our analysis relies on representing the two-dimensional operations underlying string diagrams in various categories as a monad, and their semantics as a distributive law for that monad. As a proof of concept, we provide bialgebraic semantics for a versatile string diagrammatic language which has been used to model both signal flow graphs (control Theory) and Petri nets (Concurrency Theory).

Wolper Pierre - One of the best experts on this subject based on the ideXlab platform.

  • An algorithmic approach for checking closure properties of temporal logic specifications and ω-regular languages
    Published by Elsevier B.V., 1998
    Co-Authors: Peled Doron, Wilke Thomas, Wolper Pierre
    Abstract:

    AbstractIn Concurrency Theory, there are several examples where the interleaved model of Concurrency can distinguish between execution sequences which are not significantly different. One such example is sequences that differ from each other by stuttering, i.e., the number of times a state can adjacently repeat. Another example is executions that differ only by the ordering of independently executed events. Considering these sequences as different is semantically rather meaningless. Nevertheless, specification languages that are based on interleaving semantics, such as linear temporal logic (LTL), can distinguish between them. This situation has led to several attempts to define languages that cannot distinguish between such equivalent sequences. In this paper, we take a different approach to this problem: we develop algorithms for deciding if a property cannot distinguish between equivalent sequences, i.e., is closed under the equivalence relation. We focus on properties represented by regular languages, ω-regular languages, or prepositional LTL formulas and show that for such properties there is a wide class of equivalence relations for which determining closure is decidable, in fact is in PSPACE. Hence, checking the closure of a specification is no more difficult than checking satisfiability of a temporal formula. Among the closure properties we are able to handle, one finds trace closedness, stutter closedness and projective closedness, for all of which we are also able to prove a PSPACE lower bound. Being able to check that a property is closed under an equivalence relation has an immediate application in state-space exploration based verification. Indeed, the knowledge that the specification does not distinguish between equivalent execution sequences allows constructing a reduced state space where it is sufficient that at least one sequence per equivalence class is represented

  • An algorithmic approach for checking closure properties of temporal logic specifications and ω-regular languages
    'Elsevier BV', 1998
    Co-Authors: Peled Doron, Wilke Thomas, Wolper Pierre
    Abstract:

    peer reviewedaudience: researcherIn Concurrency Theory, there are several examples where the interleaved model of Concurrency can distinguish between execution sequences which are not significantly different. One such example is sequences that differ from each other by stuttering, i.e., the number of times a state can adjacently repeat. Another example is executions that differ only by the ordering of independently executed events. Considering these sequences as different is semantically rather meaningless. Nevertheless, specification languages that are based on interleaving semantics, such as linear temporal logic (LTL), can distinguish between them. This situation has led to several attempts to define languages that cannot distinguish between such equivalent sequences. In this paper, we take a different approach to this problem: we develop algorithms for deciding if a property cannot distinguish between equivalent sequences, i.e., is closed under the equivalence relation. We focus on properties represented by regular languages, ω-regular languages, or prepositional LTL formulas and show that for such properties there is a wide class of equivalence relations for which determining closure is decidable, in fact is in PSPACE. Hence, checking the closure of a specification is no more difficult than checking satisfiability of a temporal formula. Among the closure properties we are able to handle, one finds trace closedness, stutter closedness and projective closedness, for all of which we are also able to prove a PSPACE lower bound. Being able to check that a property is closed under an equivalence relation has an immediate application in state-space exploration based verification. Indeed, the knowledge that the specification does not distinguish between equivalent execution sequences allows constructing a reduced state space where it is sufficient that at least one sequence per equivalence class is represented

  • An algorithmic approach for checking closure properties of temporal logic specifications and ω-regular languages
    1998
    Co-Authors: Peled Doron, Wilke Thomas, Wolper Pierre
    Abstract:

    In Concurrency Theory, there are several examples where the interleaved model of Concurrency can distinguish between execution sequences which are not significantly different. One such example is sequences that differ from each other by stuttering, i.e., the number of times a state can adjacently repeat. Another example is executions that differ only by the ordering of independently executed events. Considering these sequences as different is semantically rather meaningless. Nevertheless, specification languages that are based on interleaving semantics, such as linear temporal logic (LTL), can distinguish between them. This situation has led to several attempts to define languages that cannot distinguish between such equivalent sequences. In this paper, we take a different approach to this problem: we develop algorithms for deciding if a property cannot distinguish between equivalent sequences, i.e., is closed under the equivalence relation. We focus on properties represented by regular languages, ω-regular languages, or prepositional LTL formulas and show that for such properties there is a wide class of equivalence relations for which determining closure is decidable, in fact is in PSPACE. Hence, checking the closure of a specification is no more difficult than checking satisfiability of a temporal formula. Among the closure properties we are able to handle, one finds trace closedness, stutter closedness and projective closedness, for all of which we are also able to prove a PSPACE lower bound. Being able to check that a property is closed under an equivalence relation has an immediate application in state-space exploration based verification. Indeed, the knowledge that the specification does not distinguish between equivalent execution sequences allows constructing a reduced state space where it is sufficient that at least one sequence per equivalence class is represented.Peer reviewe

Pham, The Anh - One of the best experts on this subject based on the ideXlab platform.

  • Exploration efficace de l'espace d'état pour les programmes distribués asynchrones: Adaptation de l’UDPOR aux programes MPI.
    HAL CCSD, 2019
    Co-Authors: Pham, The Anh
    Abstract:

    Distributed message passing applications are in the mainstream of information technology since they exploit the power of parallel computer systems to produce higher performance. Designing distributed programs remains challenging because developers have to reason about Concurrency, non-determinism, data distribution… that are main characteristics of distributed programs. Besides, it is virtually impossible to ensure the correctness of such programs via classical testing approaches since one may never successfully reach the execution that leads to unwanted behaviors in the programs. There is thus a need for more powerful verification techniques. Model-checking is one of the formal methods that allows to verify automatically and effectively some properties on models of computer systems by exploring all possible behaviors (states and transitions) of the system model. However, state spaces increase exponentially with the number of concurrent processes, leading to “state space explosion”.Unfolding-based Dynamic Partial Order Reduction (UDPOR) is a recent technique mixing Dynamic Partial Order Reduction (DPOR) with concepts of Concurrency Theory such as unfoldings to efficiently mitigate state space explosion in model-checking of concurrent programs. It is optimal in the sense that each Mazurkiewicz trace, i.e. a class of interleavings equivalent by commuting adjacent independent actions, is explored exactly once. And it is applicable to running programs, not only models of programs.The thesis aims at adapting UDPOR to verify asynchronous distributed programs (e.g. MPI programs) in the setting of the SIMGRID simulator of distributed applications. To do so, an abstract programming model of asynchronous distributed programs is defined and formalized in the TLA+ language, allowing to precisely define an independence relation, a main ingredient of the Concurrency semantics. Then, the adaptation of UDPOR, involving the construction of an unfolding, is made efficient by a precise analysis of dependencies in the programming model, allowing efficient computations of usually costly operation. A prototype implementation of UDPOR adapted to distributed asynchronous programs has been developed, giving promising experimental results on a significant set of benchmarks.Distributed message passing applications are in the mainstream of information technology since they exploit the power of parallel computer systems to produce higher performance. Designing distributed programs remains challenging because developers have to reason about Concurrency, non-determinism, data distribution… that are main characteristics of distributed programs. Besides, it is virtually impossible to ensure the correctness of such programs via classical testing approaches since one may never successfully reach the execution that leads to unwanted behaviors in the programs. There is thus a need for more powerful verification techniques. Model-checking is one of the formal methods that allows to verify automatically and effectively some properties on models of computer systems by exploring all possible behaviors (states and transitions) of the system model. However, state spaces increase exponentially with the number of concurrent processes, leading to “state space explosion”.Unfolding-based Dynamic Partial Order Reduction (UDPOR) is a recent technique mixing Dynamic Partial Order Reduction (DPOR) with concepts of Concurrency Theory such as unfoldings to efficiently mitigate state space explosion in model-checking of concurrent programs. It is optimal in the sense that each Mazurkiewicz trace, i.e. a class of interleavings equivalent by commuting adjacent independent actions, is explored exactly once. And it is applicable to running programs, not only models of programs.The thesis aims at adapting UDPOR to verify asynchronous distributed programs (e.g. MPI programs) in the setting of the SIMGRID simulator of distributed applications. To do so, an abstract programming model of asynchronous distributed programs is defined and formalized in the TLA+ language, allowing to precisely define an independence relation, a main ingredient of the Concurrency semantics. Then, the adaptation of UDPOR, involving the construction of an unfolding, is made efficient by a precise analysis of dependencies in the programming model, allowing efficient computations of usually costly operation. A prototype implementation of UDPOR adapted to distributed asynchronous programs has been developed, giving promising experimental results on a significant set of benchmarks

  • Exploration efficace de l'espace d'états adaptée aux programmes distribués asynchrone ˸ adaptation de la réduction d'ordre partiel basée sur les dépliages pour les programmes MPI
    HAL CCSD, 2019
    Co-Authors: Pham, The Anh
    Abstract:

    Distributed message passing applications are in the mainstream of information technology since they exploit the power of parallel computer systems to produce higher performance. Designing distributed programs remains challenging because developers have to reason about Concurrency, non-determinism, data distribution… that are main characteristics of distributed programs. Besides, it is virtually impossible to ensure the correctness of such programs via classical testing approaches since one may never successfully reach the execution that leads to unwanted behaviors in the programs. There is thus a need for more powerful verification techniques. Model-checking is one of the formal methods that allows to verify automatically and effectively some properties on models of computer systems by exploring all possible behaviors (states and transitions) of the system model. However, state spaces increase exponentially with the number of concurrent processes, leading to “state space explosion”.Unfolding-based Dynamic Partial Order Reduction (UDPOR) is a recent technique mixing Dynamic Partial Order Reduction (DPOR) with concepts of Concurrency Theory such as unfoldings to efficiently mitigate state space explosion in model-checking of concurrent programs. It is optimal in the sense that each Mazurkiewicz trace, i.e. a class of interleavings equivalent by commuting adjacent independent actions, is explored exactly once. And it is applicable to running programs, not only models of programs.The thesis aims at adapting UDPOR to verify asynchronous distributed programs (e.g. MPI programs) in the setting of the SIMGRID simulator of distributed applications. To do so, an abstract programming model of asynchronous distributed programs is defined and formalized in the TLA+ language, allowing to precisely define an independence relation, a main ingredient of the Concurrency semantics. Then, the adaptation of UDPOR, involving the construction of an unfolding, is made efficient by a precise analysis of dependencies in the programming model, allowing efficient computations of usually costly operation. A prototype implementation of UDPOR adapted to distributed asynchronous programs has been developed, giving promising experimental results on a significant set of benchmarks.Les applications de transmission de messages distribués font partie du courant dominant des technologies de l'information car elles exploitent la puissance des systèmes informatiques parallèles pour produire des performances plus élevées. La conception de programmes distribués reste difficile car les développeurs doivent raisonner sur la concurrence, le non-déterminisme, la distribution de données… qui sont les principales caractéristiques des programmes distribués. En outre, il est pratiquement impossible de garantir l'exactitude de tels programmes via des approches de test classiques, car il est possible que l'on n'atteigne jamais avec succès l'exécution qui conduit à des comportements indésirables dans les programmes. Il existe donc un besoin de techniques de vérification plus puissantes. La vérification des modèles est l'une des méthodes formelles qui permet de vérifier automatiquement et efficacement certaines propriétés des modèles de systèmes informatiques en explorant tous les comportements possibles (états et transitions) du modèle de système. Cependant, les espaces d'état augmentent de façon exponentielle avec le nombre de processus simultanés, conduisant à une «explosion de l'espace d'état» .La réduction dynamique de l'ordre partiel basée sur le dépliage (UDPOR) est une technique récente mélangeant la réduction dynamique de l'ordre partiel (DPOR) avec des concepts de théorie de la concurrence tels que dépliages pour atténuer efficacement l'explosion de l'espace d'états lors de la vérification des modèles de programmes simultanés. Il est optimal dans le sens où chaque trace de Mazurkiewicz, c'est-à-dire une classe d'entrelacements équivalents en commutant des actions indépendantes adjacentes, est explorée exactement une fois. Et elle s'applique aux programmes en cours d'exécution, pas seulement aux modèles de programmes.La thèse vise à adapter UDPOR pour vérifier les programmes distribués asynchrones (par exemple les programmes MPI) dans le cadre du simulateur SIMGRID d'applications distribuées. Pour ce faire, un modèle de programmation abstrait de programmes distribués asynchrones est défini et formalisé en langage TLA +, permettant de définir avec précision une relation d'indépendance, ingrédient principal de la sémantique concurrentielle. Ensuite, l'adaptation de l'UDPOR, impliquant la construction d'un dépliage, est rendue efficace par une analyse précise des dépendances dans le modèle de programmation, permettant des calculs efficaces d'opérations habituellement coûteuses. Un prototype d'implémentation d'UDPOR adapté aux programmes asynchrones distribués a été développé, donnant des résultats expérimentaux prometteurs sur un ensemble significatif de références

Peschanski Fréderic - One of the best experts on this subject based on the ideXlab platform.

  • Quantitative and Algorithmic aspects of Barrier Synchronization in Concurrency
    DMTCS, 2021
    Co-Authors: Bodini Olivier, Genitrini Antoine, Dien Matthieu, Peschanski Fréderic
    Abstract:

    International audienceIn this paper we address the problem of understanding Concurrency Theory from a combinatorial point of view. We are interested in quantitative results and algorithmic tools to refine our understanding of the classical combinatorial explosion phenomenon arising in Concurrency. This paper is essentially focusing on the the notion of synchronization from the point of view of combinatorics. As a first step, we address the quantitative problem of counting the number of executions of simple processes interacting with synchronization barriers. We elaborate a systematic decomposition of processes that produces a symbolic integral formula to solve the problem. Based on this procedure, we develop a generic algorithm to generate process executions uniformly at random. For some interesting sub-classes of processes we propose very efficient counting and random sampling algorithms. All these algorithms have one important characteristic in common: they work on the control graph of processes and thus do not require the explicit construction of the state-space

  • Quantitative and Algorithmic aspects of Barrier Synchronization in Concurrency
    HAL CCSD, 2020
    Co-Authors: Bodini Olivier, Genitrini Antoine, Dien Matthieu, Peschanski Fréderic
    Abstract:

    In this paper we address the problem of understanding Concurrency Theory from a combinatorial point of view. We are interested in quantitative results and algorithmic tools to refine our understanding of the classical combinatorial explosion phenomenon arising in Concurrency. This paper is essentially focusing on the the notion of synchronization from the point of view of combinatorics. As a first step, we address the quantitative problem of counting the number of executions of simple processes interacting with synchronization barriers. We elaborate a systematic decomposition of processes that produces a symbolic integral formula to solve the problem. Based on this procedure, we develop a generic algorithm to generate process executions uniformly at random. For some interesting sub-classes of processes we propose very efficient counting and random sampling algorithms. All these algorithms have one important characteristic in common: they work on the control graph of processes and thus do not require the explicit construction of the state-space

  • A Quantitative Study of Pure Parallel Processes
    Open Journal Systems, 2016
    Co-Authors: Bodini Olivier, Genitrini Antoine, Peschanski Fréderic
    Abstract:

    International audienceIn this paper, we study the interleaving – or pure merge – operator that most often characterizes parallelism in Concurrency Theory. This operator is a principal cause of the so-called combinatorial explosion that makes the analysis of process behaviours e.g. by model-checking, very hard – at least from the point of view of computational complexity. The originality of our approach is to study this combinatorial explosion phenomenon on average, relying on advanced analytic combinatorics techniques. We study various measures that contribute to a better understanding of the process behaviours represented as plane rooted trees: the number of runs (corresponding to the width of the trees), the expected total size of the trees as well as their overall shape. Two practical outcomes of our quantitative study are also presented: (1) a linear-time algorithm to compute the probability of a concurrent run prefix, and (2) an efficient algorithm for uniform random sampling of concurrent runs. These provide interesting responses to the combinatorial explosion problem

Filippo Bonchi - One of the best experts on this subject based on the ideXlab platform.

  • bialgebraic foundations for the operational semantics of string diagrams
    Information & Computation, 2021
    Co-Authors: Filippo Bonchi, Robin Piedeleu, Pawel Sobocinski, Fabio Zanasi
    Abstract:

    Abstract Turi and Plotkin's bialgebraic semantics is an abstract approach to specifying the operational semantics of a system, by means of a distributive law between its syntax (encoded as a monad) and its dynamics (an endofunctor). This setup is instrumental in showing that a semantic specification (a coalgebra) is compositional. In this work, we use the bialgebraic approach to derive well-behaved structural operational semantics of string diagrams, a graphical syntax that is increasingly used in the study of interacting systems across different disciplines. Our analysis relies on representing the two-dimensional operations underlying string diagrams in various categories as a monad, and their semantics as a distributive law for that monad. As a proof of concept, we provide bialgebraic semantics for a versatile string diagrammatic language which has been used to model both signal flow graphs (control Theory) and Petri nets (Concurrency Theory).