Construction et simulation graphiques de comportements : le modèle des Icobjs
Institution:
NiceDisciplines:
Directors:
Abstract EN:
Intuitively, a graphical simulation (virtual world, game,. . . ) can be seen as a finite space in which several entities, each having its own behavior, evolve in parallel. So it seems natural to use concurrent languages to program those behaviors. However, it is seldom the case due to the complexity of programming and debugging them, because they introduce non-determinism and are inefficient. We proposed to use the Reactive Approach introduced by F. Boussinot to define clearly the behaviors of graphical entities. We enhanced a model of graphical reactive objects called Icobjs. This model enables non-specialists to graphically build complex behaviors using elementary behaviors and graphical constructors. We realized an API whose main class is Icobj. It defines a minimal structure which can be dynamically extended and which allows a generic graphical construction. A particular icobj called Workspace executes and displays all the icobjs it contains. Behaviors are executed by a reactive engine called Reflex which is dedicated to Icobjs. It reuses Junior's formalism's main primitives, while modifying some instructions' semantics and introducing new instructions. We formalized all instructions using rewriting rules in the SOS format. Moreover, we developed a framework for dynamic interaction with simulations. Finally, we present a few experiments with Icobjs in distributed, physical or multi-clock simulations.
Abstract FR:
Intuitivement, une simulation graphique (monde virtuel, jeu,. . . ) peut être vue comme un espace borné dans lequel plusieurs entités, disposant chacune d'un comportement propre, évoluent en parallèle. Il paraît donc naturel d'utiliser des langages concurrents pour programmer ces comportements. Cependant, c'est rarement le cas pour des raisons de complexité de programmation et de déboguage, de non-déterminisme et d'efficacité. Nous proposons d'utiliser l'Approche Réactive introduite par F. Boussinot qui permet de définir clairement les comportements d'entités graphiques. Nous avons enrichi les Icobjs qui est un modèle d'objets réactifs graphiques. Il offre la possibilité à des non-spécialistes de construire graphiquement des comportements complexes à partir de comportements simples et de constructeurs graphiques. Nous avons réalisé une implémentation dont l'objet central est Icobj. Il définit une structure minimale dynamiquement extensible pour permettre une construction graphique générique. Un icobj particulier, le Workspace, exécute et affiche les icobjs qu'il contient. Les comportements sont exécutés par un moteur réactif dédié aux Icobjs appelé Reflex. Il reprend les principales primitives du formalisme Junior en modifiant la sémantique de certaines instructions et en y ajoutant de nouvelles. Toutes les instructions sont formalisées par des règles de réécritures au format SOS. De plus, nous avons développé un environnement qui permet d'interagir dynamiquement avec les simulations. Enfin, nous présentons quelques expérimentations autour de l'utilisation des Icobjs dans le cadre de simulations distribuées, de simulations physiques ou de simulations multi-horloges.