L'objectif du projet CAPPUCINO est d'aborder la conception,
le déploiement et l'exécution d'applications dans un environnement
nomade et ubiquitaire ouvert qui nécessite une
adaptation tout au long du cycle de vie du logiciel, ceci en
prenant en compte l'hétérogénéité des dispositifs sur lequel
l'application devra s'exécuter:
- Le premier niveau concerne la conception de l'application et
de ses éléments constitutifs en proposant un modèle de
conception qui repose sur la notion de contexte
danslequel l'application et le support d'exécution vont
évoluer. Cet environnement de conception permettra un premier
niveau d'adaptation statique des applications au moment de leur
conception. Il devra prendre en compte l'expression du contexte,
la prise en compte de ce contexte au moment de la conception des
éléments constitutifs de l'application, à savoir des composants,
et de leur assemblage, et également, proposer une phase de
validation de cet assemblage.
- Le second niveau correspond à la gestion du déploiement d'une
application sur l'environnement d'exécution en intégrant la
notion de contexte. Le processus de déploiement est un élément
indispensable d'un environnement mobile et adaptatif tel que celui que
nous visons. Nous proposons ici de travailler à la définition d'un
cadriciel générique, adapté aux environnements nomades,
permettant un déploiement hétérogène des applications (mais
également de l'intergiciel lui-même) sur les terminaux mobiles. Pour
ce faire, les mécanismes intervenants lors du processus de
déploiement, les logiciels à déployer (quelle que soit
leurgranularité), ainsi que l'infrastructure d'exécution
(l'environnement mobile), pourront s'exprimer sous forme de
composants paramétrés et déployables.
-
Le dernier niveau d'adaptation concerne l'exécution de
l'application elle-même. Il s'agit ici de réagir aux événements
produits par l'environnement et correspond au modèle
d'exécution. Les événements pourront être filtrés pour produire un
modèle de contexte à partir duquel des règles d'adaptation
pourront être déclenchées et viendront adapter l'application aux
modifications de l'environnement. Cesadaptations comprendront
l'utilisation adéquate d'un service dédié à la mobilité, et plus
précisément, la gestion de déconnexions et de groupes en environnement
mobile. Nous entendons faire en sorte que les reconfigurations soient
à la fois souples, efficaces, et ce à tous les stades de la production
de l'application.