Résumé:
e nos jours, la plupart des activités humaines reposent sur l’utilisation des appareils
mobiles. Ces derniers sont caractérisés par des configurations matérielles et logicielles
différentes. Cependant, l’adoption massive et récente de cette technologie explique la
demande croissante des logiciels spécifiques qui dépendent fortement de leurs environnements
d’exécution. L’hétérogénéité des appareils mobiles montre que la portabilité des entités
logicielles qui représentent des fonctionnalités à effectuer pour combler les exigences des
utilisateurs joue un rôle important dans le domaine de développement des applications
mobiles. Malgré la disponibilité d’un grand nombre des applications mobiles avec ces
différentes formes d’implémentations (composant, service, application, etc.), les besoins des
utilisateurs différents les uns des autres. Ces issues illustrent qu’il y a de facto un besoin
d’un processus de composition qui permet la réutilisation des entités logicielles déjà existantes
afin de développer des applications mobiles selon les besoins des utilisateurs ainsi que ses
comportements soient spécialisés selon les informations contextuelles des appareils mobiles
qui les supportent.
L’objectif principal de cette thèse est de proposer un processus pour la composition
d’applications mobiles contextuelles en utilisant des entités logicielles pré-existantes. Dû au
fait que ces entités logicielles ainsi que leurs environnements d’exécution présentent différents
points d’hétérogénéité, le processus proposé doit prendre en compte ces issues en raison de
conduire à des applications mobiles cohérentes et adaptatives. Afin d’atteindre cet objectif,
nous adoptons l’approche de modélisation - l’ingénierie dirigée par les modèles - pour réaliser
notre processus de composition baptisé CAMAP (Composition of Adaptive Mobile Application
Process).
Afin d’illustrer l’applicabilité et l’efficacité de notre processus de composition, nous
développons un prototype pour le processus de composition proposé CAMAP. Nous présentons
dans un premier temps pour les architectes des logiciels une palette qui leur donne la
possibilité de définir graphiquement l’aspect fonctionnel de l’application mobile désirée.
Ensuite, le processus de composition proposé a pour objectif de générer l’architecture détaillée
d’une application mobile composite adaptable à un contexte bien défini en se basant sur la
description fonctionnelle donnée. Ce processus est basé sur un ensemble de sous-algorithmes
de composition dirigés par le contexte des objets de composition et de l’environnement
d’exécution choisi. Ces sous-algorithmes proposés reflètent une succession de transformations
de modèles pour réaliser les différents passages entre les représentations proposées pour l’application mobile composite.