« ANR PML » : différence entre les versions
Ligne 75 : | Ligne 75 : | ||
Several solutions are considered: |
Several solutions are considered: |
||
* Test and improve the currently implemented criterion |
|||
Description? |
Description? |
||
* Adapt to PML and implement the termination criterion developed by Blanqui and Riba |
|||
in a series of papers (RTA'04, CSL'05 and LPAR'06). Given for each function some formula |
in a series of papers (RTA'04, CSL'05 and LPAR'06). Given for each function some formula |
||
in Presburger arithmetic describing how the size of the output is related to the size of the inputs, |
in Presburger arithmetic describing how the size of the output is related to the size of the inputs, |
||
Ligne 86 : | Ligne 86 : | ||
multiset comparisons together with linear combinations of the arguments. |
multiset comparisons together with linear combinations of the arguments. |
||
* Adapt to PML the techniques developed by Giesl et al for automatically proving the termination of |
|||
Haskell programs by using the powerful state-of-the-art termination techniques developed for rewrite |
Haskell programs by using the powerful state-of-the-art termination techniques developed for rewrite |
||
systems (RTA'06) and implemented in Giesl et al automated termination prover [http://aprove.informatik.rwth-aachen.de/ Aprove] |
systems (RTA'06) and implemented in Giesl et al automated termination prover [http://aprove.informatik.rwth-aachen.de/ Aprove] |
||
(winner of last year [http://termination-portal.org/wiki/Termination_Competition competition] on termination). |
(winner of last year [http://termination-portal.org/wiki/Termination_Competition competition] on termination). |
||
* To make sure that these termination proofs are correct, we propose |
|||
to extend the [http://color.loria.fr CoLoR] platform in order to certify these termination proofs |
to extend the [http://color.loria.fr CoLoR] platform in order to certify these termination proofs |
||
in the highly secure proof checker and proof development system [http://coq.inria.fr/ Coq]. |
in the highly secure proof checker and proof development system [http://coq.inria.fr/ Coq]. |
Version du 11 novembre 2008 à 05:00
Liste des participants
Cette liste sera supprimée du document final puisque les mêmes information s'y trouverons. Pour l'instant ceci est la liste des personnes contactées qui ont répondu au mail de contact et qui n'ont pas encore dit non (ou qui ont dit oui):
- Christophe Raffalli (coordinateur) : 10 mois par ans (voire plus)
- Pierre hyvernat : 3 mois par an
- Lionel Vaux 3 mois par an
- Frederic Blanqui 3 mois par an
- Pierre Weis (réponse en attente)
- Pascal Manoury (2 mois par an)
- Emmanuel Chailloux (réponse en attente)
- Marianne Simonot (2 mois par an)
- Olivier Pons (réponse en attente)
- Maria-Virginia Aponte (2 mois par an)
Total si 3 ans : 54 mois Total si 4 ans : 71.5 mois
Context and positionning of the proposal
Programming languages are evolving rapidly since FORTRAN which is only fifty years old. These languages include more and more sophistacated concepts like "object oriented feature", "type inference", "modules" ... This richness and complexity makes it more and more difficult to train programmers and makes it difficult for them to follow this evolution.
The aim of this project is to build a very powerful language with no loss of expressive power compared to state of the art languages, but based on a very small number of simple features. We think this will be possible thanks to recent progress both in semantics of programming language and the apparition of new algorithm for type inference bases on constraints solving or contraints checking. Moreover, our language will allow for proof of the algorithm inside the language itself and not using external tool.
The idea of a new language arised from the possibility of a new typing algorithm (CITATION de l'article en cours) whose implementation gave birth to a first experimental implementation of PML (Proved ML).
TO BE CONTINUED AND IMPROVED
Scientific and technical description
Background, state of the art
Présenter un état de l’art national et international dressant l’état des connaissances sur le sujet et décrivant le contexte et les enjeux scientifiques dans lequel se situe le projet. Faire apparaître d’éventuels résultats préliminaires.
A WORD ABOUT OTHER PROJECT (OCAML, GALLIUM, HASKELL, ...)
Rationale highlighting the originality and novelty of the proposal
Décrire les objectifs scientifiques/techniques du projet. Présenter les avancées scientifiques attendues. Préciser l’originalité et le caractère ambitieux du projet. Détailler les verrous scientifiques et techniques à lever par la réalisation du projet. Décrire éventuellement le ou les produits finaux développés à l’issue du projet montrant le caractère innovant du projet. Présenter les résultats escomptés en proposant si possible des critères de réussite et d’évaluation adaptés au type de projet, permettant d’évaluer les résultats en fin de projet. Le cas échéant, démontrer l'articulation entre les disciplines scientifiques et le caractère interdisciplinaire du projet.
Scientific and technical programme, project management
Scientific programme, specific aims of the proposal
Présentez le programme scientifique, la méthodologie et la structuration du projet. Justifiez la décomposition en tâches du programme de travail en cohérence avec les objectifs poursuivis. Les tâches représentent les grandes phases du projet. Elles sont en nombre limité. Présenter les liens entre les différentes tâches (si possible, utilisez un diagramme ou un organigramme technique).
Project management
Préciser les aspects organisationnels du projet et les modalités de coordination (si possible individualisation d’une tâche coordination : cf. tâche 0 du document de soumission A).
Detailed description of the work organised by tasks
Pour chacune d’entre elle, décrire : son responsable et les partenaires impliqués (si possible, sous forme graphique), ses objectifs, le programme détaillé des travaux1, la description des méthodes, des choix techniques et des solutions envisagés, les risques et les solutions de repli envisagées, les indicateurs de succès associés aux objectifs et les livrables, les contributions des partenaires (le « qui fait quoi »).
Task 1 - theoretical work
- Correctness of the constraint checking algorithm
- Consistency of proof-checking
Task 2 - termination criterion
Coordinator:
Participants: Blanqui
The logical consistency of the system relies on the termination of functions used in proofs. It is therefore essential to provide tools for checking the termination of functions.
Several solutions are considered:
- Test and improve the currently implemented criterion
Description?
- Adapt to PML and implement the termination criterion developed by Blanqui and Riba
in a series of papers (RTA'04, CSL'05 and LPAR'06). Given for each function some formula in Presburger arithmetic describing how the size of the output is related to the size of the inputs, the validity of which can be checked automatically, the termination follows from the fact that recursive calls are done on strictly decreasing arguments, using for instance lexicographic or multiset comparisons together with linear combinations of the arguments.
- Adapt to PML the techniques developed by Giesl et al for automatically proving the termination of
Haskell programs by using the powerful state-of-the-art termination techniques developed for rewrite systems (RTA'06) and implemented in Giesl et al automated termination prover Aprove (winner of last year competition on termination).
- To make sure that these termination proofs are correct, we propose
to extend the CoLoR platform in order to certify these termination proofs in the highly secure proof checker and proof development system Coq.
Old text:
- Test of the currently implemented criterion
- Improvement to handle recursive call with decreasing argument via size preserving (or decreasing) function
- Manual terminaison for the harder cases
Task 3 - compilation
- Representation of cartesian product and disjoint sum
- Unboxing
Task 4 - programming with effect
- Adaptation of the uniqueness typing to the context of constraint checking
- Compilation of this scheme for affectation (reference and arrays) and IO
Task 5 - equational reasonning
- Adaptation of the Knuth-Bendix completion algorithm
- Terminaison and complexity of our completion algorithm
Task 6 - numerical data
- How to unify the mathematical hierarchy of numbers with the current
practice in computer science
- What number to use for index in arrays
Planning of tasks, deliverables and milestones
Présenter sous forme graphique un échéancier des différentes tâches et leurs dépendances (par exemple, utiliser un diagramme de Gantt). Présenter un tableau synthétique de l'ensemble des livrables du projet (numéro de tâche, date, intitulé, responsable).
Data management, data sharing, intellectual property and results exploitation
Présenter les stratégies de valorisation des résultats : la communication scientifique; la communication auprès du grand public, le cas échéant; la valorisation des résultats attendus; les retombées scientifiques et techniques, éventuellement les retombées industrielles, économiques … la place du projet dans la stratégie industrielle des entreprises partenaires du projet autres retombées (normalisation, information des pouvoirs publics, ...) pour les bases de données, indiquer les modes de stockage et de maintenance ainsi que les communautés bénéficiaires.
Présenter les grandes lignes des modes de protection et d’exploitation des résultats. Pour les projets partenariaux organismes de recherche/entreprises, les partenaires devront conclure, sous l’égide du coordinateur du projet, un accord de consortium dans un délai de un an si le projet est retenu pour financement. Pour les projets académiques, l’accord de consortium n’est pas obligatoire mais fortement conseillé.
Consortium organisation and description
Relevance and complementarity of the partners within the consortium
Décrire brièvement chaque partenaire et fournir ici les éléments permettant d’apprécier la qualification des partenaires dans le projet (le « pourquoi qui fait quoi »). Il peut s’agir de réalisations passées, d’indicateurs (publications, brevets), de l’intérêt du partenaire pour le projet… (il ne s’agit pas de fournir ici le C.V. du responsable scientifique de chaque partenaire). Fournir en annexe 7.2 une présentation plus détaillée des partenaires, de leur savoir- faire et de leurs apports et attentes dans le projet. Montrer la complémentarité et la valeur ajoutée des coopérations entre les différents partenaires. L’interdisciplinarité et l’ouverture à diverses collaborations seront à justifier en accord avec les orientations du projet. (une page maximum)
Qualification of the project coordinator
Christophe Raffalli : 30 mois sur 36 ou 40 mois sur 48.
Fournir les éléments permettant de juger la capacité du coordinateur à coordonner le projet.
Contribution and qualification od each project participant
Pour chacune des personnes dont l’implication dans le projet est supérieure à 25% de son temps sur la totalité du projet, une biographie d’une page maximum sera placée en annexe 7.2 du présent document qui comportera : Nom, prénom, âge, cursus, situation actuelle Autres expériences professionnelles Liste des cinq publications (ou brevets) les plus significatives des cinq dernières années, nombre de publications dans les revues internationales ou actes de congrès à comité de lecture. Prix, distinctions Si besoin, pour chacune des personnes, leur implication dans d'autres projets (Contrats publics et privés effectués ou en cours sur les trois dernières années) sera présentée selon le modèle fourni en annexe 7.3. On précisera l'implication dans des projets européens ou dans d’autres types de projets nationaux ou internationaux. Expliciter l’articulation entre les travaux proposés et les travaux antérieurs ou déjà en cours.
Scientific justification of requested budget
On présentera ici pour chaque partenaire, la justification scientifique et technique des moyens demandés dans le document de soumission A. Ces moyens sont synthétisés à l’échelle du projet dans la fiche «Tableaux récapitulatifs » dans ce document de soumission A. Chaque partenaire justifiera les moyens qu’il demande en distinguant les différents postes de dépenses selon le canevas suivant :.
(Une sous-section par partenaire)
- Une/deux bourse de thèse (où ? avec qui ?)
- Un/deux post-doc (où ? avec qui ?)
- des missions pour financer 6 réunions + des échanges
- organisation d'une école d'été ?
- achat de matériel (joindre vos devis ?)