• Aucun résultat trouvé

Contribution à l'estimation de l'eort d'implantation maté- maté-rielle

Projet "Methods for Accelerated Design to FPGA Technology"

7.3 Résumé des contributions

7.3.2 Contribution à l'estimation de l'eort d'implantation maté- maté-rielle

La mesure et l'estimation de l'eort d'implantation sont des thèmes bien plus explorés dans le domaine logiciel (notamment pour les grands systèmes) que dans celui du matériel. Dans ce projet nous avons donc cherché à adapter certaines métriques et techniques existantes du monde logiciel à celui du matériel (FPGA).

L'idée de départ est d'estimer la taille du projet et d'en déduire l'eort (temps)

d'implan-tation, comme par exemple dans les projets COCOMO 81 [2] et COCOMO II [3], sous la

forme générale :

Ef f ort = A∗ tailleb

où A et b sont des variables d'ajustement fonctions du type de projet, des ressources humaines allouées au projet et de l'expérience des développeurs.

Pour estimer la taille du projet, nous avons proposé d'utiliser la notion de complexité cyclomatique [4]. La métrique de complexité cyclomatique calcule le nombre de chemins linéairement indépendants dans un algorithme à partir d'une description comportemen-tale de celui-ci. Bien qu'elle n'est pas initialement prévue pour mesurer la taille d'un projet, il a été suggéré [5] qu'il existe une relation linéaire entre la métrique de complexité

cyclomatique et le nombre de lignes de code (LOC). Dans sa version simpliée, elle est exprimée sous la forme :

P (G) = π + 1

où G est le graphe représentant l'algorithme à analyser et π le nombre de nœuds de conditions dans G.

Dans nos travaux nous calculons celle-ci de manière hiérarchique sur les parties contrôles du HCDFG représentant l'application, c.à.d. les structures if, switch, for et while/do-while et les arrangements séquentiels et parallèles (voir la publication J.12 dans le chapitre 5 pour les détails).

Ensuite, an de prendre en compte l'expérience des développeurs, nous avons utilisé un modèle de courbe d'apprentissage tel que :

ηexperience(Dev) = 1

α log(Experience(Dev) + β)

où α et β sont utilisés pour ajuster la courbe et Experience représente le temps (en semaines) d'expérience du développeur Dev avec le langage et l'architecture.

Nous avons ensuite utilisé une approche de type validation croisée pour ajuster le mod-èle. Pour cela nous avons considéré deux applications (camera intelligente et suite cryp-tographique) pour lesquels des codes de référence en langage C étaient disponibles et à convertir en VHDL par des développeurs assez peu expérimentés. Une fois les résultats analysés (voir publication J.12 dans le chapitre 5), l'eort (temps) d'implantation est modélisé sous la forme :

Ef f ort = A.ηexperience(Dev).P (nHCDF GAlg)b

où, pour nos applications, A = 0.226 et b = 1.103 (en pointillé rouge dans la gure 7.1).

Figure 7.1: Phase d'ajustement. Relation entre l'eort d'implantation (semaines) et la complexité en tenant compte de l'expérience des développeurs. Extrait de la publication J.12.

Pour valider ce modèle nous avons ensuite utilisé des applications (orientées réseaux) fournies par notre partenaire industriel ETI A/S et pris en compte l'expérience de ses développeurs. Les résultats montrent que l'eort (temps) d'implantation estimé pour

les données de validation tombe dans l'intervalle de conance de 95% (voir gure 7.2) : l'erreur moyenne est de 0,2 semaines et la variance de 8.

Figure 7.2: Phase de validation. Pointillé rouge : modèle, étoiles bleues : application de validation, zone grisée : intervalle de condence de 95%. Extrait de la publication J.12.

7.4 Publications et commentaire

Ce projet de recherche a donné lieu à cinq publications (voir J.12, C.43, C.41, C.36 et R.1 dans le chapitre 5), ainsi qu'à la thèse de doctorat de Rasmus Abildgren [6].

C.36 est la version conférence sur laquelle a été construite la version longue (journal) de J.12, R.1 est un rapport technique présentant une extension de l'estimation de l'eort aux systèmes temps-réels et C.41 présente les résultats préliminaires du projet (méthode d'estimation statiques et exploration de l'espace de conception pour un système HSDPA). Les pages qui suivent reproduisent les deux publications qui à mon sens représentent la quintessence du projet et présente en détail les deux contributions présentées précédem-ment. La première (C.43, Algorithm-Architecture Anity  Parallelism Changes the Picture) présente la métrique pour l'évaluation du parallélisme et anité vers le matériel (FPGA) ; la seconde (J.12, A Priori Implementation Eort Estimation for Hardware Design Based on Independent Path Analysis) détaille les métriques et la méthode pour l'estimation de l'eort (temps) d'implantation matérielle (FPGA).

Enn, une piste pour donner une éventuelle suite à ces travaux serait d'aller vers une collaboration inter-disciplinaire avec des spécialistes des sciences humaines et sociales (apprentissage et acquisition de compétences au sein des entreprises et inuence sur l'expérience des développeurs, comportement des équipes et inuence sur le temps de travail nécessaire, etc.).

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Chapitre 8

Projet "Methodologies for Mapping