Séminaire 68NQRT

Séminaires 68NQRT - année 2004-2005


Mardi 19 juillet 2005 à 11h00 en salle Les Minquiers
Recovering the lattice of repetitive sub-functions
Guy-Vincent Jourdan (Université d'Ottawa)

Given a set of observations of an existing concurrent system with repetitive sub-functions, we consider the construction of an MSC graph representing the functionality of the concurrent system. We first introduce a formal structure that we call "lattice of repetitive sub-functions". This lattice provides us with a global view of all the repetitive sub-functions of the system and all the compatible observations. Using the lattice, we are able to propose an algorithm that constructs the MSC graph representation of the system functionality in a more general context than in previously published work. (with H. Ural, H. Yenigun)

Mardi 5 juillet 2005 à 11h00 en salle Aurigny
Coding Approaches to Fault Tolerance in Dynamic Systems
Christoforos Hadjicostis

Fault tolerance has been a long standing necessity in system design and operation. In systems with memory (state), however, modular redundancy and other traditional approaches to fault tolerance are undesirable not only because they are expensive but also because they rely heavily on the assumption that the error-correcting (e.g. voting) mechanism is fault-free. This talk presents a general framework that systematically addresses these issues in fault-tolerant discrete-time dynamic systems. Our approach replaces the original system with a redundant implementation in which the state and next-state transition mechanism of the original system are encoded. Error detection, correction and/or reconfiguration are then based on detecting and identifying violations on the state encoding of this redundant implementation. One of the implications and advantages of this approach is that, unlike traditional methodologies that rely on concurrent checking at the end of each time step, this approach allows the construction of redundant systems in which detection and identification of errors is based on non-concurrent (e.g. periodic) checks. In the resulting design, the checker can operate at a slower speed than the rest of the system, which relaxes the stringent requirements on its reliability. We demonstrate this approach in the context of linear dynamic systems and arbitrary finite-state machines. We also discuss how our framework can handle failures in the error correction mechanism, enabling in this way the construction of reliable systems exclusively from unreliable components. In particular, we construct reliable LFSMs using unreliable XOR gates and voters in a way that requires only a bounded amount of redundancy per machine and achieves arbitrarily low probability of failure during any finite time interval. The talk will conclude with open problems and directions for future research.

Mardi 28 juin 2005 à 11h00 en salle Aurigny
An introduction to Petri hypernets
Marek A. Bednarczyk (Istytut Podstaw Informatyki, Polska Akademia Nauk)

Hypernets, a new framework to express systems of distributed agents, adds the ambient-like mobility features to Petri nets. This is achieved as follows:

  • hypernet consists of a set of agents,
  • each agent is represented by an open Petri net,
  • agents, as open Petri nets, exchange messages between other agents
  • the messages are also agents.
The key features of the framework are the following:
  • hierarchical organisation: agents contain as tokens other agents,
  • modularity: agents are strucutured into modules, each module devoted to elaboration of agents of a special kind
The talk will introduce Petri hypernets by means of examples, and will discuss possible applications, extensions, and logics to specify hypernets if time allows.

Lundi 6 Juin 2005 à 9h00-17h30 en Amphi P de l'Ifsic
MOMPES 2005 within the 5th International Conference on Application of Concurrency to System Design 2005
ACSD 2005 participation libre des membres de l'IRISA et de l'IFSIC

The Object Management Group's Model Driven Architecture (MDA) paradigm is an approach to the development of software, based on the separation between the specification of the systems and their implementation using specific platforms. This workshop focuses on the scientific and practical aspects related with the adoption of Model Driven Development (MDD) methodologies (notation, process, methods, and tools) for supporting the construction of pervasive and embedded software.
Le programme de la journée est disponible sur la page du Workshop.

Mardi 24 mai 2005 à 11h00 en salle Les Minquiers
Logiques spatiales pour la concurrence
Daniel Hirschkoff (ENS Lyon)

Les logiques spatiales sont des langages d'assertions permettant d'exprimer des propriétés ayant trait à la structure interne (ou configuration spatiale) des objets observés. Ces formalismes ont été mis en avant dans des contextes divers: 1/ exprimer des requètes sur des données semi-structurées (documents XML); 2/ raisonner sur des programmes manipulant des pointeurs; 3/ spécifier la "structure d'interaction" de systèmes distribués et mobiles (décrits dans des modèles algébriques tels que CCS, le pi-calcul, ou les Mobile Ambients). L'exposé présentera ce qui est commun à ces différentes logiques spatiales, pour mettre ensuite l'accent sur les logiques spatiales "dynamiques", qui correspondent au troisième point ci-dessus. On présentera des résultats portant sur l'expressivité et le pouvoir de séparation des logiques spatiales pour la concurrence. Ces résultats permettent en particulier de positionner ces formalismes par rapport aux outils classiques pour raisonner sur la concurrence (bisimulation, logiques modales). Ils permettent aussi de déduire des propriétés de décidabilité pour des questions liées à la logique.

Mardi 17 mai 2005 à 11h00 en salle Aurigny
Programmation par contraintes avec explications
Narendra JUSSIEN (Ecole des Mines de Nantes)

La programmation par contraintes est un sujet de recherche qui tire profit de nombreuses autres disciplines : mathématiques discrètes, analyse numérique, intelligence artificielle, recherche opérationnelle et calcul formel. Elle a prouvé son intérêt et son efficacité dans de nombreux domaines : optimisation combinatoire, finance, simulation et synthèse de composants, diagnostic de panne, biologie moléculaire, ou encore problèmes géométriques. Néanmoins, un certain nombre de limitations et de difficultés restent : comment concevoir des algorithmes génériques et stables, comment traiter efficacement les problèmes dynamiques, comment rendre accessible les concepts et les outils, ...

Depuis quelques années, nous plaidons pour l'utilisation de la notion d'explication pour la programmation par contraintes car elle permet, nous l'avons montré, de répondre de manière satisfaisante à ces limitations. On peut considérer les explications comme une trace explicite et limitée du fonctionnement interne du solveur de contraintes. Nos travaux dans ce domaine nous ont conduit a non seulement développer les aspects théoriques des explications (permettant ainsi de caractériser précisément leur nature dans le processus de résolution) et à étudier différentes techniques de calcul et propositions d'implémentation (en fournissant en particulier le système PaLM : un solveur de contraintes avec explications), mais aussi et surtout à étudier leurs différentes utilisations. Les utilisations des explications sont en effet très variées. Une application évidente et directe consiste à les utiliser pour informer l'utilisateur des justifications de l'état courant du problème (résultat des actions du solveur de contraintes). Cette information peut aussi être utilisée pour résoudre des problèmes dont le système de contraintes évolue au cours de la résolution (ce qu'on appelle les problèmes dynamiques). On obtient alors un solveur de contraintes véritablement incrémental (acceptant aussi bien ajout que retrait de contraintes en cours de résolution). D'autres applications des explications concernent la modification des algorithmes classiques de résolution de problème avec contraintes. En effet, une véritable évolution de la programmation par contrainte peut être obtenue en utilisant à chaque instant de la résolution (pour avancer dans la recherche, pour sortir d'une impasse, ...) l'information apportée par les explications. On assiste alors à une véritable évolution de la programmation par contraintes. Cette évolution a été baptisée e-constraints (explanation-based constraint programming - programmation par contraintes basée sur les explications).

Nous présenterons à la fois les principaux résultats obtenus et les diverses perspectives dans le domaine en montrant ainsi comment ce récent sujet de recherche a ouvert de nouvelles voies et semble promis à un bel avenir.

Mercredi 11 mai 2005 à 11h00 en salle Les Minquiers
Hybrid Automata: Finite Precision + Discrete Time = Effectiveness
P.S. Thiagarajan (Université de Singapour)

We study the class of lazy linear hybrid automata with finite precision. The key features of this class are:

  1. The state of the system is observed and the mode changes are actuated at discrete time points.
  2. The values of the continuous variables can be measured only with finite precision.
  3. The transition guards are finite conjunctions of linear constraints.
  4. There are (bounded) delays associated with the observation of the states as well as the rate changes effected through mode switchings.
We show that the (discrete time) dynamics of this class of automata can be effectively analyzed without requiring the resetting of the continuous variables during mode changes. In fact, our result holds for guard languages that go well beyond linear constraints. (Joint work with: Manindra Agrawal).

Mardi 3 mai 2005 à 11h00 en salle Aurigny
Mots indexés par des ordres linéaires: complémentation
Chloé Rispal (institut Gaspard Monge, université de Marne-la-Vallée)

Bruyère et Carton ont introduit des automates acceptant des mots indexés par des ordres linéaires. Ces structures linéaires contiennent les mots infinis, bi-infinis, les mots indexés par des ordinaux et leurs miroirs. Des expressions rationnelles ont été introduites et le théorème de Kleene a été généralisé pour les mots indexés par des ordres linéaires dispersés, i.e. ne contenant pas de sous-ordre dense.

On montre que le complément d'un ensemble rationnel de mots indexés par des ordres linéaires dispersés est rationnel. Pour obtenir ce résultat, on développe une structure algébrique qui étend la reconnaissance classique par demi-groupes finis. On généralise les demi-groupes aux diamant-demi-groupes et on prouve qu'un ensemble est rationnel ssi il est reconnu par un diamant-demi-groupe fini. On étend également le théorème de Schutzenberger sur les langages sans étoile : un ensemble de mots indexés par des ordres linéaires dispersés est sans étoile si et seulement s'il est reconnu par un diamant-demi-groupe fini apériodique.

Vendredi 15 avril 2005 à 11h00 en salle Les Minquiers
Data words and vector addition systems
Mikolaj Bojanczyk (LIAFA, Paris 6)

A data word is a word where every position has - apart from the usual letter from a finite alphabet A - an associated data value from an infinite set D. We reason about data words using first-order logic, where the data values can be accessed only by verifying if two positions have the same data value.

We show that satisfiability is decidable for formulas with two variables, and the obtained languages correspond to vector addition systems with states. When three variables are allowed, satisfiability becomes undecidable.

Joint work with Claire David, Anca Muscholl, Thomas Schwentick, Luc Segoufin

Mardi 12 avril 2005 à 11h00 en salle Les Minquiers
Séries formelles et systèmes dynamiques polynomiaux
Mickaël Foursov (projet Simbad)

Dans cet exposé nous considérons le problème de description des séries formelles qui sont des séries génératrices de systèmes dynamiques affines polynomiaux. Nous introduisons les notions de grammaires pondérées de multi-ensembles et des automates pondérés de multi-ensembles. Nous montrons que les séries génératrices de systèmes dynamiques polynomiaux sont engendrées par de telles grammaires. Nous conjecturons également que toute série formelle engendrée par une grammaire pondérée de multi-ensembles est une série génératrice d'un système dynamique polynomial.

Lundi 11 avril 2005 à 11h00 en salle Les Minquiers
Typage et programmation en logique avec contraintes
Emmanuel Coquery (projet Contraintes, UR Rocquencourt)

Dans cet exposé nous présentons un système de types prescriptif pour la programmation logique avec contraintes. Ce système combine polymorphisme paramétrique, sous-typage et surcharge afin d'obtenir la souplesse nécessaire afin de pouvoir typer les programmes usant de technique comme la méta-programmtion et l'utilisation conjointe de différents domaines de contraintes. Nous présenterons ensuite nos résultats sur la résolution des contraintes de sous-typage dans les quasi-treillis, qui constituent des structures de types riches, ajoutant ainsi de la souplesse au système de type. En particulier, le problème de satisfiabilité est montré NP-complet dans le cas de quasi-treillis dont les extrema sont des constantes en nombre fini.

Mardi 5 avril 2005 à 14h00 en salle Aurigny
La technologie LPV: état des lieux après l'expérience industrielle
Jean-Luc Lambert (Université de Caen)

La technologie LPV vise à faire de la vérification formelle à partir d'algorithmes de programmation linéaire. Elle a donné lieu à un dépôt de brevet puis à un essaimage universitaire: Valiosys. Après un rappel des principaux résultats scientifiques, je me propose de faire un bilan de la technologie après cinq ans d'application en milieu industriel: quels sont ses points forts et ses points faibles ? A quels problèmes s'applique-t-elle ? Quelles sont ses perspectives ?

Mardi 29 Mars 2005 à 15h00 en salle Les Minquiers
Strong Cryptography Armoured Computer Viruses Forbidding Code Analysis: the Bradley Virus
Eric Filiol (Ecole Supérieure et d'Application des Transmissions)

Imagining what the nature of future viral attacks might look like is the key to successfully protecting against them. This paper discusses how cryptography and key management techniques may definitively checkmate antiviral analysis and mechanisms. We present a generic virus, denoted Bradley which protects its code with a very secure, high speed symmetric encryption. Since the main drawback of using encryption in that case lies on the existence of the secret key or information about it within the viral code, we show how to bypass this limitation by using suitable key management techniques. Finally, we show that the complexity of the Bradley code analysis is at least as high as that of the cryptanalysis of its underlying encryption algorithm.

Mardi 29 Mars 2005 à 11h00 en salle Les Minquiers
Debugging Concurrent (Logic) Programs with Abstract Interpretation
Andy King (Université du Kent, Canterbury)

A logic program consists of a logic component and a control component. The former is a specification in predicate logic whereas the latter defines the order of sub-goal selection. The order of sub-goal selection is often controlled with delay declarations that specify that a sub-goal is to suspend until some condition on its arguments is satisfied. Reasoning delay declarations is notoriously difficult for the programmer and it is not usual for a program and goal to reduce to a state that contains a sub-goal that suspends indefinitely. Suspending sub-goals are usually unintended and often indicate an error in the logic or control. A number of abstract interpretation schemes have therefore been proposed for checking that a given program and goal cannot reduce to such a state. This talk considers a reversal of this problem, advocating an analysis that for a given program infers a class of goals that do not lead to suspension. During the talk I will attempt to demonstrate such a reversed analysis and explain how it has been used to locate bugs in real programs.

Jeudi 17 mars 2005 à 16h00 en salle Les Minquiers
Describing and Reasoning on Web Services using Process Algebra
Gwen Salaun (projet VASY, INRIA Rhône-Alpes)

Web services are network-based software components deployed and accessed through the Internet using standard interface description languages and uniform communication protocols. Each service solves a precise task, and may communicate with possible mates by exchanging messages.

Formal methods, and in particular process algebra, provide an adequate framework to tackle different issues raised in the web services area. First, they provide an abstract way to describe services (or their interfaces). Hence, composition of interacting services can be formalised as well. In addition, process algebra are often equipped with automated reasoning tools which are useful to ensure the correct development of services or to check their compatibility. All these issues will be illustrated through examples of e-business services.

Mardi 1er mars 2005 à 11h00 en salle Les Minquiers
A polynomial time Presburger criterion and synthesis for regular sets of integer vectors
Jérôme leroux (Vertecs)

Number Decision Diagrams (NDD) are the automata-based symbolic representation for manipulating regular sets of integer vectors encoded as strings of digit vectors (least or most significant digit first). Since 1969, we know that any Presburger-definable set (a set of integer vectors satisfying a formula in the first-order additive theory of the integers) can be represented by a NDD, and efficient algorithm for manipulating these sets have been recently developed. However, the problem of deciding if a NDD represents such a set, is a well-known hard problem first solved by Muchnik in 1991 with a quadruply-exponential time algorithm. In this presentation, we show how to determine in polynomial time whether a NDD represents a Presburger-definable set, and we provide in the positive case a polynomial time algorithm that constructs from the NDD a Presburger-formula that defines the same set.

This presentation corresponds to the first 50 minutes of the workshop that will be given at JSI'05 paper.

Mardi 22 février 2005 à 11h00 en salle Les Minquiers
Reactive ML, une extension réactive de Ocaml
Louis Mandel (Paris 6, LIP)

ReactiveML est un langage de programmation dédié à la programmation de systèmes réactifs (e.g., simulation de systèmes dynamiques, interfaces graphiques, jeux video). Ce sont des systèmes "interactifs" au sens de Harel et Pnueli.

ReactiveML est fondé sur le modèle "réactif synchrone" introduit par F. Boussinot. Ce modèle permet de combiner les principes du synchrone --- composition parallèle synchrone de processus, communication par diffusion --- et des mécanismes de création dynamique.

Le langage est une extension conservative de Ocaml. Il ajoute des constructions supplémentaires pour décrire les comportements temporels des systèmes. Les programmes sont statiquement typés puis des mécanismes de compilation sont utilisés pour les traduire en Ocaml.

La première partie de cet exposé sera consacrée à la présentation du langage à partir d'un exemple. La seconde partie sera sur la description formelle de ReactiveML (sémantique, système de type et quelques techniques de compilation). Nous terminerons avec l'application à la simulation de réseaux mobiles ad-hoc.

Mardi 15 février 2005 à 11h00 en salle Les Minquiers
Utilisation de structures combinatoires pour le test statistique
Sandrine Gouraud (Lande)

Dans ma thèse, j'ai proposé une nouvelle approche le test statistique de logiciel à partir d'une description graphique des comportements du système à tester (graphe de contrôle, statecharts). Son originalité repose sur la combinaison de résultats et d'outils de combinatoire (génération aléatoire de structures combinatoires) et d'un solveur de contraintes, pour obtenir une méthode de test complètement automatisée. Contrairement aux approches classiques qui tirent des entrées, la génération aléatoire uniforme est utilisée pour tirer des chemins parmi un ensemble de chemins d'exécution ou de traces du système à tester. Puis, une étape de résolution de contraintes est utilisée pour déterminer les entrées qui permettront d'exécuter ces chemins. De plus, je montre comment les techniques de programmation linéaire peuvent améliorer la qualité d'un ensemble de tests.

Une première application a été effectuée pour le test statistique structurel défini par Thévénod-Fosse et Waeselynck (LAAS) et un prototype a été développé. Des expériences (plus de 10000 réalisées sur quatre fonctions issues d'un logiciel industriel) ont été effectuées pour évaluer notre approche et sa stabilité.

Ici un résumé plus étendu.

Mardi 8 février 2005 à 11h00 en salle Les Minquiers
(Omega-)Regular Model Checking for Safety and Liveness Properties
Axel Legay (Université de Liège)

``(omega-)Regular model checking'' is the name of a family of symbolic techniques for analyzing infinite-state systems in which states are represented by (in)finite words, sets of states by finite automata on these objects, and transitions by finite automata operating on pairs of state encodings, i.e. finite-state transducers. In this context, the central problem is then to compute the iterative closure of a finite-state transducer.

A simple technique for iterating transducers is to use "widening", which amounts to computing successive approximations of the closure and to apply a simple extrapolation technique to these approximation in order to compute a sound guess of their limit. The first part of the talk is devoted to the use of such widening techniques in the case of systems using specific types of data for which regular model checking had not been used before (systems with integers, systems with reals, heterogenous systems, ...). The techniques we present build on earlier work, but exploit a number of new conceptual and algorithmic ideas, which experiments helped to induce.

In the second part of the talk, we address the problem of verifying liveness properties using the regular model checking framework. We show how this problem can be reduced to the one of computing the transitive closure of a transducer. The last part of the talk is devoted to a brief presentation of other existing techniques (tree regular model checking, abstract regular model checking, ...) and possible future work.

Mercredi 2 février 2005 à 15h00 en salle Les Minquiers
Verifying Graph Transformation Systems: An Unfolding-Based Approach
Paolo Baldan (Université Ca'Foscari, Venise)

We discuss how the unfolding semantics of graph transformation systems can be used as a basis for their formal verification.

For general, possibly infinite-state, graph transformation systems one can construct finite under- and over- approximations of the (infinite) unfolding, with arbitrary accuracy. Such approximations can be used to check behavioural properties of a graph transformation system, expressed in a suitable temporal graph logic.

For finite-state graph transformation systems, a variant of McMillan's approach (originally developed for Petri nets) allows us to single out a finite under-approximation of the unfolding which is "complete", i.e., which provides an "exact" representation of the behaviour the original system as far as reachability properties are concerned. Some problems related to the construction of the complete prefix and to its use are discussed.

Vendredi 28 janvier 2005 à 15h00 en salle Les Minquiers
La Decidabilité des modèles communicants
Blaise Genest (Université de Warwick)

Nous nous intéressons à l'expressivité et la vérification de diverses structures communicantes par passage de messages, ce afin de modéliser les protocoles de communication.

Ces structures génèrent des exécutions sous forme de diagrammes de séquence (Message Sequence Charts MSC). Ce sont les automates communicants, les (C)MSC-graphes et les formules MSO. Les questions de vérification qui nous intéressent sont le model-checking, ainsi que l'implémentation des structures à choix globaux en automates communicants (choix locaux).

Nous exhibons une restriction assez expressive qui empêche l'indécidabilité de nombreux problèmes. Plus précisément, dès que les communications d'un langage peuvent être réordonnées pour qu'il y ait toujours au plus K messages en transit, nous montrons comment représenter ce langage par un ensemble régulier. Sous cette restriction, nous montrons la décidabilité d'une nouvelle logique, celle des templates MSCs.

Jeudi 27 janvier 2005 à 15h00 en salle Les Minquiers
Le Projet PROUVÉ : PRotocoles cryptographiques: OUtils de VÉrification automatique
Ralf Treinen (LSV, ENS Cachan)

PROUVÉ est un projet RNTL sur trois ans qui réunit CRIL Technology, France Télécom R&D, INRIA Lorraine, LSV et VERIMAG. Le projet porte sur la vérification de protocoles cryptographiques. Le point de départ du projet est une critique des méthodes existantes de vérification de protocoles cryptographiques :

  • l'absence d'un langage d'entrée commun et d'une sémantique commune des outils de vérification existants
  • des langages de spécification de protocoles trop simples ou trop abstraits
  • une abstraction des méthodes de chiffrement qui est trop éloignée des vraies implémentations de protocoles
Les objectifs du projet sont :
  • développement d'un langage de spécification de protocoles cryptographiques expressif avec une sémantique précise, et d'un langage générique de propriétés de protocoles dans lequel peuvent s'exprimer de nombreuses variantes des propriétés classiques
  • intégration des outils existants de vérification issus des laboratoires partenaires du projet dans une boîte d'outils, en particulier développement des traducteurs du langage de spécification et du langage de propriétés vers les langages d'entrée des outils
  • vérification de protocoles cryptographiques sous affaiblissement de l'hypothèse du chiffrement parfait, en particulier le remplacement de nonces par des timestamps ou des compteurs, et prise en compte des propriétés algébriques des primitives cryptographiques
  • développement d'une interface commune avec une présentation uniforme de preuves et d'attaques
Le projet s'attaquera à deux études de cas significatives: un porte-monnaie électronique et un protocole d'enchères, qui lui permettront à la fois de guider les recherches, d'expérimenter les outils et de valider les résultats.

Mardi 18 janvier 2005 à 11h00 en salle Les Minquiers
Transforming Coloured Petri Nets to Counter Systems for Parametric Verification: A Stop-and-Wait Protocol Case Study
Laure Petrucci (LIPN, Paris 13)

Protocols may contain parameters that are chosen from a wide range or are unbounded, leading to infinite state systems. This makes their verification difficult. However, techniques and tools are now being developed for the verification of parametric and infinite state systems. We explore the use of one such tool, FAST, for verifying several properties of the stop-and-wait class of protocols.

Mardi 11 janvier 2005 à 11h00 en salle Les Minquiers
Verification of cryptographic protocols through logical relations
Yu ZHANG (LSV, ENS Cachan)

Security properties are profitably expressed using notions of contextual equivalence, and logical relations are a powerful proof technique to establish contextual equivalence in typed lambda calculi. Through Sumii and Pierce's cryptographic lambda-calculus, one could apply the technique of logical relations to the verification of security protocols. Indeed, Sumii and Pierce define a series of operational logical relations for their language, while we shall present some logical relations based on denotational models. We start with a Kripke logical relation for Pitts and Stark's nu-calculus, which aims at dealing with dynamic name creation (key generation) and can be regarded as a syntactical subset of the cryptographic lambda-calculus. This logical relation is derived from the general logical relations for monadic types by Goubault-Larrecq et al., and it identifies Pitts and Stark's operational logical relation for the nu-calculus, hence it is sound and complete (w.r.t. contextual equivalence) up to first-order types. To get the completeness for all types, we appeal to the notion of lax logical relations. We define logical relations which are lax at encryption and function types but strict (non-lax) at various other types, and show that they are sound and complete for contextual equivalence at all types.

This talk includes some joint work with Jean Goubault-Larrecq, Slawomir Lasota and David nowak.