Séminaire 68NQRT

Retrouvez les nouvelles pages du séminaire ici


Semaine du 2 au 6 juin
Jean-Marc Jezequel, Manuel Clavel, Yves Bertot, Jan Tretmans, Dave Schmidt
Niveau Introductif

Lundi 2 juin: Jean-Marc Jezequel, UML and Model Driven Engineering

Mardi 3 juin: Manuel Clavel, Programmer et vérifier en Maude

Mercredi 4 juin: Yves Bertot, Programmer et vérifier en Coq

Jeudi 5 juin: Jan Tretmans, Software testing

Vendredi 6 juin: Dave Schmidt, Software architecture - an informal introduction

Jeudi 22 mai, 14h30, en salle Aurigny
Titre à venir, autour de l'analyse de binaires et de la virologie
Jean-Marie Borello (CELAR)
Niveau Introductif

Jeudi 15 mai, 14h30, en salle Aurigny
Model checking freeze LTL over one-counter automata
Arnaud Sangnier (LSV)
Niveau à venir

We study complexity issues related to the model-checking problem for LTL with registers (a.k.a. freeze LTL) over one-counter automata. We consider several classes of one-counter automata (mainly deterministic vs. nondeterministic) and several syntactic fragments (restriction on the number of registers and on the use of propositional variables for control locations). The logic has the ability to store a counter value and to test it later against the current counter value. By introducing a non-trivial abstraction on counter values, we show that model checking LTL with registers over deterministic one-counter automata is PSPACE-complete with infinite accepting runs. By constrast, we prove that model checking LTL with registers over nondeterministic one-counter automata is undecidable in the infinitary and finitary cases even if only one register is used and with no propositional variable. This makes a difference with the facts that several verification problems for one-counter automata are known to be decidable with relatively low complexity, and that finitary satisfiability for LTL with a unique register is decidable. Our results pave the way for model-checking LTL with registers over other classes of operational models, such as reversal-bounded counter machines and deterministic pushdown systems. This is a joint work with Stéphane Demri and Ranko Lazic.

Jeudi 10 avril, 14h30, en salle Aurigny
Morphological detection of viruses
Niveau à venir

We propose a new method of malwares detection based on the program shape that we call morphological detection. In a nutshell, this method consists in comparing graph flows in order to detect malwares. For this, we use tree automaton techniques, which give us an efficient heuristic. This approach has at least two advantages. First, it is robust wrt several obfuscations. Second, malwares signatures may be generated automatically, which could allow fast answers. This is a work in progress with G. Bonfante (Loria) and M. Kaczmarek (Loria).

Jeudi 20 mars, 14h30, en salle Aurigny
Checking Coverage for Infinite Collections of Timed Scenarios
S. Akshay
Niveau à venir

We consider message sequence charts enriched with timing constraints between pairs of events. As in the untimed setting, an infinite family of time-constrained message sequence charts (TC-MSCs) is generated using an HMSC finite-state automaton whose nodes are labelled by TC-MSCs. A timed MSC is an MSC in which each event is assigned an explicit time-stamp. A timed MSC covers a TC-MSC if it satisfies all the time constraints of the TC-MSC. A natural recognizer for timed MSCs is a message-passing automaton (MPA) augmented with clocks. The question we address is the following: given a timed system specified as a time-constrained HMSC H and an implementation in the form of a timed MPA ${\mathcal{A}}$ , is every TC-MSC generated by H covered by some timed MSC recognized by ${\mathcal{A}}$ ? We give a complete solution for locally synchronized time-constrained HMSCs, whose underlying behaviour is always regular. We also describe a restricted solution for the general case.

Jeudi 13 mars, 14h30, en salle Aurigny
A Topological Perspective on Diagnosis
Sophie Pinchinat
Niveau à venir

We propose a topological perspective on the diagnosis problem for discrete-event systems. In an infinitary framework, we argue that the construction of a centralized diagnoser is conditioned by two fundamental properties: saturation and openness. We show that these properties are decidable for omega-regular languages. Usually, openness is guaranteed implicitly in practical settings. In contrast to this, we prove that the saturation problem is PSPACE-complete, which is relevant for the overall complexity of diagnosis.

Jeudi 6 mars, 14h30, en salle Aurigny
La complexité des systèmes à canaux non-fiables
Philippe Schnoebelen
Niveau à venir

Nous donnons la réponse à un problème ouvert depuis une quinzaine d'années : quelle est la complexité de la vérification des systèmes à canaux non-fiables ? La première partie de l'exposé sera consacrée à un historique du problème et une explication de son importance. La deuxième partie, plus technique, présentera en détail la construction originale qui permet d'établir les bornes inférieures pertinentes. Références : http://dx.doi.org/10.1007/978-3-540-77050-3_22

http://dx.doi.org/10.1016/S0020-0190(01)00337-4
http://dx.doi.org/10.1006/inco.1996.0053

Vendredi 29 Février, 11h00 en salle Aurigny
Ordre et Hasard : Synthèse de stratégies optimales pour les jeux stochastiques
Hugo Gimbert
Niveau à venir

Les jeux stochastiques constituent un modèle naturel pour la synthèse de contrôleurs en milieu ouvert, lorsque certaines actions peuvent être considérées comme aléatoires. Deux questions majeures se posent : - Peut-on garantir une propriété quasi-surement ? - Si non, avec quelle probabilité peut on la garantir ? Le second problème est nettement plus complexe que le premier. En particulier, pour le cas de base des jeux d'accessibilité, le problème quasi-sûr est polynomial, tandis que le problème optimal est dans NP \cap co-NP. Dans cet exposé, je présenterai les deux attaques classiques de ce problème : par valeurs et par amélioration de stratégies. Je présenterai ensuite un angle d'attaque original, manipulant des ordres sur les états aléatoire du graphe, ainsi que différents algorithmes qui en dérivent. En particulier, je montrerai comment nos résultats peuvent s'adapter à toutes les conditions de victoire préfixes-indépendantes, à travers un méta-algorithme liant directement la complexité du calcul des valeurs à celle des problèmes quasi-surs et à un seul joueur.

Jeudi 14 fevrier, 14h30 en salle Aurigny
Des Fruits Aléatoires sur l'Arbre de Zelonka
Niveau à venir

Les jeux stochastiques constituent un modèle naturel pour la synthèse de contrôleurs en milieux ouvert, lorsque certaines actions peuvent être considérées comme aléatoires. Les jeux $\omega$-réguliers, dont les parties sont de longueur infinie, peuvent ainsi représenter des systèmes réactifs qui doivent réagir correctement à un flux continuel d'évènements. Une ressource critique pour ce genre d'applications est la mémoire utilisée lors de l'implémentation effective du contrôleur. Pour chaque condition de Muller, on peut déduire de l'"arbre de Zielonka" la quantité de mémoire nécessaire et suffisante pour définir des stratégies gagnantes. Dans cet exposé, je montrerai comment l'utilisation de stratégies randomisées permet de gagner "presque sûrement" à moindre coût dans chaque arène. Dans ce contexte également, c'est à partir de l'étude de l'"arbre de Zielonka" que l'on définit une meilleure borne supérieure. De plus, pour chaque condition, il existe certaines arènes (de taille exponentielle) pour lesquelles des stratégies utilisant moins de mémoire sont presque sûrement perdantes.

Jeudi 7 février, 14h30 en salle Aurigny
Program complexity analysis by semantics interpretation
Niveau Avancé

