Vers une programmation des systèmes interactifs centrée sur la spécification de modèles exécutables

Résumé : Le développement des systèmes interactifs (SI) met en jeu un nombre signicatif de composanteslogicielles et matérielles sélectionnées parmi un panel très large et souvent versatile.Ainsi, chaque développement s'appuie au minimum sur un langage de programmation, uneboîte à outils dédiée au développement d'IHM, une plate-forme d'exécution logicielle et uneplate-forme matérielle. Par exemple, une application interactive pour plate-forme mobile d'exé-cution Android est construite sur la base du langage Java et de la boîte à outils Android, etdoit pouvoir s'exécuter sur des plates-formes très variées telles que les tablettes et les smartphones. Une application interactive pour le Web est par exemple développée en utilisant leslangages JavaScript et HTML pour la plate-forme d'exécution cliente, ainsi qu'en Java pourla plate-forme d'exécution côté serveur.Cette grande variabilité induit une diculté quant aux choix des multiples composantes dedéveloppement à arrêter. Une fois ces choix arrêtés, le développement est contraint par lescapacités oertes par les composantes retenues. De plus, ces choix ne sont pas nécessairementpérennes. Le premier point ne facilite guère le développement des SI allant au-delà des systèmeshabituels. Le second point implique une refonte intégrale du système dès lors qu'une descomposantes utilisée devient obsolète.Une solution à la diculté inhérente du développement des SI est de focaliser l'eort surl'élaboration des diérents modèles du SI plutôt que sur leur implémentation. La modélisationdevient alors la partie non contrainte aux choix technologiques des composantes retenues etreste pérenne car indépendante de ces composantes. Cependant, si de nombreux méta-modèlesont été proposés dans la littérature dans ce sens, force est de constater qu'ils ne sont pasmis en oeuvre par les boîtes à outils et les langages de programmation associés. Ainsi, lesmodèles restent trop souvent des modèles documentaires formalisant l'expression du besoin etservant de point d'entrée à la programmation. Dans cette approche usuelle, la cohabitationdes modèles et des programmes qui les implémentent n'est pas nécessairement simple : lesmodèles se cantonnent à la couche spécification du SI, tandis que les programmes restentdans la couche implémentation .Les travaux présentés dans cette HDR visent à montrer comment il est possible de réduirele travail d'implémentation en se focalisant sur l'élaboration de modèles exécutables. Ceci estrendu possible en dénissant un méta-modèle des SI sur la base des modèles conceptuels proposés par la littérature (tels que MVC, PAC et l'interaction instrumentale), et en outillant ceméta-modèle d'un langage de programmation permettant de décrire les modèles des diérentescomposantes d'un SI ainsi que leur relation. Les diérents modèles, de part leur capacité às'exécuter directement sur les plates-formes matérielles et logicielles cibles, ne sont plus desimples spécications de programme. De plus, ils préservent une certaine indépendance relativementaux plates-formes ciblées, d'où une pérennité accrue. Les modèles présentés dans cemémoire sont ainsi à considérer comme situés à un niveau au-dessus des boîtes à outils etlangages de programmation associés. Sont donc exclus les modèles de plus haut niveau quesont, par exemple, les modèles de tâches des utilisateurs.La langage Loa constitue la contribution principale de cette HDR. Une application écriteen Loa fournit un ensemble de modèles liés entre-eux par des correspondances. Ces modèlesdénissent les objets du domaine, leurs présentations graphiques, les interactions et les actionspar le biais de collections. Les correspondances sont fondées sur le concept d'opération active,les opérations actives étant des opérations usuelles sur les collections, telles que la sélection, latransformation ou le tri, pour lesquelles des algorithmes incrémentaux sont fournis. La théoriedes opérations actives, nouvellement formalisée dans le mémoire d'HDR sur la base de lathéorie initiale publiée, dénit un système de types élémentaires et de types de collection surlequel un jeu d'une cinquantaine d'opérations actives a été déni. Il a été montré que l'usagede ces opérations actives dans le contexte du développement des SI permet de repousserles limites des langages ou/et mécanismes de liaison de données proposés par les boîtes àoutils contemporaines dédiées aux RIA (Rich Internet Applications). L'outillage (éditeur etcompilateur) du langage Loa est cours de nalisation. Il permettra aux modèles écrits en Loade s'exécuter sur diérentes plates-formes clientes telles la plate-forme JavaScript-HTML5 duWeb et la plate-forme Java+Swing, pour lesquelles l'implémentation des opérations actives adéjà été réalisée.
Type de document :
HDR
Informatique [cs]. Université d'Angers, 2014
Liste complète des métadonnées

Littérature citée [194 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/tel-01087628
Contributeur : Olivier Beaudoux <>
Soumis le : jeudi 27 novembre 2014 - 11:18:37
Dernière modification le : lundi 13 avril 2015 - 15:10:10
Document(s) archivé(s) le : lundi 2 mars 2015 - 09:15:56

Identifiants

  • HAL Id : tel-01087628, version 1

Collections

Citation

Olivier Beaudoux. Vers une programmation des systèmes interactifs centrée sur la spécification de modèles exécutables. Informatique [cs]. Université d'Angers, 2014. 〈tel-01087628〉

Partager

Métriques

Consultations de la notice

242

Téléchargements de fichiers

839