• Aucun résultat trouvé

Définitions des métriques pour la mesure de la portabilité

2.3 Intégration du modèle détaillé de RTSJ dans le processus de déploiement

2.4.1 Définitions des métriques pour la mesure de la portabilité

Dans la littérature, plusieurs métriques sont proposées pour mesurer la portabilité. Cependant, toutes sont dédiés à la mesure de la portabilité du code dans un système. Cette section présente des métriques pour mesurer la portabilité d’une application développée suivant des approches dirigée par les modèles. L’intention derrière ces métriques est de refléter l’effort avec lequel une application peut être redéployée à travers différentes plates- formes d’exécutions en suivant une approche d’ingénierie dirigée par les modèles. Afin d’atteindre cet objectif, la notion de degré de portabilité (DoP) proposée par Mooney dans [58] est utilisée. Pour calculer le degré de portabilité, l’équation suivante est proposée :

DoP = 1 − cout de portage

cout de redeveloppement

Dans cette équation, le coût de portage est le coût nécessaire pour adapter et porter une unité logicielle (développée dès l’origine pour être portable). Le coût de redéveloppement est le coût nécessaire pour redévelopper entièrement une unité logicielle pour s’exécuter sur une nouvelle plate-forme.

Suite à cette équation, si le DoP est supérieur à zéro, le portage est plus rentable que le redéveloppement. Dans le cas où la valeur de DoP est égale à 1, cela représente une portabilité maximale.

Afin d’appliquer cette équation aux applications multitâches développées suivant des approches dirigées par les modèles, le processus de développement suivi par ces approches doit être explicité afin de calculer le coût de chaque phase de développement.

2 Spécification d’un cas d’étude 109

Plus particulièrement, nous allons nous intéresser aux approches MDA qui utilisent des transformations spécifiques et à notre approche à base des transformations génériques.

En effet, dans une approche dirigée par les modèles, le processus de développement consiste en une phase de modélisation suivie d’une phase de transformation de modèle. Le coût de développement d’une application pour une plate-forme cible peut être représenté alors par l’équation suivante :

Cglobale= Cmodelisation+ Ctransf ormation

La modélisation de l’application est une étape commune à toutes les approches IDM. Elle est réalisée par un concepteur qui s’intéresse juste à l’aspect fonctionnel de l’application. Le modèle obtenu lors de cette modélisation est indépendant de la plate-forme. Donc, d’un point de vue de conception, le modèle est portable et le coût de la portabilité pour le concepteur est nul. Par conséquence le coût de la portabilité globale de l’application Cglobale

peut être restreint au coût du développement de la transformation de modèle. Cependant, les transformations de modèles peuvent être basées sur des transformations spécifiques, à la base des approches traditionnelles, ou des transformations génériques qui sont à la base de notre approche.

Pour cela, Nous allons supposer que CT dev est le coût de développement d’une

transformation de modèles suivant des règles de transformation spécifiques et CGdev est

le coût de développement d’une transformation de modèles en suivant des règles de transformation génériques. Ces coûts peuvent être divisés en plusieurs parties comme le montre les équations suivantes :

CT dev = CetudeP latf orme+ Ctransf Specif ique

CGdev= Ctransf Generique+ CmodelisationP latef orme

En effet, ces coûts sont partagés entre deux contributeurs potentiels impliqués dans le processus de transformation : le fournisseur de la chaîne de transformation et le fournisseur de plate-forme. Dans les approches traditionnelles, les fournisseurs des chaînes de transformation étudient premièrement la plate-forme cible, puis ils écrivent des règles de transformation spécifiques à cette plate-forme. Selon l’approche générique proposée, les fournisseurs de plate-forme offrent des modèles détaillés de leurs plates-formes en suivant l’approche de modélisation des plates-formes proposée dans le chapitre 4, alors que les fournisseurs des chaînes de transformation écrivent des règles de transformation génériques.

En réalité, l’étude d’une nouvelle plate-forme exécution est coûteuse en temps et la modélisation détaillée de la plate-forme logicielle d’exécution nécessite la maîtrise des techniques de modélisation de la part des fournisseurs des plates-formes. Cependant, lorsque les fournisseurs de plate-forme offrent un modèle détaillé de leurs plates-formes, la qualité du modèle de plate-forme sera garantie car elle est réalisée par des experts qui connaissent bien leur plate-forme. Dans cette partie, on n’est pas en mesure d’estimer si l’étude d’une nouvelle plate-forme est plus coûteuse ou non qu’un modèle détaillé de cette

même plate-forme, mais il faut juste signaler que la séparation de préoccupation est toujours recommandée dans le développement logiciel [60].

Afin de calculer le degré de portabilité, il faut maintenant estimer le coût de dévelop- pement des transformations de modèle. Une transformation se compose principalement de règles qui sont utilisées pour concrétiser les concepts utilisés au niveau du modèle applicatif. Dans le calcul du coût de développement des règles de transformations, il est difficile d’estimer avec précision le gain financier lorsqu’une règle doit être spécifique ou générique et portée ou redéveloppée pour une autre plate-forme. Alternativement, une certaine mesure de la taille du logiciel pourrait être considérée comme une mesure raisonnable indirecte des coûts de développement [59]. Dans la pratique, le coût de portage ou de redéveloppement peut être représenté par le nombre de lignes de code qui doit être modifié dans les règles de transformation lors de changement de la plate-forme d’exécution cible. Ainsi, le coût de développement global d’une application en utilisant des transformations spécifiques et génériques est représenté par :

CT dev = NGT

CGdev = NSP

NSP et NGT représente le nombre des lignes de code qui sont écrits afin de réaliser les

transformations spécifiques et génériques respectivement pour une plate-forme cible. En se basant sur ces coûts de développement, notre équation de degré de portabilité sera comme suit :

DoP = 1 −NGT NSP