• Aucun résultat trouvé

partie, ce que l’existant identifie comme caractéristiques d’un logiciel s’inscrivant dans notre pro-blématique.

2.1 Environnements de multi-modélisation basés sur DEVS

Cette section présente une revue des environnements basés sur DEVS s’inscrivant au plus près de notre problématique. Le lecteur interessé trouvera une liste commentée des outils basés sur DEVS à l’adresse suivante, [Wainer, 2003], (actualisée par G.Wainer).

2.1.1 DEVSJAVA/Collaborative Devs Modeller

DEVSJAVA [Sarjoughian et Zeigler, 1998], développé à l’Université de l’Arizona, est un envi-ronnement écrit en Java, basé sur DEVS et le paradigme objet. Il supporte la norme "High Level Architechture" (HLA) [Zeigler et al., 1999], la modélisation basée sur les agents et la Structure En-tité Système présenté dans le chapitre précédent. L’environnement DEVSJAVA fournit les classes de base permettant d’étendre la méthodologie DEVS en utilisant les capacités du langage Java. Cet environnement est couplé à l’interface CDM (Collaborative DEVS Modeler) qui permet à des modélisateurs de composer ensembles des modèles modulaires et hiérarchiques bien que sépa-rés géographiquement. [Sarjoughian et Zeigler, 1999]. Des groupes d’experts et de professionnels utilisant la modélisation peuvent collaborer avec cet outil de manière synchrone ou asynchrone à travers des diagrammes structurés partagés. CDM oblige à respecter les règles de composition nécessaires pour assurer que les modèles créés sont conformes avec le paradigme de modélisation DEVS.

2.1.2 Moose

MOOSE [Fishwick, 1998] (Multimodel Object Oriented Simulation Environment) est une ar-chitecture d’application pour la modélisation et la simulation développée à l’université de Floride.

CHAPITRE 2 2.1. ENVIRONNEMENTS DE MULTI-MODÉLISATION BASÉS SUR DEVS

Cet environnement a été développé pour expérimenter les avancées réalisées dans ce laboratoire par Paul Fishwick et son équipe en multi-modélisation [Fishwick, 1995].

MOOSE est basé sur OOPM (Object Oriented Physical Modeling), technique logicielle qui étend les concepts généraux de la programmation orientée objets en précisant les rapports entre modèles et objets. OOPM fournit des mécanismes naturels pour la modélisation de systèmes utili-sant de grandes échelles d’espace et facilite l’intégration de multiples partitions de codes dans une simulation.

MOOSE est composé d’une interface utilisateur, d’une bibliothèque de modèles et d’un moteur de modélisation et de simulation. L’interface graphique permet au modélisateur de composer le modèle, de contrôler son exécution et de visualiser les résultats. La bibliothèque se définit alors comme un lieu de stockage des modèles, lieu qui facilite leur définition dans une action partagée ainsi que leur pérennité. Le moteur de modélisation et de simulation permet, pour sa part, de convertir automatiquement une définition de modèle en un programme de simulation exécutable pouvant être contrôlé par l’interface graphique.

Les types de modèles dynamiques pouvant être intégrés à MOOSE sont les modèles en dia-grammes de blocs, les modèles à équation sous contraintes et les modèles à base de règles. Un utilisateur peut aussi ajouter des méthodes spécifiques en développant un code propre en C++. Les modèles de différents types peuvent ensuite être combinés grâce à la multi-modélisation qui permet de connecter ces different types de modèles de manière récursive et hiérarchique. La représentation permettant la multi-modélisation dans MOOSE est appelée "Block". Block est un langage propre à définir des composants présentant des interfaces d’entrée/sortie, un peu à la manière des langages de création de circuits électroniques comme VHDL [Aumiaux, 2000].

Les derniers développements de MOOSE concernaient l’intégration de DEVS comme forma-lisme unificateur du logiciel [Fishwick, 1998]. Toutefois son développement est actuellement ar-rêté. L’expérience acquise pour la création de cet environnement à été capitalisée par leurs auteurs en vue du développement de son successeur Rube [Hopkins et Fishwick, 2003]. Rube possède les mêmes caractéristiques que MOOSE mais utilise une interface utilisateur en trois-dimensions (3D)

CHAPITRE 2 2.1. ENVIRONNEMENTS DE MULTI-MODÉLISATION BASÉS SUR DEVS

pour la création de modèles. Les modèles créés par Rube possèdent eux mêmes une représentation 3D et utilisent les format XML et X3D [Web3D, 2003] comme moyen de stockage et d’affichage.

2.1.3 Atom3

AToM3 (A Tool for Multi-formalism and Meta-Modelling) [Vangheluwe et al., 2002] est un outil de modélisation multi-paradigmes développé par le laboratoire MSDL (Modelling, Simula-tion and Design Lab) à l’université de McGill Montréal, Canada. Cet outil a été conçu en collabo-ration avec Juan de Lara de Universidad Autónoma de Madrid (UAM), Espagne.

Les deux principales fonctionnalités d’AToM3 sont la méta-modélisation et la transformation de modèles. La méta-modélisation est la description ou la modélisation de différents types de formalismes. La transformation de modèles est une technique consistant à transformer, traduire ou modifier automatiquement un modèle décrit dans un certain formalisme, vers un autre modèle qui peut être décrit soit dans le même formalisme soit dans un autre.

Dans AToM3 les formalismes et les modèles sont décrits comme des graphes. Cet environne-ment génère un outil de manipulation graphique des modèles décrits dans un formalisme donné, à partir d’une méta-spécification de ce formalisme (décrite dans le formalisme entité/relation). Les transformations entre modèles sont ensuite effectuées par réécriture des graphes et peuvent être décrites comme ces derniers.

Toutefois il n’est pas toujours possible de réaliser la traduction de modèle d’un formalisme vers un autre sans pertes d’informations. L’approche adoptée par Vangheluwe dans [Vangheluwe, 2000] pour résoudre ce problème consiste alors en une transformation de tous les modèles sous forme DEVS. DEVS est ainsi utilisé comme formalisme unificateur à partir duquel tous les modèles peuvent être soit simulés soit transformés.

2.1.4 Cell-DEVS

Cell-DEVS est un environnement dédié à la modélisation de systèmes pouvant être représentés sous la forme d’espaces cellulaires actifs.