Généralités

Une donnée fonctionnelle est une connaissance sur le système qui s'exprime, non pas par une valeur numérique ou symbolique, scalaire ou vectorielle, donnée à un attribut du système, mais par une fonction. Une fonction renvoie une valeur (scalaire ou vectorielle) et/ou réalise un effet de bord sur certains attributs du système. Ce que fait la fonction est déterminé par l'état du système et de son environnement au moment de l'invocation.

Le développeur d'un simulateur sous DIESE peut coder une connaissance fonctionnelle, par exemple pour une entité, de deux manières différentes :

Dans les deux cas, le corps de fonction codant la connaissance fonctionnelle est compilé puis intégré dans le module exécutable (le simulateur). Il est clair que toute modification du code passe par les étapes de compilation et d'intégration à l'exécutable (édition des liens).

Cette page expose les procédures d'externalisation de données fonctionnelles. L'externalisation, c'est le placement du corps des fonctions correspondantes à l'extérieur du module exécutable et l'établissement d'un pont entre les deux. Par ce pont transitent des commandes (l'exécutable invoque une fonction externe et la fonction invoque des services de DIESE) et des données (l'exécutable passe des arguments à la fonction externe et la fonction lui renvoie un résultat ou modifie par effet de bord la valeur de variables dans l'espace d'adressage de l'exécutable). Il est important de noter deux choses :

Dans la suite, on indique d'abord que les procédures d'externalisation requièrent une version de DIESE appropriée. Puis on décrit ce qu'il faut changer dans le code d'un simulateur existant pour externaliser une fonction. On donne au passage quelques règles d'écriture de la version perl de la fonction. Enfin, on décrit ce qu'il faut faire pour que ce code perl puisse intégrer des appels à des services de DIESE. Dans ce dernier point intervient l'outil SWIG.


This page was generated with the help of DOC++.