%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\subsection{Contrats} \noindent{\footnotesize \begin{tabular}{lp{.5cm}lllp{1cm}p{.5cm}p{.5cm}p{.5cm}} \rotatebox{40}{Type} & \rotatebox{40}{Coordinateur} & \rotatebox{40}{Resp. scient.} & \rotatebox{40}{Nom} & \rotatebox{40}{Financeur} & \rotatebox{40}{Période} & \rotatebox{40}{Durée (mois)} & \rotatebox{40}{Budget global (K\texteuro)} & \rotatebox{40}{Part LIPN (K\texteuro)} \\ \acs{MC-TOK} & $\bullet$ & C. Fouqueré & \textsc{websicola} & \acs{UE} & 05/2006-04/2010 & 48 & 809 & 404 \\ \acs{ANR} & & J.-V. Loddo & Prog. fonc. et web & \acs{MENESR} & 09/2006-09/2010 & 48 & 153 & 53 \\ \acs{COST} & & J.-V. Loddo & Hyperl & \acs{UE} & 03/2006-03/2010 & 48 & 200 & \_ \\ \acs{GDRE} & & C. Fouqueré & HyperLearning & \acs{CNRS} et \acs{UE} & 06/2005-06/2010 & 48 & 340 & \_ \\ \acs{ACI} & & P. Baillot & \textsc{geocal} & \acs{MENESR} & 09/2003-09/2006 & 36 & 100 & 12 \\ \acs{ACI} & & P. Baillot & \textsc{criss} & \acs{MENESR} & 07/2003-07/2006 & 36 & 110 & 27 \\ \acs{ANR} & $\bullet$ & P. Baillot & No-Cost & \acs{MENESR} & 09/2005-09/2008 & 36 & 150 & 140 \\ \acs{AS} & & P. Baillot & Mobilité & \acs{CNRS} & 09/2002-09/2003 & 12 & 35 & 7 \end{tabular}} \subsubsubsection{\textsc{websicola}} \textit{Autre partenaire : Net7 (Pise, Italie)} \textsc{websicola} - \textit{WEB SIte COnception LAnguage} - est un projet européen du 6ème \acs{PCRDT} obtenu dans le cadre des actions Marie Curie - Transfer of Knowledge. L'objectif majeur consiste à développer un langage de programmation fonctionnel permettant d'assurer par le typage statique une fiabilité des sites web. La recherche effectuée au \acs{LIPN} porte sur la spécification de ce langage, la mise en oeuvre du développement étant effectuée par l'entreprise italienne Net7, spécialisée dans la programmation et la programmation web. En parallèle, ce projet permet un transfert de compétences entre les deux partenaires. \subsubsubsection{HyperLearning} \textit{Autres partenaires : 30 laboratoires européens} HyperLearning est un projet ayant pour cadre un \acs{GDRE} avec un financement du \acs{CNRS} et de l'union européenne (projet \textsc{cost}) dont l'objectif principal est de créer un système de e-learning avancé en Sciences Humaines. Le projet a quatre composants principaux : 1) recherche en programmation fonctionnelle pour le développement de sites web interactifs, 2) développement d'une plate-forme web distribuée, 3) mise en place de communautés d'apprentissage collaboratif virtuel, 4) création d'un cadre pédagogique approprié. Notre recherche s'effectue dans le premier de ces objectifs : développement d'un langage de programmation adapté aux services web nécessaires pour le cadre particulier des Sciences Humaines (tâche Functional Programming for Complex Interactive Web Systems). \subsubsubsection{\textsc{geocal}} \textit{Autres partenaires : \acs{PPS} (Univ. Paris 7), \acs{IML} (Univ. Aix-Marseille II, coord.), \acs{LIFM} (Univ. Aix-Marseille I), \acs{LIP} (\acs{ENS} Lyon), projet \textsc{mimosa} (\acs{Inria}-Sophia), projet \textsc{calligramme} (\acs{Inria}-Loria), \acs{Inria}-Futurs, \acs{I3M} (Univ. Montpellier II), \acs{LSV} (\acs{ENS} Cachan), \acs{IRMA} (Univ. Louis Pasteur Strasbourg)} \textsc{geocal} - \textit{Géométrie du calcul} (\acs{ACI} Nouvelles Interfaces des Mathématiques) Le but du projet \textsc{geocal} est de favoriser la communication entre des équipes de mathématiciens (logiciens et topologues algébristes) et d'informaticiens, partageant des intérêts convergents dans le domaine de l'étude théorique du calcul. Il vise à promouvoir de nouvelles interfaces entre logique et topologie d'une part, et théorie de la concurrence, de la complexité algorithmique et de la programmation logique de l'autre. Il comprend cinq volets: Sémantique; Calcul de processus et logique; Parallélisme et topologie algébrique; Complexité algorithmique et élimination des coupures; Programmation logique. \subsubsubsection{\textsc{criss}} \textit{Autres partenaires : \acs{LIFM} (Univ. Aix-Marseille I), projet \textsc{mimosa} (\acs{Inria}-Sophia), projet \textsc{calligramme} (\acs{Inria}-Loria)} \textsc{criss} - \textit{Contrôle de ressources et d'interférence pour systèmes synchrones} (\acs{ACI} Nouvelles Interfaces des Mathématiques) Le projet \textsc{criss} se focalise sur les questions de sécurité soulevées par le concept de code mobile que l'on envisage aujourd'hui d'utiliser dans des domaines aussi variés que les réseaux programmables, les jeux en réseau et les cartes à puces. Les premières propositions -- les "applets" de Java -- ont visé à assurer l'intégrité de l'environnement d'exécution. Nous nous intéressons à deux autres classes de propriétés qui apparaîssent naturellement dans le contexte du code mobile : \begin{itemize} \item La dérivation de bornes sur les ressources nécessaires à l'exécution du code afin d'éviter des attaques de type déni de service. \item Le contrôle du flux d'information afin d'éviter la fuite de données confidentielles (non-interférence). \end{itemize} L'objectif du projet est de développer des méthodes automatiques pour assurer et certifier ces propriétés et ceci dans le cadre d'un langage de coordination de modules séquentiels qui permet une exécution synchrone et déterministe. Les recherches menées au \acs{LIPN} portent plus particulièrement sur l'inférence automatique de bornes de complexité pour les programmes fonctionnels et l'utilisation de la logique linéaire. \subsubsubsection{No-Cost} \textit{Autre partenaire : \acs{PPS} (Univ. Paris 7)} No-Cost : {Nouveaux Outils pour la Complexité: Sémantique et Types} (\acs{ANR} programme Jeunes chercheuses et jeunes chercheurs 2005) La complexité implicite étudie des calculs et des langages dont les programmes ont une complexité bornée, en terme de temps de calcul ou de mémoire requise. Plusieurs approches ont été utilisées pour garantir de telles bornes, notamment la Logique linéaire et ses variantes, les systèmes de réécriture avec quasi-interprétations, les types linéaires avec ressources pour les langages fonctionnels. Cette théorie nécessite désormais que l'on trouve des éléments unificateurs, soit par des systèmes plus généraux soit par des approches plus sémantiques. Le projet NO-CoST cherche dans cette perspective à (i) développer une approche sémantique unificatrice pour les divers systèmes de complexité implicite à travers la sémantique des jeux; (ii) étendre les résultats concernant les systèmes connus, notamment la logique linéaire; (iii) enfin établir de nouveaux systèmes plus généraux. \subsubsubsection{Mobilité} \textit{Autre partenaire : \acs{LIENS} (\acs{ENS} Paris), \acs{LIF} (Marseille), \acs{LIP} (\acs{ENS} Lyon), \acs{PPS} (Paris 7)} Il s'agit d'une \acs{AS} Action Spécifique \acs{CNRS} "Méthodes formelles pour la mobilité") (dans le cadre du Réseau Thématique Prioritaire RTP23; action spécifique 92 de responsable R. Amadio). Cette action spécifique a porté sur le développement et l'expérimentation de méthodes formelles pour la programmation et la validation d'applications basées sur la notion de code mobile et sur des standards d'échange de données semi-structurées. L'\acs{AS} s'est articulée en trois volets: Fondements logiques (sémantiques de jeux; typage, logique linéaire et complexité); Code mobile; Données semi-structurées. \subsubsubsection{Programmation fonctionnelle pour le web} \textit{Autre partenaire : \acs{PPS} (Univ. Paris 7)} Le projet \textit{Programmation fonctionnelle pour le web} a été accepté par l'appel d'offres 2006 de l'\acs{ANR} pour le programme Jeunes chercheuses et jeunes chercheurs. Ce projet complète le projet Marie Curie (Websicola) en cherchant à développer des techniques de compilation vers Javascript qui permettront de programmer un site entier sans sortir d'un langage fonctionnel typé. Des techniques inspirées des langages à plusieurs niveaux pourront être utilisées pour spécifier les parties de code devant être exécutées sur le client. Un intérêt majeur de cette approche est de permettre un contrôle statique du code client qui permettra de s'assurer qu'il interagit correctement avec le serveur. Afin de gérer au mieux les aspects concurrents, tout particulièrement au niveau du client (interactions avec l'utilisateur et communication asynchrone avec le serveur), nous pensons fournir des primitives avancées de concurrence et des mécanismes de communications de haut-niveau et dont la sûreté est garantie par typage. Ce projet s'appuie sur des travaux antérieurs ou en cours : XDuce, un langage de manipulation de données arborescentes XML, Ocsigen, un serveur Web qui permet de déléguer la génération des pages à des fonctions Objective Caml, et Websicola, le langage expérimental destiné à la programmation de sites et de services Web, non implémenté mais doté d'une sémantique proche du pi-calcul, où les interactions browser-serveur sont modélisées par un échange de noms privés entre processus concurrents.