There are several approaches developed by the Implicit Computational Complexity (ICC) community which try to analyze and control program resources. We focus our study on the resource control with the help of semantics interpretations. After introducing the notion of quasi-interpretation together with its distinct properties and characterizations, we show the results obtained in the study of such a tool: We study the synthesis problem which consists in finding a quasi-interpretation for a given program and we tackle the issue of quasi-interpretation modularity. Modularity allows to decrease the complexity of the synthesis procedure and to capture more algorithms. Afterwards, we introduce the notion of sup-interpretation. This notion strictly generalizes the one of quasi-interpretation and is used in distinct criteria in order to control the resources of more algorithms, including algorithms over infinite data and algorithms using a divide and conquer strategy. We combine sup-interpretations with distinct termination criteria, such as RPO orderings, dependency pairs or size-change principle, and we compare them to the notion of quasi-interpretation. Using the notion of sup-interpretation, we characterize small parallel complexity classes. We provide some heuristics for the sup-interpretation synthesis: we manage to synthesize sup-interpretations without the subterm property, that is, sup-interpretations which are not quasi-interpretations. Finally, we extend sup-interpretations to object-oriented programs, thus obtaining distinct criteria for resource control of object-oriented programs and their methods.

Jeudi 31 Janvier, 14h30 salle Aurigny
Semantique probabiliste et topologique pour les automates temporises
Nathalie Bertrand (Equipe Vertecs)
Niveau à venir

Résumé à venir

24 Janvier, 14h30 salle Aurigny
Acyclicity of Preferences, Nash Equilibria , and Subgame Perfect Equilibria: Two Proofs of the Equivalence
Stéphane Leroux
Niveau avancé

Résumé: Sequential game and Nash equilibrium are basic key concepts in game theory. In 1953, Kuhn showed that every sequential game has a Nash equilibrium. Traditionally, sequential games involve real-valued payoff functions. I replace them with abstract atomic objects and generalise Kuhn's result to such an extent that I get an equivalence property. I provide two proofs very different from a proof theoretic viewpoint. I have fully formalised the first proof using Coq. In the end of the talk, I may describe the Coq formalism representing the core concepts of this development.

Stephane Leroux sera ensuite disponible pour vous présenter le reste de son travail de thèse, résumé ci-dessous, et discuter avec vous: Les jeux strategiques sont une classe de jeux de la theorie des jeux. La notion d'equilibre de Nash leur est associee. On aimerait bien que chaque jeu ait un equilibre de Nash, mais ce n'est pas le cas, et il n'existe pas de caracterisation simple des jeux qui en ont un. Les deux approches classiques a ce probleme sont celle de Kuhn (et ses predecesseurs) et celle de Nash (et ses predecesseurs). Kuhn definit une sous classe de jeux, les jeux sequentiels, dont il prouve qu'ils ont tous un equilibre de Nash. A l'oppose, Nash affaiblit la notion d'equilibre de Nash en introduisant les probabilites et prouve que tout jeu strategique a un equilibre de Nash probabiliste. Tout ces travaux ont ete effectues dans un contexte de gain a valeur dans R (nombres reels). Je supprime cette restriction, je definis des jeux abstraits, et je regarde comment les techniques de Kuhn et Nash se generalisent. Dans le cas de Nash, les probabilites ne fonctionnent plus et je propose un non-determinisme discret a la place.

Contact à l'IRISA : Anne Bouillard

Jeudi 17 Janvier, 14h30, salle Aurigny
Data Tree Patterns and XML
Niveau à venir

We consider Boolean combinations of data tree patterns as a specification and query language for XML documents. Data tree patterns are tree patterns plus variable equalities which express joins between attribute values. Data tree patterns are a simple and natural formalism for expressing properties of XML documents. We consider first the query evaluation problem. We show that it is DP-complete in general and already NP-complete when the query has only one pattern. We then consider the satisfiability problem in the presence of DTD. We show that it is in general undecidable and we identify various decidable fragments.

Jeudi 10 Janvier, 14h30 Salle Aurigny
Theorem Proving for Maude's Rewriting Logic
Niveau à venir

Common work with Manuel Clavel, Universidad Complutense de Madrid Résumé : We present an approach based on inductive theorem proving for verifying invariance properties of systems specified in Rewriting Logic, an executable specification language implemented (among others) in the Maude tool. Since theorem proving is not directly available for rewriting logic, we define an encoding of rewriting logic into its membership equational (sub)logic. Then, inductive theorem provers for membership equational logic, such as the itp tool, can be used for verifying the resulting membership equational logic specification, and, implicitly, for verifying invariance properties of the original rewriting logic specification. The approach is illustrated first on a 2-process Bakery algorithm and then on a parameterised, n-process version of the algorithm.

Jeudi 20 décembre, 14h30 salle Aurigny
Efficient Approximate Verification of Promela Models via Symmetry Markers
Thierry Massart Université libre de Bruxelles
Niveau avancé

Résumé : We present a new verification technique for Promela which exploits state-space symmetries induced by scalarset values used in a model. The technique involves efficiently computing a marker for each state encountered during search. We propose a complete verification method which only partially exploits symmetry, and an approximate verification method which fully exploits symmetry. We describe how symmetry markers can be efficiently computed and integrated into the SPIN tool, and provide an empirical evaluation of our technique using the TopSPIN symmetry reduction package, which shows very good performance results and a high degree of precision for the approximate method (i.e. very few non-symmetric states receive the same marker). We also identify a class of models for which the approximate technique is precise. Contact à l'IRISA : T. Jéron (Vertecs)

Jeudi 6 décembre, 14h30 salle Aurigny
From Workflow and Collaborations to Protocols for Distributed Applications
Gregor Bochman
Niveau à venir

UML Use Case Diagrams are a first step towards the definition of system requirements, however, they do not provide enough information for many purposes. UML Activity Diagrams (AD) and Use Case Maps (UCM) provide such information in a quite comprehensive manner. We have developed a "Core Scenario Model" (CSM) that captures the common semantics of AD and UCM, as well as performance-related information. It is closely related to Petri nets and the BPEL notation for Web Services. We show how this notation can also be used for describing the order of execution of collaborations where each collaboration involves two or more system components in the context of distributed services. In the second part of my talk, I will discuss how one can derive an application protocol from the system requirements as described above. The protocol should define the behavior of all the system components in such a manner as to ensure the given requirements. We will discuss under which conditions such a protocol can be derived in a straightforward manner from the service requirements, and we will also discuss what kind of coordination messages may be introduced in more complex situations. Certain situations are difficult to handle in a distributed context, such as alternative choices that involve several components. We will discuss approaches that can be used to deal with such problems which are quite common in distributed applications.

Jeudi 29 novembre, 14h30 en salle Aurigny
Le problème du bon étiquetage pour les structures d'événements
Luigi Santocanale Laboratoire d'Informatique Fondamentale de Marseille
Niveau avancé

Résumé : Les structures d'événements constituent un modèle standard des processus concurrents non déterministes. Elles combinent des aspects de la théorie des ordres avec des aspects de la théorie des graphes, présentant ainsi un grand nombre problèmes combinatoires à résoudre. Quand on veut montrer que ces modèles sont équivalents à d'autres (tels que les automates, les réseaux de Petri, etc.) il se pose le problème d'étiqueter les arêtes du diagramme de Hasse du domaine associé. Nous présenterons en détailles ce problème, qui en effet revient à un problème de coloriage de graphes. Nous présenterons aussi les peu nombreux résultats connus. Contact à l'IRISA : L. Hélouët (Distribcom)

Jeudi 22 novembre, 14h30 en salle Aurigny
Computing convex hulls by automata iteration
Axel Legay (Institut Montefiore, Université de Liège, Belgique)
Niveau avancé

