Motivation
Le Génie Logiciel et la Programmation restent au coeur de
l'activité informatique. D'une part, l'avénement de
nouveaux domaines d'application et de nouveaux problèmes
(systèmes embarqués,
informatique ambiante, services sur le réseau, mobilité,
sécurité, autonomie,...) fait
naître de nouveaux besoins pour maîtriser la conception et
la réalisation de tels systèmes. Cette maîtrise
passe par la définition de méthodes et techniques de
conception et de validation, ainsi que
de nouveaux langages dédiés. D'autre part, dans les
domaines plus classiques de l'informatique, comme le
développement de systèmes d'information, la
compétition internationale et la croissance continue de la
taille des applications exigent chaque jour des gains en
productivité et en qualité, qui sont autant de
défis pour les concepteurs de langages de programmation et
d'outils automatisés de conception et validation. Les
progrès dans ces domaines ont des répercussions au
delà de la communauté informatique : dans de nombreux
secteurs industriels, le progrès est conditionné à
la mise en oeuvre de solutions informatiques au point que le
développement de la partie logicielle de ces produits est un
facteur prépondérant dans le temps de
développement de produits innovants.
Ces besoins ont fait émerger des
recherches nouvelles au cours des dernières années,
notamment sur les thèmes suivants:
- l'ingénierie des exigences et la traçabilité
logicielle
- l'ingéniérie dirigée par les modèles,
qui exploite une continuité entre modélisation,
conception et programmation et s'appuie sur des techniques de
transformation de modèles
- l'ingénierie des lignes de produits logiciels
- l'utilisation de patrons pour l'analyse, l'architecture ou la
conception de logiciels
- l'utilisation des aspects pour la conception et la programmation,
ce
qui permet une séparation des préoccupations et une
meilleure prise en
compte de l'évolution
- la conception à base de composants et d'une façon
plus générale, l'étude des frontières dans
le logiciel (modules, composants, aspects,...)
- la conception et l'utilisation de langages métiers et de
langages spécifiques à des domaines
- la conception de langages plus sûrs et plus expressifs
- le développement des techniques de vérification et
de validation à partir de spécifications ou de code :
analyse statique, génération de tests et raffinements
prouvés
- la testabilité logicielle
Au cours des dernières années, plusieurs initiatives du
CNRS ont contribué à structurer la communauté
scientifique Française dans ces domaines:
D'autres initiatives nationales complètent ces structures du
CNRS, notamment le
club 63
"Systèmes Informatiques de Confiance" de la SEE
(Société de l'Electricité, de l'Electronique et
des Technologies de l'Information et de la Communication). En outre,
plusieurs conférences et ateliers francophones réunissent
régulièrement ces communautés (
AFADL,
CAL,
CFIP,
IDM,
JC,
JFLA,
JFDLPA,
LMO,
MSR,
OCM,...).
Le GDR
ALP a entrepris un travail de redéfinition qui s'est
concrétisé par la création du
GDR IM et un
recentrage autour de l'Informatique et des
Mathématiques. La présente
proposition de création d'un GDR GPL complète cette
restructuration en créant un nouveau groupement consacré
à la Programmation et aux Méthodes de
Développement de Logiciel. Elle s'appuie sur des
communautés
existantes mentionnées ci-dessus : conférences et
ateliers francophones, actions spécifiques, groupes de travail
du GDR ALP. Ce projet a reçu un accueil très
majoritairement favorable des responsables de ces
communautés. Il a été discuté avec la
Direction du CNRS (Maxime Crochemore et Véronique
Donzeau-Gouge), ainsi qu'avec les responsables des GDR ASR, I3, IM et
RO.
Plusieurs groupes de travail du GDR
ALP (OCM, AFADL, B,...), qui se sont montrés actifs au cours des
dernières années, ont exprimé leur souhait de
participer à cette nouvelle structure. C'est aussi
l'occasion de compléter la structuration de cette
communauté scientifique,
en y associant des équipes et des thématiques nouvelles
explorées et structurées par les récentes actions
spécifiques, les communautés qui existent autour des
conférences du domaine, ainsi que l'Ecole des Jeunes Chercheurs
en
Programmation.
Proposition d'un GDR GPL
La proposition d'un GDR Génie de la Programmation et du Logiciel
(GPL) vise des objectifs d'animation de la communauté
scientifique:
- Proposition d'un cadre structurant pour un ensemble de groupes de
travail qui réunissent les équipes françaises
actives dans les domaines de la programmation et du génie
logiciel.
Dix groupes sont présentés dans cette proposition, mais
le GDR restera ouvert à de nouvelles propositions. Une partie de
ceux-ci correspond à des groupes qui
existaient dans l'ancien GDR ALP et dont l'activité est
restée soutenue au cours des dernières années.
C'est le cas des groupes AFADL, B, FORWAL et OCM. De nouveaux groupes,
issus des Actions
Spécifiques ou des conférences et ateliers francophones
du domaine les complètent, permettant de mieux couvrir les
thèmes du GDR. Il s'agit des groupes CAL, GEMRE, LaHMA, LTP,
MTV2 et Transformations.
Le GDR apportera son soutien à ces groupes de travail pour leurs
activités d'animation (organisation de journées,
généralement sur base annuelle).
- Soutien à l'organisation de conférences, colloques,
et ateliers associés au GDR.
L'existence des groupes de travail du GDR favorise les contacts et les
collaborations et procure un tissu naturel pour constituer les
comités de
programme ou d'organisation de tels événements.
Une partie du budget du GDR sera consacrée au soutien
de telles actions.
- Soutien à l'Ecole des Jeunes Chercheurs en Programmation.
Ici aussi, le soutien prend deux formes. D'une part, l'existence d'un
GDR aide à trouver des intervenants pour les différents
cours de l'école et favorise la publicité de
l'école auprès des jeunes chercheurs. D'autre part, un
soutien financier sera apporté à l'école.
Les doctorants rattachés aux groupes de travail du GDR
pourraient se voir attribuer un accès prioritaire à
l'Ecole.
Le soutien à l'Ecole des Jeunes Chercheurs en Programmation
n'est pas exclusif, d'autres écoles pourraient être
soutenues par le GDR.
- Organisation de journées nationales du GDR GPL, afin de
permettre la rencontre des diverses communautés qui constituent
le GDR. Le centrage thématique du GDR devrait permettre
d'identifier des présentations qui intéressent le plus
grand nombre de participants.
A côté de cette activité d'animation, il est
souhaitable que le GDR GPL ait une activité prospective pour
aider à la réflexion sur l'évolution de ses
thématiques, aider à identifier où et comment il
est souhaitable d'agir. Cette action prospective peut prendre la forme
de groupes de travail aux objectifs ciblés, voire passer par la
création d'un comité d'experts.
Enjeux
Au cours des journées PariStic 2005, le CNRS a
rappelé l'importance de s'appuyer sur des
communautés structurées. La proposition de GDR GPL va
dans ce sens. Elle vise à structurer des communautés qui
existent aujourd'hui autour de conférences et d'ateliers, ou
résultent de groupes de travail ou d'Actions Spécifiques.
Cette communauté correspond à près de cinq
cents chercheurs et enseignants chercheurs.
De telles structuration et animation, ainsi que l'activité
prospective du GDR, favoriseront l'éclosion
d'idées qui se concrétiseront, à terme,
par de nouveaux thèmes de recherche et projets
à proposer aux tutelles de la recherche et à l'ANR. Cette
structure pourra également servir de partenaire pour les actions
d'animation d'autres acteurs de la recherche française, comme le
Ministère de la Recherche, ou l'ANR.
Enfin, en fonction du budget, on peut imaginer que le GDR soutienne des
collaborations entre laboratoires, ou des projets de mobilité de
certains de ses membres vers d'autres équipes du GDR.
Organisation du GDR GPL
Le GDR GPL sera structuré en deux pôles,
regroupant chacun cinq groupes de travail :
- Un pôle "Langages et
Vérification" s'intéressant aux
problématiques liées aux langages de programmation, aux
objets, au parallélisme, à la compilation et à la
vérification.
- Un pôle "Développement
de Logiciel" s'intéressant aux
méthodes, techniques et outils de développement logiciel,
depuis l'ingénierie des besoins, jusqu'à la validation.
Il est clair que plusieurs thématiques sont transverses aux deux
pôles, par exemple la programmation par aspects est intimement
liée aux langages de programmation, mais correspond
également à une démarche de conception. On peut
donc aussi imaginer que certains groupes de travail soient
rattachés aux deux pôles.
La direction du GDR s'organisera comme suit:
- Un directeur du GDR :
- Yves
Ledru, Professeur à l'Université Joseph Fourier et au
laboratoire LSR/IMAG
- Des responsables de pôles
- Pour le pôle "Langages et
Vérification" :
- Laurence
Duchien, Professeur à l'Université des Sciences et
Technologies de Lille et au laboratoire LIFL
- Jean-Louis Giavitto,
Directeur de Recherche au CNRS, laboratoire IBISC
- Pour le pôle "Développement
de Logiciel"
- Christel Seguin, Ingénieur de
Recherche, ONERA-Etablissement de Toulouse
- Franck
Barbier, Professeur à l'Université de Pau et des Pays
de l'Adour et au laboratoire LIUPPA
- Le responsable de l'Ecole des Jeunes Chercheurs en Programmation
Ces personnes constitueront le comité de direction du GDR.
Un comité scientifique, composé d'une dizaine de
personnes, issues notamment des groupes de travail, aidera le
comité pour la direction scientifique du GDR. Il pourrait
également jouer le
rôle de comité d'experts, ou participer à la
constitution d'un tel comité. Il se réunira lors
des journées nationales du GDR et pourra également
être consulté électroniquement par la direction du
GDR.
Membres du comité scientifique (les personnes suivantes ont
donné leur accord; d'autres noms peuvent être
ajoutés):
- Jean-Pierre Banâtre (IRISA, Rennes)
- Pierre Cointe (LINA, Nantes)
- Charles Consel (LABRI, Bordeaux)
- Christophe Dony (LIRMM, Montpellier)
- Jacky Estublier (LSR/IMAG, Grenoble)
- Paul Feautrier (LIP, Lyon)
- Marie-Claude Gaudel (LRI, Orsay)
- Gaétan Hains (LACL, Créteil)
- Valérie Issarny (INRIA, Rocquencourt)
- Jean-Marc Jézéquel (IRISA, Rennes)
- Dominique Méry (LORIA, Nancy)
- Christine Paulin (LRI, Orsay)
L'évaluation du GDR sera effectuée par une commission,
nommée par le CNRS et composée de deux ou trois experts.
Relations avec les autres GDR
Certaines thématiques évoquées dans ce document
sont également étudiées par d'autres GDR. Il
s'agit principalement des GDR ASR, I3 et RO. On peut dès lors
envisager des actions inter-GDR sur ces thématiques. Ces
thématiques comprennent notamment:
- L'ingénierie des modèles
- La programmation et le développement par aspects
- Les patrons d'analyse de conception et d'architecture
- Les méthodes formelles de conception et vérification
- Les intersections des Systèmes Multi-Agents avec le
Génie Logiciel
- La programmation logique avec contraintes
A ce jour, deux actions transverses sont identifiées. Il s'agit
de l'action IDM consacrée à l'Ingénierie
Dirigée par les Modèles et de l'action AFSEC
consacrée aux approches formelles pour les systèmes
embarqués communicants. Ces deux actions sont actuellement
rattachées au GDR ASR.
Groupes de travail
Un appel à groupes de travail a été lancé
au début de l'année 2006. Il a donné lieu,
après discussions et fusion de certains groupes à la
constitution des groupes suivants.
A ce stade de la constitution du GDR, on constate qu'il
présenterait un bon équilibre entre anciens et nouveaux
groupes de travail. Par ailleurs, les 10 groupes de travail
correspondent à 93 équipes dans 56 laboratoires. Une
estimation (très
grossière) du nombre de personnes
concernées donne 508 permanents et 437 doctorants.
Ecole des Jeunes Chercheurs en Programmation
A côté des groupes de travail, qui constituent le
principal instrument d'animation des communautés scientifiques,
l'École des Jeunes Chercheurs participe au renouvellement de ces
communautés en formant et sensibilisant les jeunes chercheurs
aux thématiques scientifiques présentes dans le GDR.
L'École Jeunes Chercheurs en Programmation accueille chaque
année
pendant 15 jours une quarantaine de jeunes chercheurs en
première année
de thèse dans la communauté informatique.
Les jeunes doctorants découvrent à cette occasion un
ensemble de thèmes
de recherche, liés à la programmation, aux langages et au
développement de logiciels, qui n'auront pas été
abordés pendant leur MASTER. De plus,
à l'issue de l'École, tous connaîtront l'ensemble
des thèmes étudiés
dans nos équipes et les spécialistes de chaque domaine.
L'enthousiasme sans cesse renouvelé des intervenants,
contribue à la qualité des cours : théorie du
domaine, illustrations des concepts, bibliographie,
démonstrations et supports de cours.
Conclusion et calendrier
Le GDR Génie de la Programmation et du Logiciel vient
compléter la structuration de la communauté informatique
en couvrant des thématiques scientifiques essentielles pour la
science informatique : les langages, méthodes et outils pour le
développement de logiciels. Il se bâtit sur des groupes de
travail bien établis et actifs dans le précédent
GDR ALP, mais aussi sur des nouveaux groupes issus d'actions
spécifiques ou de conférences francophones du domaine. Il
correspond à une communauté de taille significative : ses
groupes de travail concernent plus de cinq cents chercheurs ou
enseignants chercheurs, répartis dans plus de cinquante
laboratoires.
Cette animation au sein des groupes de travail est
complétée par des actions de formation, soutien à
l'École des Jeunes Chercheurs en Programmation, et par le projet
d'organisation de journées nationales qui seront l'occasion de
réunir l'ensemble de la communauté concernée par
le GDR GPL.
Ce projet se veut complémentaire des GDR existants ASR, I3, IM
et RO, et s'est construit en concertation avec leurs responsables.
Nous souhaitons présenter ce dossier de GDR à la
session d'automne du Comité National, pour un démarrage
en janvier 2007.