Sciences Pour l’Environnement

Nos tutelles

CNRS

Rechercher




Accueil > Projets de recherche > SISU (Simulation Informatique et Systèmes Ubiquitaires) > DEVSimPy > Utilisation

Fonctionnalités avancés : Manipulation des modèles

par campana - publié le

Les actions disponibles sur les modèles permettent d´agir sur leur comportement et sur leur apparence. Le menu des actions est invoqué par un clic-droit sur le modèle. Les actions sont séparées en groupe : édition, utilisation, connexion, exportation, suppression et propriétés.

Edition

L´édition du code python responsable du comportement du modèle est possible par ce sous-menu. Au clic, il est demandé à l´utilisateur si il veut éditer ce code avec l´éditeur embarqué de DEVSimPy ou s´il veut utiliser son éditeur préféré. Cette question peut être évitée en décochant une option dans le panneau des préférences. (Voir image 1)

La fenêtre d´édition du code permet de modifier celui-ci et d´enregistrer les modifications automatiquement. Le coloration syntaxique et la numérotation des lignes rend la navigation dans le code plus simple. De plus, chaque enregistrement est succédé par une vérification syntaxique du code.

Debuggage

Le débuggage comportementale des modèles peut être effectué en utilisant la méthode debugger(msg). Les messages de débuggage seront alors écrit sur le disque et proposé dans une fenêtre de dialogue lorsque l´utlisateur cliquera sur le menu `Log´. (Voir Image 2)

Utilisation

Il possible de pratiquer les manipulations classiques sur les modèles comme : la copie, le collage, le supprimer/coller, l’immobilisation sur le canvas, l´annulation de l´immobilisation et la rotation directe et inverse.

Connexion

Lors d’un clic droit sur un modèle, nous avons la possibilité de connecter un modèle à un autre via le menu ’Connexion à’. Un sous-menu contextuel apparaît et propose à l´utilisateur de connecter le modèle sélectionner à tous les modèles présents dans le diagramme. Cette fonctionnalité est très pratique lorsqu´un modèle possède plusieurs connexions vers d´autres modèles. Elle évite de procéder par des glisser/déposer successif pour connecter les modèles entre eux.

Dans l’image 3 ci-joint, les modèles `QuickScope_2´ et `To_Disk_2´ sont proposés à la connexion. Il suffit à l´utilisateur de cliquer sur l’un ou l’autre pour les connecter.

Exportation

Ce menu permet d´exporter le modèle. Si le modèle est du type atomique, il sera proposé l´exportation au format AMD, sinon si le modèle est couplé il pourra être exporté au format CMD, JS ou XML.

Suppression

La suppression du modèle peut être effectuée par un clic sur ce sous-menu.

Propriétés

Une fenêtre de dialogue est alors proposée à l´utilisateur. Cette fenêtre est également visible dans le panel `Properties´ lorsque le modèle est sélectionné. Les propriétés sont séparées en deux catégories : graphique et comportementale. (Voir Image 4)

La fenêtre est divisée en trois colonnes : les attributs, les valeurs des attributs et les informations des attributs.

Les attributs graphiques essentiels sont les suivants :
- label  : nom du modèle appaîssant dans le diagramme,
- pen : couleur et taille des contours du modèle,
- fill : couleur de remplissage du modèle,
- image_path : image optionnelle de remplissage du modèle,
- input : nombre de prots d´entreés,
- output : nombre de ports de sorties.

Les attributs comportementaux sont les paramètres du constructeur de la classe pyDEVS. L´importation de ces paramètres est automatique dans DEVSimPy. Dans l´exemple ci-dessous les attributs comportementaux sont : a, f, k, m, phi. L´attribut python_path permet de modifier le fichier pyDEVS utilisé par DEVSimPy pour instancier les modèles DEVS. Ce fichier est consultable en lecture seule dans le bloc inférieur de la fenêtre. L´utilisateur peut naviguer dans les fonctions de transition à l´aide d´une liste de choix au dessus du visualisateur de code.

L´utilisateur peut modifier les valeurs des champs des attributs en cliquant sur la cellule correspondante. En fonction du type de valeur, un éditeur d´attributs spécifique sera invoqué.

Portfolio