Langages dedies : conception, implementation et application
Auteur / Autrice : | Scott Thibault |
Direction : | Charles Consel |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 1998 |
Etablissement(s) : | Rennes 1 |
Résumé
Le developpement logiciel est une activite dont l'importance ne cesse de croitre. Cela est du au deploiement general de l'informatique, et plus particulierement a l'essor des technologies de l'information popularisees par internet. Dans beaucoup de domaines, le processus de developpement joue un role critique dans le temps de mise sur le marche d'un logiciel ; le developpement doit etre le plus rapide possible, tout en minimisant le nombre de defauts. Or, plus l'usage de l'informatique se repand, plus il est difficile de fournir des solutions specifiques aux besoins de chaque client. Cela explique la demande croissante de programmabilite qu'expriment les utilisateurs, qui desirent personnaliser les logiciels en fonction de leur besoins propres. Cette these etudie la construction de langages dedies et leur emploi en tant que technique de genie logiciel pour repondre a ces questions d'adaptabilite. Un langage dedie est un langage de programmation dont le domaine d'application est restreint a un petit nombre de problemes particuliers. Il offre une interface de programmation de haut niveau, permet la detection automatique d'erreurs liees au domaine, et conduit a la generation de code fiable. Ces caracteristiques fournissent une reponse aux questions precedentes en reduisant le temps de developpement et la maintenance du logiciel. La tache de programmation laissee a l'utilisateur final est facilitee par un niveau d'abstraction eleve et une securite des programmes accrue grace a des mecanismes de verification. Malgre ces avantages annonces, les langages dedies n'ont commence a etre etudies en profondeur que recemment. Nous presentons ici un cadre general pour le developpement de langages dedies, depuis la conception du langage jusqu'a son implementation. Nous illustrons egalement l'interet general des langages dedies et demontrons le bien fonde de notre approche a l'aide de deux applications realistes (les pilotes de cartes graphiques et les protocoles pour reseaux actifs). Ces deux applications montrent que, grace a notre approche, on obtient de hauts niveaux d'abstraction, des temps de developpement reduits et la verification automatique de proprietes de surete, sans compromettre la vitesse d'execution du logiciel.