This presentation considers the problem of computing the real convex hull of a finite set of n-dimensional integer vectors. The starting point is a finite-automaton representation of the initial set of vectors. The proposed method consists in computing a sequence of automata representing approximations of the convex hull and using extrapolation techniques to compute the limit of this sequence. The convex hull can then be directly computed from this limit in the form of an automaton-based representation of the corresponding set of real vectors. The technique is quite general and has been successfully implemented. Our result also fits in a wider scheme whose objective is to improve the techniques for converting automata-based representation of constraints to formulas.

Work with François Cantin and Pierre Wolper Contact à l'IRISA : S. Pinchinat (S4)

Jeudi 8 novembre, 11h00, en salle Aurigny
A generic constructive solution for concurrent games with expressive constraints on strategies
Sophie Pinchinat
Niveau Avancé

The emerging technology of interacting systems calls for new formalisms to ensure their reliability. Concurrent games are paradigmatic abstract models for which several logics have been studied. However, the existing formalisms show certain limitations in face of the range of strategy properties required to address intuitive situations. We propose a generic solution to specify expressive constraints on strategies in concurrent games. Our formalism naturally extends alternating-time logics while being highly flexible to combine constraints. Our approach is constructive and can synthesize many types of complex strategies, via automata-theoretic techniques.

Jeudi 25 Octobre, Salle Aurigny
A Generic Model of Contracts for Embedded Systems
Benoit Caillaud
Niveau avancé

Résumé: We present the mathematical foundations of the contract-based model developed in the framework of the SPEEDS project. SPEEDS aims at developing methods and tools to support ``speculative design'', a design methodology in which distributed designers develop different aspects of the overall system, in a concurrent but controlled way. Our generic mathematical model of contract supports this style of development. This is achieved by focusing on behaviors, by supporting the notion of ``rich component'' where diverse (functional and non-functional) aspects of the system can be considered and combined, by representing rich components via their set of associated contracts, and by formalizing the whole process of component composition.

Jeudi 18 Octobre, Salle Aurigny
Mind the Gap: Expanding Communication Options in Decentralized Discrete-Event Control
Laurie Ricker (équipe S4)
Niveau Introductif

Résumé: Frameworks that incorporate communication into decentralized supervisory control theory address the following problem: find locations in the evolution of the plant behavior where some supervisors send information so that a supervisor that was unable to make the correct control decision prior to receiving external information, is now capable of making the correct control decision. Proposed solutions to this problem identify an earliest and a latest placement where such communication results in the synthesis of a correct control solution. In addition to a first and last communication opportunity, there may be a selection of intermediate possibilities where communication would produce the correct control solution. In this talk I will present a computable procedure to identify a broader range of suitable communication locations. This is joint work with Benoit Caillaud.

11 octobre, 14h30, Salle Aurigny
Causal Message Sequence Charts
Loïc Hélouët, équipe Distribcom
Niveau introductif

