Introduction
|
Un simulateur est entendu ici comme un programme informatique qui reproduit la structure et le fonctionnement d'un système. La présente interface permet de construire un simulateur dont les composants sont puisés dans la bibliothèque de classes C++ BASIC DIESE ou sa spécialisation CONTROL DIESE.
DIESE est un ensemble de classes encapsulant les propriétés fondamentales ...
- des entités d'un système,
- des processus qui entretiennent son évolution dans le temps,
- et des événements qui régissent le cycle de vie des processus.
BASIC DIESE fournit aussi un moteur de simulation fondé sur le paradigme de la simulation à événements discrets.
CONTROL DIESE est un ensemble de classes encapsulant les propriétés d'entités bien particulières : celles qui interviennent dans la conduite (on dit aussi le pilotage) du système. Pour illustration, on peut citer les notions d'activité et de ressource. Les classes définies dans CONTROL DIESE sont naturellement des spécialisations de celles de BASIC DIESE.
La construction d'un simulateur d'un système consiste en une spécialisation, appropriée au système, des classes prédéfinies dans BASIC DIESE et/ou CONTROL DIESE, et en l'invocation des services prédéfinis qui mettent en route le moteur de simulation. Tout ceci demande le codage en C++ des fichiers de déclaration (les entêtes) et de réalisation des classes spécialisées, et le codage d'un programme principal et éventuellement de fonctions complémentaires.
Solfege a deux fonctions principales :
- guider le modélisateur d'un système dans :
- la recherche des classes de BASIC DIESE (et éventuellement CONTROL DIESE) qui sont pertinentes pour ce système,
- la capture de la structure, des caractéristiques et propriétés du système modélisé, et qui constituent ce qu'on appelle la base de connaissances associée au système.
Cela passe par un menu à plusieurs niveaux dont les items sont les classes prédéfinies. Le choix d'une de ces classes ouvre la fonctionnalité de spécialisation (création d'une sous-classe, ou modification d'une sous-classe déjà créée).
Il est d'ores et déjà important de retenir que les informations capturées dans les fenêtres de l'interface sont enregistrées sous un format qui n'est pas encore du code C++.
- générer automatiquement le code du simulateur, dans la plus grande proportion possible.
Cela passe par un menu dont les items sont là aussi les classes prédéfinies. Le choix d'une de ces classes ouvre la fonctionnalité de transformation de la partie de la base de connaissances correspondant à cette clase, en un ensemble complet de fichiers C++ cohérents et corrects. Les fichiers ainsi générés pour l'ensemble des classes peuvent alors être assemblés en un simulateur exécutable.
Solfege offre les fonctions complémentaires suivantes :
- la gestion d'un ensemble de bases de connaissances, correspondant à des applications différentes. Chaque base est en fait un ensemble de fichiers.
On peut donc créer une base nouvelle, modifier une base existante, passer b'une base à une autre, ou bien en traiter deux ou plusieurs en même temps.
- pour un simulateur donné, sa préparation à l'utilisation, c'est-à-dire :
- la génération automatique d'une version par défaut des fichiers qui doivent être placés en entrée (lecture) du simulateur exécutable ;
- la préparation du simulateur à son exploitation au travers de MI_Diese, une interface utilisateur pour les simulateurs développés sous BASIC DIESE et/ou CONTROL DIESE