Description du modèle

METTRE A JOUR L'IMAGE DU MODELE UML

Voir le modèle UML

Il permet de décrire un type (héritier de PsType) ou un objet de simulation (héritier de PsSimulatedObject). Dans le premier cas le code génère les attributs et tous leurs accesseurs, dans le second cas en plus des attributs, il permet de définir les entrées et les sorties.

Les classes générées sont fonctionnelles, cependant elles ne contiennent aucun code spécifique. Ceci n'est absolument pas génant pour les PsType, en revanche les PsSimulatedObject ne font rien. Leur méthode compute ne fait que mettre les sorties à jour avec des valeurs qu'elles ne savent pas faire évoluer, autrement dit elles ne font rien. Il est donc nécessaire de dériver ces classes générées pour leur additionner les fonctionnalités nécessaires.

Outre le fait qu'aucun code n'est à écrire pour utiliser ou dériver ces classes générées, il est possible d'extraire une documentation Doxygen complète des fichiers sources ce qui facilite grandement leur utilisation et dérivation. Des précisions peuvent être ajoutées grâce à des informations additionnelles contenues dans des attributs (attribut texte doxygen de tout objet nommé).

Omk

L'élement Omk décrit une application. Son contenu est une séquence d'objets PsSimulatedObject, PsType et Event.

PsType

Il s'agit des modèles d'objets au sens classique du terme utilisés par un application. La classe générée (par les outils) sera utilisable telle quelle lors d'une communication entre objets de simulation (évènement, signal ou entrée/sortie). Les attributs de la classe sont des Data, ListData et MapData. La classe fournit :

  • Les constructeurs par défaut, de copie et avec toutes les données

  • Les accesseurs à chacune des données

  • Les méthodes de lectures des paramètes dans l'arbre de configuration

  • Les opérateurs de comparaison d'égalité et de différence

  • L'opérateur de copie

  • Les méthodes d'entrée et de sortie de flux héritées de PsFlowable et PsPackable

PsSimulatedObject

Il s'agit du modèle d'objet de simulation.

  • La classe créée devra être dérivée pour être totalement fonctionnelle, il faudra au minimum rédéfinir le compute.

  • La classe de base fournie :

    • Le constructeur protégé

    • Les méthodes de lectures des paramètres des données et des connexions dans l'arbre de configuration

    • Les méthodes init et compute héritées de PsSimulatedObject, la méthode compute étant une version minimale

Event

Il s'agit des évènements qui sont émis et écoutés par les PsSimulatedObject.