Résumé: Les propriétés des langages de scénarios (Message Sequence Charts, Live Sequence Charts, ou diagrammes de séquences d'UML) ont été largement étudiées ces dix dernières années. Les langages de scénarios ayant la puissance d'expression des traces de Mazurkiewicz, de nombreux problèmes pratiques, comme le model-checking, sont indécidables pour ces langages. Cependant, malgré leur puissance d'expression élevée, la plupart des langages de scénarios ne permet de générer que des comportements finiment engendrés, qui ne peuvent être exprimés que comme des concaténations séquentielles de comportements choisis dans un ensemble fini de motifs. Cependant, on rencontre couramment des comportements non-finiment engendrés lorsque l'on cherche à modéliser des systèmes distribués et asynchrones, ce qui est le cas du mécanisme de fenêtres glissantes du protocole TCP. Plusieurs extensions des Message Sequence Charts ont été proposées pour remédier à ce problème, mais ces variantes donnent aux scénarios la puissance d'expression des automates communicants à canaux de communication non-bornés (et par conséquent des Machines de Turing), rendant l'analyse de ces langages encore plus difficile. Dans cet exposé, nous proposons une extension des Message Sequence Charts qui permet de définir des comportements non finiment engendrés sans pour autant donner aux scénarios la puissance des automates communicants, et présentons ses propriétés.

4 Octobre, 14h30, Salle Aurigny
Test de systèmes réactifs à partir de spécifications modales
Delphine Longuet, Université d'Évry Val d'Essonne
Niveau introductif

Résumé: Cet exposé présente un cadre formel pour le test de systèmes réactifs à partir de spécifications logiques. Nous étendons le cadre de test fonctionnel défini initialement pour des spécifications algébriques. Dans ce cadre, une méthode de sélection de tests à été définie, appelée dépliage des axiomes. Cette méthode s'appuie sur la définition de critères de sélection dérivés des axiomes de la spécification. Nous proposons alors d'étendre et d'adapter ce cadre pour tester des systèmes dynamiques et réactifs spécifiés à l'aide de logiques modales. L'objectif est d'aborder le test de ce type de systèmes de façon nouvelle, l'approche habituelle étant celle du test de conformité. Nous montrerons alors que ces deux approches sont complémentaires. Contact à l'IRISA : V. Rusu, équipe Vertecs

28 septembre, 14h30, Salle Minquiers
Distributed Usage Control
Alexander Pretschner, ETH - Zurich
PROSPECTIF

Résumé: When giving away data, the data provider usually looses control of this data: among many other things, the receiver can re-distribute or archive it. Distributed usage control is concerned with requirements that include "must be deleted after 30 days", "no re-distribution", "at most three copies", "data subject must be notified upon every access", and "use for statistical purposes only". It turns out that the field is equally relevant in the domains of data protection and the management of intellectual property (including DRM) as well as secrets in general. The talk kicks off with an overview of the problem domain. We will then present a policy language together with formal analysis tools, and discuss applications in the areas of composition and interoperability of enforcement mechanisms, negotiation of policies, and rights delegation. The characteristics of usage control as enabling technology will be demonstrated on the grounds of implementations for mobile phones, the Windows Rights Management System, and service-oriented architectures. Contact à l'IRISA : B. Baudry équipe Triskell

27 septembre, 10h30, Salle Minquiers
Dimensions of Declassification in Theory and Practice
Andrei Sabelfeld, Chalmers University
Niveau introductif

Computing systems often deliberately release (or declassify) sensitive information. A principal security concern for systems permitting information release is whether this release is safe: is it possible that the attacker compromises the information release mechanism and extracts more secret information than intended? While the security community has recognized the importance of the problem, the state-of-the-art in information release is, unfortunately, a number of approaches with somewhat unconnected semantic goals. We provide a road map of the main directions of current research, by classifying the basic goals according to what information is released, who releases information, where in the system information is released, and when information can be released. We apply this classification in order to evaluate the security of a case study realized in a security-typed language -- an implementation of a non-trivial cryptographic protocol that allows playing online poker without a trusted third party. In addition, we identify some prudent principles of declassification. These principles shed light on existing definitions and may also serve as useful "sanity checks" for emerging models.

The talk is based on joint work, in part, with David Sands, and, in part, with Aslan Askarov. Contact à l'IRISA : Thomas Genet, équipe Lande

20 septembre, 14h30, Salle Minquiers
Acceleration in Data-Flow Analysis.
Jérôme Leroux, Labri
Niveau introductif

Résumé: Acceleration in symbolic verification consists in computing the exact effect of some control-flow loops in order to speed up the iterative fix-point computation of reachable states. Even if no termination guarantee is provided in theory, successful results were obtained in practice by different tools implementing this framework. In this presentation, the acceleration framework is extended to data-flow analysis. Compared to a classical widening/narrowing-based abstract interpretation, the loss of precision is controlled here by the choice of the abstract domain and does not depend on the way the abstract value is computed. Our approach is geared towards precision, but we don't loose efficiency on the way. Indeed, we provide a cubic-time acceleration-based algorithm for solving interval constraints with full multiplication. We extends investigation to acceleration in convex data-flow analysis of systems with real-valued variables where guards are convex polyhedra and assignments are translations. In particular, we present a simple and algorithmically efficient characterization of MFP-acceleration for cycles with a unique initial location. We also show that the MFP-solution is a computable algebraic polyhedron for systems with two variables. Contact à l'IRISA : L. Hélouët, équipe Distribcom

6 septembre
Compatibility, conformance and synthesis in model-based design
Roberto Passerone, Department of Information and Communication Technology, University of Trento
Niveau introductif

Résumé: We study the relationship between various concepts in model-based design, and use the results to derive a general solution to the synthesis of a local specification given a context (residuation). We use an algebraic framework to introduce the concepts of compatibility and conformance (refinement) independently of the particular model of computation employed, and then establish their relationship through a particular notion of complement (mirror). The synthesis problem is set up as the solution to an algebraic equation, and solved using the properties required by the framework. We outline an application in protocol conversion. Contact à l'IRISA : B. Caillaud, équipe S4

Jeudi 28 juin, 14h30 en Salle Jersey
Decomposing Minimal Observability
Debmalya Biswas
Niveau avancé

Résumé : For distributed systems, logging is an integral part of many middleware aspects, especially, transactions and monitoring. In the event of a failure, the log allows us to deduce the cause of failure (diagnosis), recover by compensating the logged actions (atomicity), etc. However, for heterogeneous systems, logging all the actions is often impracticable due to privacy/security constraints. Also, logging is expensive in terms of both time and space. Thus, we are interested in determining a minimal set of actions that needs to be logged, to know with certainty the actual sequence of executed actions from any given partial log. This problem happens to be NP-Complete. We then propose a decomposition framework in order to use a divide and conquer algorithm. This method also leads to an efficient algorithm for hierarchical systems where components may be reused many times.

Mardi 19 juin, 14h30 en Salle Minquier
Ordres chaîne dominés
Jimmy Leblet
Niveau avancé

Résumé : M'intéressant à l'étude morphologique des ensembles ordonnés finis au travers des sous-structures orthogonales que sont les chaînes et les antichaînes, je vais être amené à introduire la classe des ordres chaîne dominés. Ces ordres sont des ordres admettant une famille partitive de ses éléments en deux ensembles. L'un de ces ensembles induit un chemin dans son digraphe de couverture et l'autre induit un sous-digraphe sans arc. Après avoir rappelé les définitions de base nécessaires à l'exposé, je montrerai que cette classe d'ordre est l'intersection de deux classes connues que sont les ordres d'intervalles et les treillis tronqués. Puis, en utilisant la notion de couplage maximum dans les graphes, je montrerai que le calcul du nombre de sauts des ordres chaîne dominés est alors polynomial. Enfin, je montrerai que tout ordre d'intervalles peut se plonger dans un ordre de cette classe et que leurs dimensions ne diffèrent pas de plus deux.

Jeudi 14 Juin, 14h30 - 17h30 en Salle Métivier
Mini-workshop on Concurrent Systems : Modeling and Monitoring
Niveau avancé

Programme : On June 14th afternoon, some of the members of Eric Fabre's habilitation jury will participate to a mini-workshop:

14:30 On the composition of processes

by Glynn Winskel (Prof. of CS, Univ. of Cambridge, UK)

Abstract: Pullbacks of Petri nets play a key role in Eric Fabre's habilitation thesis, where they capture the composition of two systems via a common interface. Being an example of a categorical limit, pullbacks in the category of Petri nets are automatically preserved by the operation of unfolding a net to a net of its occurrences (because this operation is a right adjoint) --- a fact which Fabre exploits in the analysis of net behaviour. Pullbacks, again representing a composition of processes, appear in a variety of other contexts. In this talk I will broaden the picture and explain the sense in which uses of pullbacks can fruitfully be seen as examples of the composition of generalized relations, relations which stand for computations between types.

15:30 Chronicle-based monitoring: chronicle learning, and distributed recognition, by Christophe Dousson (France Telecom R & D)

16:30 Decentralized/distributed approaches to diagnosis by Stephane Lafortune (Prof. of EECS, Univ. of Michigan)

Jeudi 14 Juin, 9h30 en Salle Métivier
Bayesian Networks of Dynamic Systems
Habilitation à diriger des recherches de Eric Fabre
Niveau inroductif

Résumé : à venir

Mercredi 13 juin, 10h30 salle Minquier
Reflective Middleware and its Relationship to Model-driven Software Development
Gordon Blair 5univ. Lancaster)
A venir
Niveau Avancé

Résumé : Middleware has emerged as an important architectural component in modern distributed systems. The role of middleware is to offer a high-level, platform-independent programming model to users (e.g. object-oriented or component-based) and to mask out problems of distribution. Traditionally, such platforms have been deployed (with considerable success) in application domains such as banking and finance as a means of tackling problems of heterogeneity, and also supporting the integration of legacy systems. More recently, middleware technologies have been applied in a wider range of areas including safety critical systems, embedded systems, and real-time systems. In addition, middleware is required to respond to emerging technical challenges as offered for example by mobile and ubiquitous computing, the Grid or P2P computing. It is now becoming apparent that established middleware technologies (such as the ones listed) are not able to respond to such diversity or to such technical challenges. The main reason for this is the /black-box philosophy/ of existing platforms. In particular, existing middleware platforms offer a fixed service to their users, and it is not possible to view or alter the implementation of this service. Inevitably, the architecture of this platform then represents a compromise design featuring, for example, general-purpose protocols and associated management strategies. It is then not possible to specialise platforms to meet the needs of more specific target domains. At Lancaster, we believe that next generation middleware platforms should have the following properties: 1. They should be /configurable/ to meet the needs of a given application domain (e.g. to provide a minimal configuration for embedded systems) 2. They should be /dynamically reconfigurable/ to enable the platforms to respond to changes in their environment (e.g. to respond to dramatic fluctuations in network quality of service as experienced in mobile computing) 3. they should support the /evolution /of the design of the platform as requirements change over time (e.g. to respond to the need to support continuous media interactions). In particular, we have developed an approach which applies principles of reflection to the design of middleware platforms to meet the above properties. This seminar will provide an overview of our research into this emerging field of /reflective middleware/ approach and also examine one project in detail, i.e. GridKit, where we have developed an experimental reflective middleware platform to meet the advanced needs of Grid applications. The seminar will also lead into a discussion of reflection and how it relates to model-driven software development, in particular how concepts such as architectural reflection relate to having models that persist at run-time (Models@run.time).

Vendredi 1er Juin, 14h30 en salle Les Minquiers
Introducing the ITP Tool
Manuel Clavel
A venir
Niveau inroductif

