Dorénavant, salle
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 Peter Bertelsen | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
Title: Towards partial evaluation of Java
bytecode
Speaker: Peter Bertelsen, KVL, Denmark
(currently visiting IRISA/project Lande) Abstract:
The Java Virtual Machine (JVM) is an abstract machine for executing
Java bytecode programs. This talk describes on-going work towards partial
evaluation of Java bytecode programs.
Java bytecode is an interesting target language for compilation of
a broad range of programming languages. A number of efficient JVM implementations
exist, and even more efficient implementations will emerge, driven by the
huge interest from software industry in fast execution of Java programs.
Hence, application of various program transformation techniques, e.g. partial
evaluation, to Java bytecode programs seems worthwhile.
We have designed and implemented an off-line partial evaluator for
a small, fairly simple core of the Java bytecode language. In this talk,
I will present the core language and describe our constraint-based binding-time
analysis. Our approach will be demonstrated by an example of partial evaluation
of a small core language program.
We are currently working on extending the binding-time analysis and
specializer to support an enriched core language with important object-oriented
features: classes, objects, fields and methods. In particular, the extended
analyses should support partially static objects. Current plans and ideas
for this will be outlined.
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | 3 | ||||
| 4 Harald Sondergaard | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 Séminaire Irisa: Daniel Pilaud | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 Tour de Table | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 Gaëlle Segouat | 30 | 31 |
Title : Sharing and Groundness
Dependencies in Logic Programs
Speaker : Harald Sondergaard, University of Melbourne
Time and Place : 11H00, Salle AURIGNY
Abstract :
We investigate Jacobs and Langen's Sharing domain, introduced for the
analysis of variable sharing in logic programs, and show that it is isomorphic
to Marriott and Sondergaard's Pos domain, introduced for the analysis of
groundness dependencies. Our key idea is to view the sets of variables
in a Sharing domain element as the models of a corresponding Boolean function.
This leads to a recasting of sharing analysis in terms of the property
of "not being affected by the binding of a single variable." Such an "unaffectedness
dependency" analysis has close connections with groundness dependency analysis
using positive Boolean functions. This new view improves our understanding
of sharing analysis, and leads to an elegant expression of its combination
with groundness dependency analysis based on the reduced product of Sharing
and Pos. It also opens up new avenues for the efficient implementation
of sharing analysis, for example using reduced order binary decision diagrams,
as well as efficient implementation of the reduced product, using domain
factorizations.
Title : Apercu de Coq
- une application : preuve d'une mise en oeuvre de Java Card
Speaker : Gaëlle Segouat
Time and Place : 13H00, Salle AURIGNY
Abstract :
Afin d'utiliser la technologie Java sur les cartes a puce, un sous-ensemble
de Java a ete defini : Java Card. Il s'agit de convertir le format Class
File du bytecode Java en format CAP File accepte par une machine virtuelle
Java Card. Ewen Denney a mis en place un cadre pour prouver la correction
d'un convertisseur de Class File en CAP File. Nous formalisons son travail
grace a l'assistant de preuve Coq, et prouvons qu'un certain ensemble de
contraintes sur ce convertisseur suffit a en assurer la correction. Nous
presentons ici l'assistant de preuve Coq, ainsi que le travail effectue
pour formaliser en Coq la preuve de correction d'une mise en oeuvre de
Java Card.
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | 3 | 4 | 5 Sébastien Ferré
Séminaire Irisa : Marc Dymetman |
6 | 7 |
| 8 | 9 | 10 | 11 | 12 Pont | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 Thomas Colcombet | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 Thèse de Sarah Mallet | 27 | 28 |
| 29 | 30 |
Title : Systèmes
d'information logiques.
Speaker : Sébastien Ferré
Time and Place : 13H00, Salle AURIGNY
Abstract :
Certains systèmes d'informations, tels que les systèmes
de fichiers, utilisent une structure de navigation figée dans le
sens où elle impose un certain ordre sur les critères de
recherche et n'offre pas un langage de requêtes très expressif.
Cette structure favorise ainsi certains types d'utilisation au détriment
des autres, or il est courant qu'un système d'information soit utilisé
par des utilisateurs divers avec des besoins différents. D'autres
systèmes d'information, tels que les bases de données relationnelles,
offrent un langage de requetes plus expressif, mais donne des réponses
non structurées et difficilement exploitables (ex. réponses
des moteurs de recherche sur le Web). Ce qui manque ici, c'est un système
de navigation qui puisse guider progressivement l'utilisateur vers la réponse
cherchée. Le problème est donc de concilier interrogation
et navigation, tout en évitant les inconvénient des systèmes
hybrides qui ont déjà été proposés.
Le principe retenu est d'étiqueter les objets du système
d'information par des formules logiques, puis d'utiliser l'analyse de concepts
formels (ACF) pour définir une structure d'organisation et de navigation.
Pour celà, l'ACF a tout d'abord été généralisée
d'une logique simple à attributs vers une logique presque arbitraire.
Puis un système d'information de type shell Unix a été
réalisé pour une logique arbitraire : le shell conceptuel.
Celui-ci a été instancié pour la logique à
attributs de l'ACF et a permis d'effectuer quelques expérimentations.
Les perspectives applicatives concernent les systèmes de fichiers,
le génie logiciel et les applications grand public (ex. catalogues,
guides touristiques).
Title :Automates d'arbres.
Speaker : Thomas Colcombet
Time and Place : 13H00, Salle AURIGNY
Abstract :
Les logiques temporelles permettent d'exprimer des contraintes sur
le comportement de logiciels, de protocoles ou de circuits intégrés.
On peut décrire dans ce formalisme une partie des spécifications
d'un programme. Un outil (model-checker) est alors capable de vérifier
automatiquement
si un programme (ou plus exactement une abstraction d'un programme) vérifie
ou non les spécifications.
Une telle vérification passe par la traduction de la formule
logique et de l'abstraction du programme en un automate. Aux différents
'niveaux' de logiques temporelles (CTL, LTL, CTL*, mu-calcul) correspondent
différents types d'automates (de mots infinis, d'arbres, alternants,
hésitants...). Cette approche unique de la logique temporelle permet
une étude précise de la complexité des problèmes
de model-checking.
Nous présenterons le formalisme des automates d'arbres tout
en montrant son lien avec les logiques temporelles. Nous décrirons
alors le problème des conditions d'arrêt. Enfin nous montrerons
comment les propriétés de certaines logiques peuvent être
traduites en propriétés sur les automates, et comment en
déduire des algorithmes de model-checking efficaces.
References :
@Article{Bernholtz:1994:ATA,
@Article{Vardi:1996:ATA,
@InCollection{00000234,
Title : Thèse : "Explications
pour les bases de données déductives : associer trace et
sémantique"
Speaker : Sarah Mallet
Time and Place : 11H00, salle Métivier
Abstract :
Une base de données déductive est une base de données
interrogée à l'aide de programmes logiques. Ces programmes
logiques sont écrits par des développeurs. Ils sont ensuite
utilisés par des utilisateurs pour consulter la base de données.
Développeurs et utilisateurs ont besoin de comprendre l'exécution
des programmes qu'ils écrivent, pour les premiers, et qu'ils manipulent,
pour les seconds. Ils n'ont pas la même vision de l'exécution
d'un programme, les explications de l'exécution qui leur sont proposées
doivent être différentes. Nous proposons une technique qui
permet de définir des explications adaptables à l'utilisateur
à partir d'un système de bases de données déductives
existant. Cette technique s'appuie sur une trace de l'exécution
déjà intégrée au système au moment de
sa conception, nous évitons ainsi des modifications du système.
Cette trace, qui reflète le niveau de l'implémentation, contient
de l'information intéressante mais elle n'est compréhensible
que par les implémenteurs. Il faut rendre la trace accessible à
d'autres types utilisateurs. Pour cela, nous l'associons à une sémantique
opérationnelle définie suivant des critères de cohérence,
de monotonicité et de couverture mutuelle. Un prototype implémente
cette association par un méta-interprète piloté par
la trace. Les informations contenues dans la trace dirigent le méta-interprète
et évitent de refaire des calculs effectués au cours de l'exécution,
en particulier les accès à la base de données. Enfin,
en utilisant des techniques d'instrumentation de méta-interprète,
nous illustrons la flexibilité de notre technique pour définir
des images de l'exécution.
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | 3 Séminaire Irisa : Les systèmes d'information mobiles | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 Thomas Colcombet | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 Tour de table | 18 | 19 |
| 20 Soutenance d'HDR (Thomas Jensen) | 21 | 22 | 23 | 24 Noël | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 Nouvelle année |
Title : tissage de politiques de
securite
Speaker : Thomas Colcombet
Time and Place : 13H00, salle Aurigny
Abstract : We propose an automatic method to enforce
trace properties on programs. The programmer specifies the property separately
from the program; a program transformer takes the program and the property
and automatically produces another ``equivalent'' program satisfying the
property. This separation of concerns makes the program easier to develop
and maintain. Our approach is both static and dynamic. It integrates static
analyses in order to avoid useless transformations. On the other hand,
it never rejects programs but adds dynamic checks when necessary. An important
challenge is to make this dynamic enforcement as inexpensive as possible.
The most obvious application domain is the enforcement of security policies.
In particular, a potential use of the method is the securization of mobile
code upon receipt.
Les transparents de l'exposé Version
ps
L'article présenté à POPL Version
ps
Title : Analyse statique de programmes
: fondements et applications
Speaker : Thomas Jensen
Time and Place : 10H00, salle Michel Métivier
Abstract : L'analyse statique regroupe une gamme de méthodes
pour déterminer des propriétés du comportement d'un
programme sans l'exécuter. Dans cet exposé je présenterai
mes travaux concernant la spécification d'analyses statiques par
des systèmes d'inférences (systèmes de types non-standards).
D'abord je formaliserai le lien entre les systèmes de type et l'interprétation
abstraite classique. Ensuite je montrerai comment cette approche s'applique
aux différents domaines de programmation : l'analyse de nécessite
pour des langages fonctionnels, l'analyse de relations entre variables
dans des programmes synchrones et la vérification de propriétés
de sécurité de programmes Java.
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 Séminaire Lande | 7 Séminaire Lande | 8 | 9 |
| 10 | 11 Patrick Cousot | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 Erwan | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 Fausto | 29 | 30 |
| 31 |
Titre:Interprétation abstraite
temporelle
Orateur: Patrick Cousot, Département Informatique,
École Normale Supérieure, Paris
Heure et place: 14H00, salle Métivier
Résumé: Nous étudions l'interprétation
abstraite de logiques et calculs temporels dans un cadre général,
indépendant de la syntaxe, de la sémantique et des abstractions
utilisées. Ceci est appliqué à un nouveau calcul temporel
qui généralise le µ-calcul grâce à de
nouvelles modalités d'abstraction existentielle et universelle et
de renversement du temps ainsi qu'à une nouvelle sémantique
de traces avec temps discret symétrique. La sémantique plus
classique basée sur des ensembles d'états est une interprétation
abstraite de cette sémantique de traces, qui est en fait incomplète,
ce qui conduit à comprendre, de manière surprenante, la vérification
de modèle (model-checking) et son application à l'analyse
statique booléenne (dataflow analysis) comme des interprétations
abstraites correctes mais en général incomplètes,
même dans le cas de systèmes finis. Ceci conduit à
étudier des sous-calculs et logiques complètes (comme c'est
le cas pour CTL, mais pas pour CTL*).
Titre : Spécifier des modèles
de traces en utilisant une sémantique par continuations.
Orateur: Erwan Jahier
Heure et place: 13H30, salle Oléron
Titre : Non Pair-Sharing and Freeness
Analysis through Linear Refinement
Orateur: Fausto Spoto
Heure et place: 13H30, salle Oléron
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | 3 | 4 Jan Smaus | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 Jean-François Boulicaut | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 Jean-Philippe | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 Tour de table | 26 | 27 |
| 28 | 29 |
Orateur : Jan Smaus
Heure et Place : 13H00, salle Oléron
Résumé: A class of predicates is identified
for which termination does not depend on left-to-right execution. The only
assumption about the selection rule is that derivations are input-consuming,
that is, in each derivation step, the input arguments of the selected atom
do not become instantiated. This assumption is a natural abstraction of
previous work on programs with delay declarations. The method for showing
that a predicate is in that class is based on level mappings, closely following
the traditional approach for LD-derivations. Programs are assumed to be
well and nicely moded, which are two widely used concepts for verification.
Many predicates terminate under such weak assumptions. Knowing these predicates
is useful even for programs where not all predicates have this property.
Titre Etude bibliographique
sur les systèmes de détection d'intrusions
Orateur Jean-Philippe Pouzol
Heure et place 13H30, salle Oléron
Résumé Suite aux exposés de Véronique
Abily et Mireille Ducassé lors du Grand Séminaire Lande du
mois de janvier, je me propose de vous présenter un panorama des
différentes approches décrites dans la littérature
pous mettre en oeuvre des systèmes de détection d'intrusions
dans les systèmes informatiques.
Après un très bref rappel sur les enjeux relatifs à
la détection d'intrusions, je présenterai successivement
: les approches basées sur une modélisation du comportement
normal du système ; les approches basées sur la recherche
de signatures d'attaques connues ; et enfin les travaux visant à
distribuer la détection d'intrusions sur un réseau de machines.
La bibliographie est disponible en
version .ps.gz.
Les transparents de l'exposé sont disponibles en
version .ppt.gz
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | 3 Frédéric Prost | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 Lakshmi | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 Séminaire Irisa : Gautam Biswas | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 Siegfried 13h15
Meta, PVS 14h00 |
25 | 26 |
| 27 | 28 | 29 | 30 | 31 Pierre-Etienne Moreau |
Titre : TriSL: A Software
Architecture Description Language and Environment
Orateur: Renganarayanan Lakshminarayanan
Heure and Place : 13H30, salle Aurigny
Résumé : As the size and complexity of
a software system increases, the design problem goes beyond the algorithms
and data structures of the computation. Designing and specifying the overall
system structure -- or software architecture -- becomes the central problem.
A system's architecture provides a model of the system that hides implementation
detail, allowing the architect to concentrate on the analyses and decisions
that are most crucial to structuring the system to satisfy its requirements.
Unfortunately, with few exceptions, current exploitation of software architecture
and architectural style is informal and ad hoc. The lack of an explicit,
independent characterization of architecture and architectural style significantly
limits the extent to which software architecture can be exploited using
current practices. Architecture Description Languages(ADL) result from
a linguistic approach to the formal description of software architectures.
ADLs should facilitate building of architectures, not just specification.
Further, they should also address the compositionality, substitutability,
and reusability issues, which are the key to successful large-scale software
development. A software architecture description language with a well defined
type system can facilitate compositionality, substitutability, and reusability,
the three keys to successful large-scale software development. Our contribution
is a new software architecture description language, TriSL, which supports
these features. In this talk we describe the design and implementation
of TriSL. We demonstrate the power of our language and its expressiveness
through case studies of real world applications.
Titre : Analyzing non-functional
properties of mobile agents
Orateur: Siegfried
Heure and Place : , salle
Aurigny
Résumé : The mobile agent technology is
emerging as a useful new way of building large distributed systems. The
advantages of mobile agents over the traditional client-server model are
mainly non-functional. We believe that one of the reasons preventing the
wide-spread use of mobile agents is that non-functional properties are
not easily grasped by system designers. Selecting the right interactions
to implement complex services is therefore a tricky task. We tackle this
problem by considering efficiency and security criteria. We propose a language-based
framework for the specification and implementation of complex services
built from interactions with primitive services. Mobile agents, Rpc, remote
evaluation, or any combination of these forms of interaction can be expressed
in this framework. We show how to analyze (i.e. assess and compare) complex
service implementations with respect to efficiency and security properties.
This analysis provides guidelines to service designers, enabling them to
systematically select and combine different types of protocols for the
effective realization of interactions with primitive services.
Titre : PVS : utilisation du prouveur
PVS pour la vérification de programmes réactifs
Orateur: Vlad Rusu, chargé de recherche à
l'INRIA (mailto:Vlad.Rusu@irisa.fr)
Heure and Place :14H00, salle Jersey
Résumé : Le prouveur PVS est un outil qui
permet d'automatiser en partie le raisonnement déductif. PVS est
utilisé dans environ 200 universités et centres de recherche
et commence à être utilisé dans l'industrie. Ses applications
vont de la vérification de matériel aux preuves de théorèmes
d'analyse mathématique.
Les atouts de PVS sont le langage de spécification, simple et puissant, ainsi que les procédures de décision intégrées aux commandes de preuve. Ces dernières évitent à l'utilisateur d'être encombré par les détails insignifiants de la preuve, lui permettant de se concentrer sur l'essentiel.
Dans ce cours-conférence, je présenterai, par l'intermédiaire d'exemples, le langage de spécification, le contrôle de types, ainsi que les principales commandes de preuve. Je donnerai un exemple de vérification de programmes avec PVS, en utilisant une combinaison de méthodes déductives, abstraction et model-checking.
Titre : Compilation de regles de reecriture
et de strategies non-deterministes
Orateur: Pierre-Etienne MOREAU
Heure and Place : 13H30, salle Aurigny
Résumé : Les techniques de réécriture
ont été développées depuis les années
1970 et appliquées en particulier au prototypage des spécifications
formelles algébriques et à la démonstration de propriétés
liées à la vérification de programmes.
ELAN est un système qui permet de spécifier et d'exécuter des résolveurs de contraintes, des démonstrateurs et plus généralement tout processus décrit par des règles de transformation. Il possède des opérateurs associatifs-commutatifs (AC) et un langage de stratégies qui permettent une gestion fine de l'exploration d'un arbre de recherche et une manipulation aisée de multi-ensembles et d'opérateurs mathématiques tels que les connecteurs booléens, les opérateurs arithmétiques ou les opérateurs de composition parallèle par exemple.
Ces deux notions améliorent grandement l'expressivité du langage mais introduisent un double non-déterminisme lié à la possibilité d'appliquer plusieurs règles, de différentes façons, sur un terme donné. Cela rend difficile et généralement peu efficace leur implantation.
L'objectif principal de ce travail est d'étudier des techniques de compilation qui améliorent l'efficacité de ce type de langages. Nous proposons un nouvel algorithme, à base d'automates déterministes, pour compiler efficacement le filtrage syntaxique. Nous définissons ensuite différentes classes de règles pour lesquelles nous proposons un algorithme efficace de filtrage AC. Cet algorithme utilise une structure de données compacte et les automates définis précédemment, ce qui améliore considérablement les performances du processus de normalisation dans son ensemble.
L'étude du langage de stratégies conduit à implanter des primitives originales de gestion du backtracking et à définir un algorithme d'analyse du déterminisme permettant de réduire leur usage et d'améliorer encore les performances, tout en réduisant l'espace mémoire nécessaire. Enfin, l'implantation des méthodes proposées a donné lieu à l'élaboration de nombreuses optimisations théoriques et techniques qui peuvent être largement réutilisées pour implanter d'autres langages de programmation par réécriture.
Dans le cadre de ce séminaire, je présenterai les algorithmes
de compilation, l'architecture et le fonctionnement du compilateur, ainsi
qu'une proposition d'environnement de spécification, fondée
sur l'utilisation d'un format intermédiaire. Ce format intermédaire
devrait permettre à terme de représenter les programmes et
les calculs effectués. Ceci, dans l'optique de modulariser l'environnement
tout en permettant d'effectuer des transformations de programmes et des
analyses de traces.
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | |||||
| 3 | 4 Sandrine Chirokoff | 5 Olivier Danvy | 6 | 7 Séminaire Irisa : Miroslav Malek | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 Tour de Table | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 Vacances | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 Michael | 29 | 30 |
Titre :Une approche uniforme à
la spécialisation de programmes et à la spécialisation
de
données
Orateur:Sandrine Chirokoff
Heure and Place : 14H00, salle Métivier
Résumé : Le développement de logiciels
doit concilier deux propriétés importantes et contradictoires
: généricité et performance. Pour résoudre
ce problème, une approche prometteuse consiste à utiliser
différentes techniques de spécialisation pour optimiser un
programme générique en fonction d'un contexte d'utilisation
donnée.
Toutefois, le degré de spécialisation d'un programme repose en grande partie sur les analyses qui identifient les calculs dépendant du contexte d'utilisation. Ces analyses, lorsqu'elles traitent un langage de taille réelle tel que C, demandent un effort de développement considérable et requièrent une mise au point délicate. Cette situation constitue un frein à l'exploration des différentes techniques de spécialisation puisque ces techniques ont jusqu'à maintenant été étudiées isolément. Ainsi, on constate que la spécialisation de programmes et la spécialisation de données ont toujours été traitées séparément. Bien que les transformations de programmes effectuées par ces deux stratégies soient différentes, l'identification des calculs invariants est un objectif commun. Cet aspect suggère que les analyses préparant la phase de transformations pourraient faire l'objet de diverses factorisations.
Dans cette thèse, nous formalisons les analyses de la spécialisation
de données dans le but d'uniformiser cette méthode avec le
spécialiseur de programmes Tempo. Ce travail permet, d'une part,
l'intégration des analyses nécessaires à la spécialisation
de données, et, d'autre part, la factorisation des développements
de ces analyses. Nous montrons enfin que ce nouveau type de spécialiseur
fournit au programmeur les stratégies complémentaires qui
élargissent la portée de la spécialisation. Nous illustrons
les avantages et les limitations de ces stratégies et leur combinaison
sur une variété de programmes. Nous en concluons que la combinaison
de ces deux techniques permet de traiter efficacement l'éventail
des opportunités présentes dans un même programme.
Titre : Formalizing Implementation
Strategies for First-Class Continuations
Orateur: Olivier Danvy
Heure and Place : 14H00, salle Métivier
Résumé : We present the first formalization
of implementation strategies for first-class continuations. The formalization
hinges on abstract machines for continuation-passing style (CPS) programs
with a special treatment for the current continuation, accounting for the
essence of first-class continuations. These abstract machines are proven
equivalent to a standard, substitution-based abstract machine. The proof
techniques work uniformly for various representations of continuations.
As a byproduct, we also present a formal proof of the two folklore theorems
that one continuation identifier is enough for second-class continuations
and that second-class continuations are stackable.
To be presented at ESOP'00.
Titre : Séminaire Irisa : Delivering
Dependability and Speed to Web Users
Orateur: Miroslav Malek
Heure and Place : 14H00, salle Jersey
Résumé :
As the web revolutionizes the modus vivendi and the modus operandi of the human race with continuously changing technologies and business models, dependability, speed, and security will be of an essence. You will be taken on a short journey of the past, the present and the future of the web followed by a brief overview of omniscience, consensus and autonomy paradigms and their suitability to the web environments. Most of the dependable, real-time systems to date have been implemented in embedded settings and there is an urgent need to open up this type of computing technology to a larger number of users utilizing heterogeneous web environments. State-of-the-art commercial off-the-shelf (COTS) systems concentrate mostly on optimizing performance, neglecting the importance of predictable end-to-end service availability.
The talk will present our approach to responsive cluster computing, i.e., the delivery of predictable, timely services even in the presence of faults. Our major projects focus on foundations, specification, design and implementation of basic concepts and protocols for support of predictable, high performance responsive computing. We have developed a consensus-based approach to fault-tolerant computing and investigated responsiveness tradeoffs between checkpointing and replication. Additional research considers scheduling policies which support dependability and timeliness in high performance environments. Reliability, (re-) configuration as well as QoS adaptation for the pure video/data transmission will be described in the context of teleteaching and tele-laboratory scenarios, which can tolerate certain classes of faults including fault tolerant browsers.
A concept of "Composite Objects" as a filtering bridge between standard middleware platforms and software frameworks providing predictable services with certain quality-of-service (QoS) guarantees will be presented. Results focus on fault-tolerant real-time computing utilizing the CORBA middleware platform and can be applied to, e.g., process-control and robotics. A software tool generating fault-tolerant services will also be outlined.
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 Henrik Nilsson | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 David | 20 | 21 |
| 22 Jean-Christophe Filliatre | 23 | 24 Carlton Pu | 25 | 26 Tour de Table | 27 | 28 |
| 29 | 30 | 31 |
Titre : How to Look Busy while Being
as Lazy as Ever: The Implementation of a Lazy Functional Debugger
Orateur: Henrik Nilsson
Heure and Place : 13H30, salle Aurigny
Résumé : In this talk, I'll describe the
implementation of a debugger for lazy functional languages like Haskell.
The key idea is to construct a declarative trace which hides the operational
details of lazy evaluation. However, to be useful, the scheme must not
be too expensive in terms of time and space for tracing. Thus, to avoid
excessive memory consumption (and the time overhead of constructing parts
of the trace that will never be inspected), the trace is constructed one
piece at a time, as needed during a debugging session, by automatic re-execution
of the program being debugged. In the talk, I'll cover both the underlying
ideas and some of the central points of the implementation. Performance
figures will also be presented which shows that the approach is fairly
efficient.
Titre : Formalization and Verification
of Coherence Protocols with the Gamma Framework
Orateur: David Mentré
Heure and Place : 13H30, salle Aurigny
Résumé : Je présenterais un algorithme
de vérification automatique de protocoles de cohérence utilisés
dans les mémoires virtuelles partagées. Pour ce faire, les
protocoles sont représentés par une variante du formalisme
Gamma, c'est à dire par des règles de réécritures
sur des multi-ensembles. L'état global du protocole est représenté
par un multi-ensemble et les changements d'états sont représentés
par les règles de réécriture. Les invariants sont
exprimés par des propriétés sur la cardinalité
de sous-ensembles qui caractérisent certaines relations spécifiques
(celui qui a compris cette phrase me le dit ;-). Notre algorithme vérifie
qu'une propriété est un invariant du protocole. Je montrerais
également quelques résultats préliminaires et comparerais
notre approche avec deux autres méthodes couramment utilisées.
Titre : Preuve de programmes impératifs
en théorie des types
Orateur: Jean-Christophe Filliatre
Heure and Place : 14H00, salle Aurigny
Résumé : Nous étudions le problème
de la certification de programmes mêlant traits impératifs
et fonctionnels dans le cadre de la théorie des types.
La théorie des types constitue un puissant langage de spécification, naturellement adapté à la preuve de programmes purement fonctionnels. Pour y certifier également des programmes impératifs, nous commençons par exprimer leur sémantique de manière purement fonctionnelle. Cette traduction repose sur une analyse statique des effets de bord des programmes, et sur l'utilisation de la notion de monade, notion que nous raffinons en l'associant à la notion d'effet de manière générale. Nous montrons que cette traduction est sémantiquement correcte.
Puis, à partir d'un programme annoté, nous construisons une preuve de sa spécification, traduite de manière fonctionnelle. Cette preuve est bâtie sur la traduction fonctionnelle précédemment introduite. Elle est presque toujours incomplète, les parties manquantes étant autant d'obligations de preuve qui seront laissées à la charge de l'utilisateur. Nous montrons que la validité de ces obligations entraîne la correction totale du programme.
Nous avons implanté notre travail dans l'assistant de preuve
Coq, avec lequel il est dès à présent distribué.
Cette implantation se présente sous la forme d'une tactique prenant
en argument un programme annoté et engendrant les obligations de
preuve. Plusieurs algorithmes non triviaux ont été certifiés
à l'aide de cet outil (Find, Quicksort, Heapsort, algorithme de
Knuth-Morris-Pratt).
Titre : INFOSPHERE: SMART DELIVERY OF
FRESH INFORMATION
Orateur: Calton Pu
Heure and Place : 11H00, salle Métivier
Résumé : While huge amounts of information
pervade our environment, it has been difficult to filter it and bring it
to humans in a clean, reliable, and timely way. This fast growing information
jungle needs to be tamed and civilized, to become a nurturing Infosphere
in which the Information Age will flourish. Our vision of a civilized Infosphere
goes beyond just gathering, storing, and retrieving increasing amounts
of information. Living in the Infosphere means being in constant contact
with both the physical world and the information civilization. In general,
the Infosphere supplies fresh information that changes the way we interact
with our environment. An accurate weather forecast could mean a happy birthday
party in the park for kids, saving a crop or bankruptcy for farmers, or
a matter of life or death for a military operation in hostile territory.
Similarly, having an accurate picture of the highway conditions may mean
arriving at work on time, beating the deadline for an important delivery,
or reaching the hospital before the patient dies. We envision the Infosphere
providing more details about the current state of our physical world than
ever imaginable, impartially to all human beings. We believe that the missing
link in the construction of Infosphere is the software to manage information
flow from the information producers to consumers. We propose the Infopipe
abstraction to link information producers to consumers. In addition to
their basic function of transporting information, Infopipes manage and
manipulate the concrete delivery properties of the information flowing
through them, such as freshness. Infopipe creation and composition involve
the specification of these properties and system resource management mechanisms
to maintain them. The property specifications are translated automatically
by the system into an actual implementation with the desired behavior.
When information flows through an Infopipe, concrete delivery properties
and requirements such as freshness, performance, and security are updated
en route and maintained each step of the way. The three components of Infopipe,
the property management, the feedback-based resource management, and the
smart information delivery, can be combined to form an Infosphere that
brings the right information to the right user at the right time.
| lundi | mardi | mercredi | jeudi | vendredi | samedi | dimanche |
| 1 | 2 Pont | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 Sébastien | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 Romain Guider | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 Tour de table | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 Thomas Colcombet |
Titre: Analyse de concepts formels
Orateur : Sébastien Ferré
Heure et place : 13h30 salle Aurigny
Résumé : L'analyse de concepts formels
(ACF) trouve ses fondements dans la théorie des treillis (Birkhof
40)
et apparaît dans le domaine de l'informatique au début
des années 80 (Wille 82). Elle propose une
formalisation des notions de contexte et de concept et fut d'abord
appliqué dans le domaine de l'analyse
de données. Bien que celle-ci reste le domaine privilégié
de l'ACF, on trouve aussi des applications en datamining,
en apprentissage, dans les systèmes d'information, et le domaine
d'application de l'ACF ne cesse de s'étendre.
Pour répondre à la diversité de ces applications,
diverses extensions de l'ACF ont été proposées mais
aucune ne
couvre tous les besoins présents et à venir.
Nous proposons une généralisation logique de l'analyse
de concepts, l'Analyse de Concepts Logique (ACL), qui
subsume toutes les extensions connues et qui permet de décrire
les données traitées par une logique (presque)
arbitraire. Nous montrons en particulier qu'un contexte logique induit
une logique "contextualisée" qui offre
un cadre commun aux diverses applications de l'ACF. Nous nous intéressons
plus particulièrement à son application
aux systèmes d'information logiques.
Cet exposé est de nature introductive et s'attachera à
l'explication des notions élémentaires et à la présentation
des diverses applications.
Titre: Analyse statique de programmes Java, application à la parallélisation
Orateur : Romain Guider
Heure et place : 13h30 salle Aurigny
Résumé :
Nous présentons dans ce travail une analyse statique de programmes à objets
par interprétation abstraite. L'analyse de programmes à objets comporte deux
particularités que nous traitons séparément : l'analyse du flot de contrôle
et la représentation des graphes d'objets. Dans un premier temps, nous
présentons une analyse de flot de contrôle paramétrée par une représentation
abstraite des graphes d'objets. Cette analyse est générique et peut servir de
base à de nombreuses applications.
Nous dérivons de notre interpréteur abstrait une présentation des problèmes
d'analyse statique sous la forme d'un système d'équations. La présentation
sous cette forme permet d'une part de résoudre efficacement les problèmes
d'analyse en utilisant des stratégies d'itérations de point fixe sophistiquées.
De plus, le mode de construction du système d'équations (opérateur de point
fixe) nous permet d'envisager des applications {\it non standard}.
Dans un second temps nous instancions notre analyseur statique en utilisant un
domaine abstrait pour les graphes d'objets qui est dû à Sagiv, Reps et Wilhelm.
Nous étendons ce domaine pour construire une analyse interprocédurale et nous
l'augmentons d'une opération de ramasse miette abstrait qui permet d'analyser
avec précision des opérations telles que la suppression d'un élément d'une
liste chaînée (l'analyse est capable de détecter qu'une liste chaînée après
une opération de suppression a encore la structure d'une liste chaînée).
Nous décrivons également une technique, basée sur ce domaine abstrait, qui
permet d'analyser des fragments de programmes.
Enfin, nous décrivons une application de l'analyse statique à la
parallélisation et à la distribution de programmes à objets. Nous donnons un
critère de parallélisation qui permet d'identifier les objets auxquels on peut
attacher leur propre fil d'exécution tout en préservant la sémantique
séquentielle. Nous interprétons ensuite ce critère sur les domaines abstraits,
ce qui nous permet de les vérifier statiquement.
Pour finir, nous décrivons l'implantation que nous avons faites de notre
analyse et nous présentons également des transformations de programmes qui
permettent d'analyser plus facilement le byte code Java.
Titre:Treillis à complexité bornée
Orateur : Thomas Colcombet
Heure et place : 13h30 salle Aurigny
Résumé :
La qualité d'une analyse de programme peut être
caractérisée suivant deux critères :
sa complexité et sa précision.
Dans la théorie de l'interprétation abstraite (P.Cousot)
les propriétés inférées par une analyse sont modélisées
par un treillis.
Dans ce cadre, la complexité d'une analyse est fortement
corrélée à l'efficacité des opérateurs abstraits et
à la profondeur du treillis choisi.
La précision quant à elle peut s'identifier à la taille
de ce treillis.
Mettre au point une bonne analyse de programme revient
à trouver un compromis acceptable entre complexité
et précision, c'est à dire choisir un treillis convenable.
La solution proposée habituellement en interprétation
abstraite consiste à travailler sur un treillis plus
grand que nécessaire et à utiliser un opérateur d'élargissement
(widening) pour accélérer le calcul. Cet opérateur
correspond toujours à une perte de précision non contrôlée
(au mieux orientée approximativement par des heuristiques).
Cette technique peut être vue comme une diminution *dynamique*
de la complexité du treillis.
Dans cet exposé, je vous montrerai à travers deux exemples
(un treillis d'anneaux de polynômes, et un treillis de formules
logiques) que borner *statiquement* la complexité d'un
treillis est une alternative intéressante au plus classique
élargissement.
Horaires Impossibles : (dlm=Daniel) (dm=David) (ed=Ewen) (fb=frédéric)(fp=Flo) (g1=Gaelle) (lva=Lionel)(jm=Julien) (md=Mireille) (me=Marc) (mp=Michaël) (or=Olivier) (pb=Peter)(sm=Sarah) (tc=Thomas Colcombet) (tg=Thomas Genet)(tj=Thomas Jensen) (pf=Pascal) (r1=Erwan) (sr=Siegfried)(s1=Sebastien) (vn=Valérie-Anne)
sm = pas de contraintes
me = pas de contraintes
| lundi | mardi | mercredi | jeudi | vendredi | |
| 8:00 | md | fb,md | jm | fb | sr |
| 8:30 | md | fb,md | jm | fb | sr |
| 9:00 | md | fb,md | jm | fb | sr |
| 9:30 | md | fb,md | jm | fb | sr |
| 10:00 | md,m p | sr,fb,md,or,tg | mp,jm,or,tg | mp,fb,tg | mp,sr,or,tg |
| 10:30 | md,mp | sr,md,or,tg | mp,or,tg | mp,tg | mp,sr,or,tg |
| 11:00 | md,mp | sr,md,or,tg | mp,or,tg | mp,g1,tg | mp,sr,or,tg |
| 11:30 | g1,md,mp | sr,md,or,tg | mp,or,tg,mp | mp,g1,md,tg | mp,sr,or,tg |
| 12:00 | mp,g1,md | sr,md,or,tg | mp,md,or,tg | mp,sr,mp,g1,md,tg | mp,or,tg |
| 12:30 | g1,md | md | md | sr,g1,md | |
| 13:00 | md | dlm,md | md | mp,sr,md | Réunion |
| 13:30 | md | md | jm,md | mp,sr,md,tg | mpRéunion |
| 14:00 | md | jm,or | mp,sr,md,tg | mp | |
| 14:30 | md | jm,or | mp,md,tg | mp | |
| 15:00 | md | jm,or | mp,md,tg | mp | |
| 15:30 | md | jm,or | mp,md | mp | |
| 16:00 | md,tg | or | jm,or | md | |
| 16:30 | md,tg | or | jm,or | md | |
| 17:00 | md,tg | or | jm | md | |
| 17:30 | md,tg | or | jm | md | |
| 18:00 | md,tg | md |
Réunions Lande des années précédentes
Retour en haut de la page