Note publique d'information : La réutilisation d’applications n’est pas un problème récent et de nombreux travaux
ont étudié différentes façons de réutiliser tout ou partie d’une application. L’apparition
des services et des composants au niveau fonctionnel facilite la construction et l’extension
d’applications par composition de fonctionnalités indépendantes. En parallèle, des
travaux sur les interfaces Homme-Machine (IHM) proposent des solutions pour créer
des IHM par composition d’IHM existantes. Mais ce n’est que récemment que des travaux
se sont intéressés à composer l’ensemble d’une application. Malgré cela, ils ne proposent
que des compositions simples tant au niveau des IHM que fonctionnel. Ces travaux de
thèse proposent une approche pour faciliter le travail du développeur en lui permettant
de réutiliser l’intégralité des applications à composer, c’est-à-dire la partie fonctionnelle,
l’IHM et les interactions entre les IHM et la partie fonctionnelle. La proposition
faite dans cette thèse lui permet de continuer d’utiliser les outils industriels dont
il dispose pour composer les parties fonctionnelles des applications. Ainsi, c’est
au travers de cette composition fonctionnelle ainsi que des interactions entre la
partie fonctionnelle et l’IHM présentes dans les applications que se fera l’identification
des éléments d’IHM à conserver et la création de l’application résultante. Cette approche
repose sur un méta-modèle AliasComponent qui fournit une architecture à base de composants
permettant de dcérire à la fois les applications (en distinguant la partie fonctionnelle,
les IHM et les interactions entre les deux) et la composition fonctionnelle). Ce méta-modèle
permet aussi d’extraire des applications existantes et de la composition fonctionnelle
l’ensemble des informations essentielles à la réalisation de la composition des applications.
Elle s’appuie aussi sur une formalisation qui permet la réalisation de la composition,
c’est-à-dire, la déduction des éléments d’IHM à conserver, la détection de doublons
non identiques (lorsque plusieurs widgets différents peuvent convenir), l’aide à la
résolution de ceux-ci et la création de l’application résultante de la composition.
Cette formalisation pose également les propriétés que doivent respecter les applications
et le résultat de la composition assurant ainsi une application résultante fonctionnelle.
Le méta-modèle et la formalisation sont intégrés au sein d’un processus d’aide à la
composition qui a permis de valider l’approche.
Note publique d'information : Software reuse is not a recent issue. Many approaches have been proposed in the literature
enabling the reuse of part of complete application including its functionalities and
User Interface (UI). At the functional level, based on the appearance of services
and components, these approaches ease the process of building and extending applications
by composing independent functionalities. At the UI level, they offer solution to
create new UI by the composition of existing ones. Several approaches focus on the
application composition. However, they only propose to realize simple composition.
Also focusing on the application composition, the approach presented in this thesis
eases better the whole composition process. It allows software developer to design
new application by reusing all components of existing applications including functionalities,
UIs and interaction between functionalities and UIs. Our approach enables software
developer to use existing industrial tools serving for functionality composition.
Thus, through this process, desirable widgets can be identified and reused to crate
the resulting application. The proposed approach is based on a meta-model called AliasComponent
that provides a component-based architecture to describe applications by distinguishing
the functional part, UIs and interactions between them, and functional composition.
This metamodel focuses only on important information captured from existing applications,
and functional composition. A formalization has been described to validate the intermediate
results during the composition process. With this formalization, any useful widgets
are selected, in case of multiple widgets, a list of possible ones is show, helping
the developer to make a choice and finally create the resulting application. In this
formalization, we define some properties that application and composition result must
respect and ensure that the resulting application is useful. The metamodel and formalization
are integrated in a composition tool which validities the approach presented in this
thesis.