Résumé : In this talk we introduce the ITP tool, a rewriting-based theorem prover that can be used to prove inductive properties of membership equational specifications. We also discuss membership equational logic as a formal language particularly adequate for specifying and verifying semantic data structures, such as ordered lists, search binary trees, priority queues, and powerlists. The ITP tool is a Maude program that makes extensive use of the reflective capabilities of this system. In fact, rewriting-based proof simplification steps are directly executed by the underlying Maude rewriting engine. Using also the reflective capabilities of Maude, the ITP tool implements a decision procedure for linear arithmetic with uninterpreted function symbols which is integrated into its simplification procedure. The ITP tool is currently available as a web-based application that includes a module editor, a formula editor, and a command editor. These editors allow users to create and modify their specifications, to formalize properties about them, and to guide their proofs by filling and submitting web forms.

Jeudi 10 mai, 14h30 salle Jersey
Preuve par réflexion en Coq ou comment transformer un assistant de preuve en prouveur de théorèmes
Frédéric Besson
A venir
Niveau Introductif

Résumé : Les assistants de preuves comme Coq sont capables de vérifier des preuves. Par contre, leur assistance quant à la production de preuve laisse à désirer. À son corps défendant, l'utilisateur est trop souvent contraint à descendre à un niveau de détail de preuve qui frise le ridicule. En effet, rien de plus frustrant que d'avoir à prouver manuellement une propriété qui tombe dans un fragment manifestement décidable. Dans cet exposé, je vous montrerai comment la preuve par réflexion (ou preuve calculatoire) permet d'augmenter l'automatisation d'un assistant de preuve comme Coq à moindre coût. Dans la première partie de l'exposé, je développerai de A à Y un exemple simpliste de preuve par réflexion. Dans la seconde partie de l'exposé, je présenterai la mise en oeuvre de micromega une tactique Coq réflexive pour résoudre des buts arithmétiques sur Z de la forme: for all x1...xn, ¬(^ e_i(x1,...,xn) ? 0) avec e ::= e + e | - e | e * e | c | x Pour résoudre de tels buts, micromega appelle des procédures de décision externes (et existantes) qui produisent intrinsèquement des certificats de non-satisfiabilité qui sont (efficacement) vérifiés par Coq.

Jeudi 3 mai, 14h30 salle Jersey
Factorisations pour la théorie des automates
Thomas Colcombet
A venir
Niveau avancé

Résumé: Le produit sur les mots est associatif. Cette propriété permet d'écrire un mot de nombreuses façons, c'est à dire de le factoriser. La technique de factorisation consiste à rendre une propriété aisée à vérifier sur un mot quand une bonne factorisation en est choisie. Par exemple, il est plus facile de vérifier qu'il y a un nombre pair de lettres dans le mot factorisé (aa)(aa)(aa)(aa)(aa)(aa) que dans aaaaaaaaaaaa. Cet exposé sera l'occasion de montrer combien ce principe élémentaire peut être utile en théorie des automates. Nous commencerons par l'utilisation du théorème de Ramsey par Büchi sur les mots de longueur oméga. Puis nous nous nous intéresserons au théorème des forêts de factorisation de Simon, et son utilisation sur les automates de distance. Nous verrons enfin comment prolonger et unifier ces approches. On retombera alors sur le théorème de déterminisation de McNaughton, la complémentation des automates sur les mots dispersés dénombrables, la complémentation d'automates à compteurs ou encore des résultats d'équivalences entre logiques.

Jeudi 26 Avril en salle Jersey
Détection de la terminaison globale d'un algorithme distribué
Jérémie Chalopin
Niveau avancé

On considère des systèmes distribués, modélisés par des graphes, dans lesquels les processus communiquent par échange de messages en mode asynchrone dans lesquels les processus n'ont pas nécessairement d'identifiants uniques.

Le problème de la détection de la terminaison est le suivant. On considère un algorithme distribué qui permet de réaliser une tâche quelconque sur une famille de graphes et on cherche à déterminer sous quelles conditions il est possible de modifier cet algorithme de telle sorte que lorsque l'exécution est terminée (chaque processus a calculé sa valeur finale), alors au moins un processus puisse détecter que l'exécution est globalement terminée.

On présente une condition nécessaire et suffisante permettant une telle transformation. En fait, il s'avère que cette condition ne dépend que de la famille de graphes considérés et non de l'algorithme initial. Les résultats connus deviennent alors des corollaires de cette caractérisation. On obtient aussi de nouveaux critères simples permettant d'assurer l'existence d'un algorithme détectant la terminaison.

Résultats obtenus en collaboration avec Yves Métivier, Emmanuel Godard et Gerard Tel.

Jeudi 19 Avril à 14h30 en salle Jersey
Modular construction of finite and complete prefixes
Agnes Madalinski
Niveau avancé

The modular construction of finite and complete prefixes applied to distributed systems, which are modelled by Petri nets in form of synchronous products of automata, is presented. A distributed system is described as a collection of components interacting through interfaces. They exhibit factorisation properties, viz. the unfolding of a distributed system factorises as the product of unfoldings of its components. This gives a compact representation and makes it possible to analise the system by parts.

The construction of modular prefixes is based on deriving 'summaries' of components w.r.t. their interfaces whilst passing them on the interaction structure of system via interfaces. Prefixes of components are then derived locally by taking into account the summaries received on their interfaces.

Jeudi 5 Avril à 14h30 en salle Jersey
Distributed Synthesis for Well-connected Architectures
Niveau avancé

Le problème de la synthèse a été posé par Church au début des années 60. Un algorithme de synthèse prend en entrée une spécification reliant des entrées et des sorties, et doit produire une machine réagissant instantanément aux entrées en produisant des sorties (comme un transducteur) réalisant cette spécification, si c'est possible.

Le problème peut être paramétré par le langage de spécification et le type de machines sur lesquelles les spécifications sont réalisées.

Dans cet exposé, on présentera le cas de systèmes distribués où les processus communiquent de façon synchrone, et de spécifications allant de LTL, cadre introduit par Pnueli et Rosner, au mu-calcul, en essayant de dégager la limite entre décidabilité et indécidabilité.

Vendredi 30 mars, 14h00 Salle 016, IRMAR (rez de chaussée, bâtiment 22)
Vérification formelle de compilateurs
Niveau introductif

Le séminaire de cette semaine s'inscrit dans le cadre du séminaire CRYPTO de l'IRMAR, et se déroulera donc dans le batiment 22 (a.k.a la Tour de Maths).

Tous les programmeurs s'attendent à ce que les compilateurs et autres outils de génération de code produisent du code exécutable qui se comporte exactement comme prescrit par le programme source. Ce n'est malheureusement pas toujours le cas : des bugs dans le compilateur peuvent conduire à la production de code machine incorrect à partir d'un source correct. Ce cas de figure est particulièrement préoccupant dans le cas de code critique qui a été vérifié (au niveau source) à l'aide de méthodes formelles (analyse statique, model checking, preuve de programme) : tout bug dans le compilateur peut potentiellement invalider les garanties obtenues à grand-peine grâce aux méthodes formelles.

Après une introduction aux méthodes formelles et aux différentes manières de renforcer la confiance que l'on peut avoir dans un compilateur, l'exposé détaillera l'une de ces manières : la preuve de programme appliquée directement au compilateur lui-même, avec pour but de prouver que le comportement du programme source est préservé par toutes les passes du compilateur. Je présenterai les premiers résultats du projet Compcert : une expérience de développement et de preuve de correction, utilisant l'assistant de preuves Coq, d'un compilateur modérément optimisant pour un sous-ensemble du langage C. Ces premiers résultats sont encourageants et suggèrent, à plus long terme, que la vérification formelle d'outils intervenant dans la production et la certification de codes critiques est faisable.

Jeudi 29 mars, 15h00 en salle Jersey
Typing and control of mobility
Niveau Avancé

