Résumé des objectifs du projet ISTAR (I*)
Le projet I* a pour but d’inaugurer une nouvelle génération d’outils de programmation de logiciels interactifs, qui permettront l’interopérabilité entre composants d’interaction développés sur des plateformes différentes ou entre applications déployées sur des affichages multiples. Il aura pour base un « moteur d’exécution » (machine virtuelle ou serveur) exécutant des programmes décrits selon un modèle sémantique dédié aux composants interactifs. Le modèle sémantique sera conçu sur la base des travaux menés par le LRI (Orsay), l’ENAC (Toulouse) et IntuiLab (Toulouse), en particulier l’environnement à base de modèles IntuiKit (IntuiLab) qui organise une application interactive en un arbre de composants dont les feuilles sont des objets graphiques, des comportements, des actions, ou des algorithmes. Ces travaux seront mis en commun, confrontés et enrichis sur la base d’une étude critique des modèles d’architecture et d’exécution dans les langages de programmation, étendus pour gérer la répartition des composants entre plusieurs moteurs et évalués par le développement de démonstrateurs. Le moteur d’exécution utilisera pour les rendus des modules adaptés aux différentes plateformes visées, et pourra faire appel à des ressources distantes telles que le plugin SVG ou Flash d’un navigateur Web, s’inscrivant ainsi dans une optique de Web 2.0 comme l’application de télévision internet Joost co-développée par Anyware Technologies.
La première étape du projet consistera à recenser des scénarios des exemples d'applications interactives et leur architecture de déploiement, sur la base des expériences de développement d’IHMs par les ingénieurs d’IntuiLab et de d’applications Web par ceux d’Anyware Technologies. Ces exemples seront analysés et serviront à sélectionner des scénarios types qui guideront le projet. Par ailleurs, un large travail d’analyse critique de l’état de l’art du déploiement d’IHMs (client riche, client léger, etc), des solutions d’architecture d’IHMs, et des modèles sémantiques et des architectures dans les langages de programmation sera effectué par les partenaires, et alimentera le travail de conception du modèle mis en œuvre dans le moteur d’exécution. Le moteur, ses interfaces dans plusieurs langages, et son interconnexion avec des couches de rendu seront spécifiés puis développés. Enfin, pour tester la solution proposée, le moteur sera testé sur quatre situations d’usage très différentes : la réalisation d’une boîte à outils pour l’interaction instrumentale, l’utilisation du serveur d'affichage Metisse pour l'interaction simultanée de plusieurs surfaces d’affichage, le développement d’une interface post-WIMP avec des composants réalisés dans plusieurs langages, et le développement d’une application de type Web 2.0.