Reasoning about programs is (even!) harder when they are distributed (for instance over a wide area network). I will begin this talk by presenting a process calculus in which processes are explicitly located and may use an explicit migration construct to move between locations: the Dpi-calculus.

I will show then a type system suited for this calculus in which types correspond to access rights granted to processes. This type system allows a location to control the processes trying to enter. I will talk of the difficulties arising in this type system and describe an observational equivalence that respect those constraints over migations. Finally I will sketch a complete proof technique that enlighten some subtle difficulties in this setting.

Jeudi 22 Mars en salle Jersey
Langages dédiés, grammaires modulaires et morphismes d'évaluation
Niveau à venir.

An abstract context-free grammar can be viewed as a system of polynomial functors. The initial algebra of this functor coincides with its least fixed-point; and this fixed-point can be computed by a method of substitution using Bekic theorem. By doing so the system of polynomial functors is transformed into a related system of regular functors. We introduce a splitting operation on algebras producing an algebra for the resulting system of regular functors from an algebra of the original system of polynomial functors. This transformation preserves the interpretation function (catamorphism). The end result is a class of (extended) abstract context-free grammars, associated with regular functors. This class seems to be well-adapted to the modular design of domain-specific embedded languages.

Jeudi 15 Mars en salle Jersey
A Certified Lightweight Non-Interference Java Bytecode Verifier
Niveau introductif

Non-interference is a semantical condition on programs that guarantees the absence of illicit information flow throughout their execution, and that can be enforced by appropriate information flow type systems. Much of previous work on type systems for non-interference has focused on calculi or high-level programming languages, and existing type systems for low-level languages typically omit objects, exceptions, and method calls, and/or do not prove formally the soundness of the type system. We define an information flow type system for a sequential JVM-like language that includes classes, objects, arrays, exceptions and method calls, and prove that it guarantees non-interference. For increased confidence, we have formalized the proof in the proof assistant Coq; an additional benefit of the formalization is that we have extracted from our proof a certified lightweight bytecode verifier for information flow. Our work provides, to our best knowledge, the first sound and implemented information flow type system for such an expressive fragment of the JVM.

Note:
This work will be presented at the 16th European Symposium on Programming (ESOP'07) Follow this link.

Jeudi 8 Mars en salle Jersey
Verification probabiliste et Approximation
Niveau à venir.

Cet expose presente un etat de l'art de resultats recents concernant deux types d'approximation qui peuvent etre utiles dans le contexte de la verification pour reduire la complexite en temps et en espace. Dans le premier cas, on introduit une notion d'approximation sur les donnees, c'est-a-dire sur le modele a verifier, definie a l'aide d'une distance. Il est alors possible de concevoir des algorithmes probabilistes permettant de decider, en temps independant de la taille du modele, si la propriete consideree est satisfaite ou si elle est loin, a epsilon pres au sens de la distance, de l'etre. Dans le second cas, on definit une methode d'approximation pour la verification de proprietes quantitatives sur des systemes probabilistes. Les algorithmes probabilistes d'approximation ainsi obtenus permettent de reduire de maniere exponentielle la complexite en espace. Ces algorithmes ont ete implementes de maniere distribuee dans un model checker probabiliste qui s'est revele tres efficace.

Les slides Verification probabiliste et Approximation

La page du projet Vera et le lien sur un papier dont il a parlé.

Jeudi 1er Mars 14h30 en salle Minquiers
Efficient Approximate Verification of B via Symmetry Markers
Niveau Introductif.

We present a new approximate verification technique for B models. The technique employs symmetry of B models induced by the use of deferred sets. The basic idea is to efficiently compute markers for states, which are such that symmetric states are guaranteed to have the same marker (but not the other way around). The approximate verification algorithm then assumes that two states with the same marker can be considered symmetric. We describe how symmetry markers can be efficiently computed and empirically evaluate an implementation, showing both very good performance results and a high degree of precision (i.e., very few non-symmetric states receive the same marker). We also identify a class of B models for which the technique is precise.

Jeudi 22 en salle Aurigny (D165)
Efficient Model Checking for LTL with Partial Order Snapshots

Certain behavioral properties of distributed systems are difficult to express in interleaving semantics, whereas they are naturally expressed in terms of partial orders of events or, equivalently, Mazurkiewicz traces. Examples of such properties are serializability of a database or snapshots. Recently, a modest extension for LTL by an operator that expresses snapshots has been proposed. It combines the ease of linear (interleaving) specification with this useful partial order concept. The new construct allows one to assert that a global snapshot (also called a slice or a cut) was passed, perhaps not in the observed (interleaved) execution sequence, but possibly in a (trace) equivalent one. A model checking algorithm was suggested for a subset of this logic, with PSPACE complexity in the size of the system and the checked formula. For the whole logic, a solution that is in EXSPACE in the size of the system (PSPACE in the number of its global states) was given. In this paper, we provide a model checking algorithm in PSPACE in the size of a system of communicating sequential processes when restricting snapshots to boolean combinations of local properties of each process. Concerning size of the formula, it is PSPACE for the case of snapshot properties expressed in DNF, and EXPSPACE where a translation to DNF is necessary.

Jeudi 8 en salle Crête (F402)
Searching in Graphs without Exploring every Edges

We will present several ways to explore a (diamond) graph in Breadth First Search or Depth First Search without exploring every edge, using Partial Order Techniques. Indeed, Exploring a graph through search is one of the most basic building blocks of various applications. In a setting with a huge state space, such as in testing and verification, optimizing the search may be crucial. We consider the problem of visiting all states in a graph where edges are generated by actions and the (reachable) states are not known in advance. Some of the actions may commute, i.e., they result in the same state for every order in which they are taken (this is the case when the actions are performed independently by different processes). We show how to use commutativity to achieve full coverage of the states traversing considerably fewer edges.

Mardi 30 janvier en salle Les Minquiers
Vérification des Lossy Channel Systems probabilistes et non-déterministes.
Niveau avancé.

Dans les années 90, le modèle de Lossy Channel System (LCS) a été introduit pour représenter des protocoles de communication par file d'attentes imparfaites. Ce modèle a permis de vérifier des propriétés de sureté pour des protocoles de communication asynchrone concus pour pallier les pertes de messages. Néanmoins, il était trop pessimiste concernant les questions de vivacité, car il introduisait des comportements marginaux très peu probables (tels que l'exécution où tous les messages sont systématiquement perdus). Nous avons défini un modèle combinant probabilités et non-déterminisme pour les LCS, dénoté NPLCS. Ce modèle permet de représenter les pertes de messages comme des événements aléatoires, et les lectures ou écritures dans les canaux par des choix non-déterministes. Nous avons alors considéré le problème de la vérification qualitative, dont une instance est par exemple : << existe-t-il un comportement non-déterministe (appelé adversaire) pour lequel la probabilité de vérifier une formule est positive ?>>. On montre que la vérification qualitative est indécidable pour les NPLCS. Néanmoins, lorsqu'on considère la classe raisonnable des adversaires à mémoire finie, la vérification qualitative est décidable. Nous exposerons ces résultats (indécidabilité et décidabilité), en détaillant en particulier les ingrédients qui fournissent la décidabilité, à savoir : (1) l'existence d'un attracteur fini, et (2) un théorème de convergence du calcul itératif de certains points fixes.

Mardi 23 janvier en salle Les Minquiers
Jeux stochastiques positionnels
Avancé

Les processus de décision Markoviens (MDP's) Markov decision sont des systèmes à événements discrets, contrôlables, dont les transitions sont stochastiques. Les performances d'un MDP sont évaluées par une fonction de paiement, qui associe une valeur réelle à chaque exécution. Le contrôleur d'un MDP cherche à maximiser les performances moyennes du MDP.

Le model-checking des logiques temporelles correspond au cas particulier où la fonction de paiement prend les valeurs 1 ou 0 selon que la spécification est vérifiée ou non.

La plupart des fonctions de paiement "classiques", telles que la fonction de paiement en moyenne, escomptée, de la limsup ou de parité partagent une propriété commune non-triviale: dans tout MDP équipé de ces fonctions de paiement, le contrôleur possède une stratégie optimale positionnelle : il peut contrôler son MDP optimalement, sans mémoriser d'information et de manière déterministe.

Du point de vue informatique, les MDP dans lesquels il existe des stratégies optimales positionnelles sont des outils privilégiés de modélisation car ces objets ont de bonnes propriétés algorithmiques.

Ces observations motivent notre intérêt pour la classe des fonctions de paiement positionnelles sur les MDP. Dans cet exposé, on présentera des résultats récents au sujet de cette classe.

Mardi 16 Janvier à 14h en salle Minquiers
Négociation de contrats de Qualité de Service (QoS)
Niveau Avancé

Le déploiement de services sur Internet implique la satisfaction bout en bout de critères de Qualités de Service (délai, bande passante ...) plus ou moins exigeants. L'exemple type concerne le provisionnement à la demande de services de vidéoconférences entre les utilisateurs de domaines différents; La connexion entre deux domaines fait potentiellement intervenir plusieurs autres domaines. En conséquence, chaque domaine intervenant dans cette connexion doit fournir un certain niveau de QoS de façon à ce que la combinaison globale de la QoS le long de la chaîne de domaines satisfasse celle requise pour le service de vidéoconférence. Pour ce faire, chaque domaine fournit un ensemble de classes de QoS adaptées à différents types de services (vidéoconférence mais aussi voix-sur-ip etc). Lorsqu'une de ces classes est sélectionnée (ou instanciée) par un autre domaine, un contrat est établi entre cet autre domaine client et le domaine fournisseur. L'objectif consiste alors à définir un service de négociation (ou sélection) de contrats de QoS permettant de sélectionner la chaîne de contrats optimale. Les difficultés principales de ce problème résident en les aspects distribués (les domaines sont dépendants et hétérogènes) et privés (le contenu d'un contrat n'est connu que par son client et son fournisseur). Nous proposons un cadre définissant la combinaison de critères de QoS de bout-en-bout et des algorithmes d'optimisation distribués pour résoudre ce problème.

Jeudi 7 décembre à 10h30 en salle Aurigny
Model based testing
Jan Tretmans
Niveau Avancé

Systematic testing of software plays an important role in the quest for improved software quality. Testing, however, turns out to be an error-prone, expensive, and time-consuming process. Model-based testing is one of the promising technologies to meet the challenges imposed on software testing. In model-based testing a system under test (SUT) is tested against a formal description, or model, of the SUT's behaviour.

This presentation will first discuss model-based testing in general, and the "ioco testing theory" for labelled transition systems in particular, including a test generation algorithm that is shown to produce provably valid, i.e. sound and exhaustive test suites. In the second part some shortcomings of the ioco theory will be discussed, thus giving the motivation for some variations and extensions. These include compositional, or component based testing, input-enabledness, symbolic algorithms, and the underlying assumptions which make it possible to formally reason about soundness and exhaustiveness of testing.

Jeudi 30 novembre à 14h en salle Crête (F402)
Dépliages temporisés de réseaux d'automates temporisés

Alors que les méthodes d'ordres partiels ont prouvé leur efficacité pour l'analyse de systèmes à événements discrets, leur application aux systèmes temporisés reste un sujet de recherche difficile. Ici, nous proposons une méthode de vérification pour les réseaux d'automates temporisés avec invariants. Fondée sur la technique du dépliage, notre méthode produit un processus branchant, exprimé comme un réseau de Petri acyclique étendu avec des arcs de lecture. Ces arcs nous permettent d'obtenir une relation de concurrence entre les événements la plus large possible. D'autre part, nous attachons à chaque événement, en plus d'un marquage, une zone qui représente les contraintes temporisées associées à cet événement. Nous expliquons alors comment se limiter à une partie bornée de ces zones, correspondant au marquage de cet événement. Nous calculons enfin un préfixe fini et complet de ce dépliage, permettant de résoudre le problème de l'accessibilité.

Mardi 21 novembre à 14h en salle Aurigny
Anonymity Protocols as Noisy Channels
Kostas Chatzikokolakis & Catuscia Palamidessi

Niveau Avancé

Première partie (Kostas Chatzikokolakis)
I will make a brief introduction to the problem of anonymity and present some protocols designed to provide this property. Then I will discuss a probabilistic framework in which anonymity protocols are interpreted as particular kinds of channels, and the degree of anonymity provided by the protocol as the converse of the channel's capacity. I will then illustrate how various notions of anonymity can be expressed in this framework, and show the relation with probabilistic definitions of anonymity in literature.

Seconde partie (Catuscia Palamidessi)
I will show how the channel matrix associated to an anonymity protocol can be used by an adversary to try to infer the identity of the culprit from the observables, using the well-known techniques of Bayesian inference. Then I will discuss how the success of this technique, measured in terms of the Bayesian probability of error, depends critically on certain properties of the matrix.

Éventuelle troisième partie; Model-checking anonymity protocols
We will show a way to construct the matrix of the channel corresponding to an anonymity protocol by using model-checking techniques, and how to compute the capacity in some particular cases. We will illustrate this methodology on the well-known protocol of the Dining Cryptographers.

Mardi 14 novembre en salle Les Minquiers
Arbres et données infinies
Niveau avancé

Un document XML est un arbre dont les noeuds sont annotés avec des tags, mais ce n'est pas tout. Si les tags permettent d'assurer une certaine structure au document, une des fonctions principales d'un document XML est de contenir de l'information. On y retrouve donc aussi des données, par exemple certains noeuds ont des attributs auxquels sont associés une valeur, certaines feuilles peuvent contenir du texte (dont la taille n'est pas a priori bornée)... En pratique ces données ont de l'importance lorsque l'on veut manipuler ces documents. Malheureusement, du point de vu théorique, lorsque l'on considère des documents XML, on fait souvent abstraction des données et de la difficulté qu'elles représentent. Le but du travail que je vais vous présenter est de considérer ces données. Pour cela, on étudie des langages d'arbres dont chaque noeud est doublement étiqueté d'une part par une lettre (tag) appartement à un alphabet fini et d'autre part par une donnée provenant d'un domaine infini.

Mardi 7 novembre 2005 en salle Les Minquiers
Synthèse d'adaptateur de composant par quotient de spécifications
Jean-Baptiste Raclet
Niveau prospectif

Les approches industrielles actuelles du développement logiciel à base de composants se contentent d'exprimer la réutilisabilité d'un composant au niveau de sa signature. Ceci permet d'assurer que deux composants peuvent interagir mais pas de prévenir d'une situation de deadlock. Nous proposons de caractériser la réutilisabilité d'un composant logiciel au niveau comportemental en définissant une opération de quotient sur des spécifications de composants. L'interprétation de cette opération est la suivante: étant donné un composant C1 modèle d'une spécification S1 et une spécification S décrivant le comportement souhaité pour le système global, C2 est modèle de la spécification S/S1 si et seulement si la composition de C1 et C2 est un système satisfaisant S. La partie réutilisée du système est considérée comme une boîte noire: son implémentation C1 est inconnue, seule S1 est utilisée pour caractériser sa réutilisabilité. Nous avons étudié deux types de formalismes graphiques pour définir des spécifications: les automates modaux et les automates à ensembles d'acceptation.

Mardi 31 octobre à 14h en salle Les Minquiers
Approximations pour la vérification automatique de protocoles de securité
Avancé

Cette these s'inscrit dans le cadre de la verification de systemes critiques. Le problème de securite consiste a determiner si un systeme est sur ou non et egalement pourquoi il ne l'est pas. Ce probleme est indecidable en general pour les protocoles de securite. En pratique et pour des classes particulieres de protocoles, des procedures de semi-decision existent mais necessitent souvent une certaine expertise. L'apport majeur de cette these consiste en l'automatisation d'une technique fondee sur des approximations en reecriture et à sa mise à disposition à partir de langages de haut niveau (HLPSL et PROUVE). En representant la connaissance initiale de l'intrus et la configuration initiale du reseau par un langage d'automate d'arbres et en utilisant d'un côte un système de reecriture, specifiant le protocole ainsi que le pouvoir d'action d'un intrus, et d'un autre côte une fonction d'approximation symbolique, une surestimation ou une sous-estimation de la connaissance reelle de l'intrus peut être calculee afin de respectivement demontrer qu'un protocole est sur, ou qu'un protocole est non sur. Cette verification s'effectue pour un nombre non borne d'executions du protocole etudie et pour des proprietes de secret. Le tout est implante dans l'outil automatique TA4SP. Pour preciser pourquoi un protocole est non sûr, une technique de reconstruction de traces dans un contexte d'approximations en reecriture a ete elaboree. A l'aide d'une reconstruction "en arriere" utilisant une nouvelle notion d'unification, un semi algorithme construisant une trace de reecriture jusqu'à un terme de l'automate initial a ete etabli, ce qui permet d'exhiber des contre-exemples dans le domaine de la verification et en particulier d'attaques dans le cadre de la verification de protocoles de securite.

Mardi 24 octobre à 10h30 en salle Les Minquiers
Skew Cyclic Codes

Niveau Avancé

Nous construisons, à partir d'anneaux (non commutatifs) d'opérateurs aux différences en caractéristique finie, des codes correcteurs d'un nouveau type, qui se rapprochent beaucoup des codes cycliques mais où l'action de Frobenius permet une plus grande latence.

Il s'agit d'un travail commun avec: D. Boucher et W. Geiselmann.

Lien vers l' article

Mardi 17 octobre à 14h en salle Les Minquiers
Couplage arrière dans les réseaux de Petri
Anne Bouillard

Niveau Avancé

Dans cet exposé, nous nous intéressons au problème de la génération de marquages d'une réseau de Petri stochastique selon la distribution stationnaire du processus des marquages. Les techniques actuellement utlisées, Monte-Carlo par exemple, permettent seulement d'approcher cette distribution. Dans les années 1990, Propp et Wilson ont trouvé un algorithme utilisant le couplage arrière permettant de générer un état d'une chaîne de Markov selon sa distribution stationnaire.

Après avoir rappelé le principe de cet algorithme, nous verrons comment utiliser cet algorithme pour l'appliquer aux réseaux de Petri stochastiques (avec des temporisations exponentionnellement distribuées). Nous montrons ensuite que l'on peut améliorer la complexité de notre algorithme pour les graphes d'événements en exhibant des "marquages extrémaux". Enfin, nous utilisons la théorie des systèmes (max,plus) pour géneraliser le principe du couplage arrière pour des temporisations plus générales pour certaines classes de réseaux de Petri.

Mardi 10 octobre à 14h00 en salle Aurigny
Secrets Concurrents
Philippe Darondeau

Niveau Prospectif

Etant donne un systeme d'etats fini, un ensemble d'observateurs partiels, et pour chacun d'eux, un ensemble regulier de trajectoires du systeme appele un secret, nous considerons la question suivante: les observateurs peuvent ils savoir que la trajectoire courante du systeme appartient a l'un de ces secrets? Nous cherchons a construire un controle regulier du systeme, capable de proteger les secrets contre des observateurs connaissant ce controle. Nous montrons qu'il existe toujours un controle optimal mais qu'il n'est pas necessairement regulier. Nous donnons des conditions suffisantes pour le calcul de controleurs finis optimaux protegeant les secrets concurrents.

Il s'agit d'un travail commun avec: Eric Badouel, Marek Bednarczyk, Andrezj Borzyszkowski, Benoit Caillaud.

Mardi 3 octobre à 14h en salle Les Minquiers
Automates, jetons et logiques

Introductif

Les automates cheminants ont été introduits il y a une trentaine d'années comme une alternative aux automates d'arbres à branchements maintenant communément utilisés. L'étude de ce modèle s'est trouvée récemment relancée avec l'arrivée de XML, et plus particulièrement du langage XPath. D'autres travaux ont également montré le lien très fort entre les automates à jetons (pebble automata, une extension des automates cheminants), et la logique FO+TC (premier ordre augmenté d'un opérateur de cloture transitive) sur les arbres.

Cet exposé sera l'occasion de dresser un panorama de cette théorie qui s'est substantiellement enrichie ces dernières années. Nous présenterons les principaux résultats ainsi que les grandes questions ouvertes.

Mardi 26 septembre 2006 à 14h00 en salle Les Minquiers
Proof carrying code par interprétation abstraite
David Pichardie

Introductif

Le code porteur de preuve (an anglais Proof Carrying Code, abrégé PCC) est une technique qui permet à un utilisateur craintif de télécharger un programme accompagné d'un certificat (appelée preuve). Cette preuve atteste que le programme vérifie une certaine politique de sécurité. L'utilisateur dispose d'un outil de vérification pour confronter le programme et la preuve et vérifier si la preuve est valide pour le programme fourni.
Nous avons récemment proposé une architecture de PCC basée sur l'interprétation abstraite et dans laquelle les certificats sont des éléments de domaine abstrait. Cette approche nous permet de générer les certificats par les techniques usuelles d'analyses statiques. La correction du vérificateur de certificat (dans notre approche, un vérificateur de point fixe) peut être démontré formellement à l'aide d'un assistant de preuve. L'utilisation de l'assistant de preuve Coq nous permet mÍme d'extraire une implémentation Caml prouvée correcte du vérificateur de certificat.
Après avoir présenté les travaux fondateurs du domaine, je présenterais notre approche par interprétation abstraite et ses premiers résultats expérimentaux. Je conclurais en présentant les objectifs du projet européen Mobius.

lien : http://www.irisa.fr/lande/pichardie/Publis/tcs06.pdf


Mardi 12 septembre 2006 à 14h00 en salle Les Minquiers
Dynamic Logic for Satisfiability of UML Models
Greg O'Keefe

Niveau Avancé

It is obviously not possible to build a round square, but when a model or specification is more complex than this, it is not obvious whether or not the required system can be built. If the semantics of the modelling language are not precise, there may be no definite answer to that question. We propose formal semantics for a subset of UML by translating its models into formulae of dynamic logic. This enables us to test the satisfiability of the models by applying semantic tableux theorem proving techniques. An apparently inconsistent example model given by a class diagram, state-machine diagram and sequence diagram is shown to be inconsistent in this way. Dynamic logic is good at expressing dynamics, and this enables us to give formal semantics for sequence diagrams which allows events to occur that are not explicitly given in the diagram. The sequence diagrams can therefore describe interactions at a higher level of abstraction than is possible in previous formal treatments.