Les sémantiques dans les plateformes logicielles
Trame d’analyse
Associer des programmes revient à manipuler une collection de briques au moyen d’un langage. Au sein du langage, Sabah (1988) distingue quatre niveaux de connaissances : les connaissances morphologiques des termes (forme canonique du terme, racines et terminaisons, emploi), les connaissances syntaxiques, qui expriment les relations entre les termes sous forme de règles, les connaissances sémantiques pour l’expression du sens littéral, et enfin les connaissances pragmatiques, qui permettent d’accéder aux aspects implicites du sens. En ce qui concerne les connaissances pragmatiques, nous n’avons pas trouvé de méthode formelle dans la littérature qui en permettrait l’explicitation. L’objet du chapitre B est de proposer une méthode en vue d’y accéder. Dans le cadre de l’assemblage, au terme est associée la propriété morphologique de valence.
La valence intervient au niveau syntaxique en spécifiant le nombre de termes qui peuvent être accolés « simultanément ». La collection des termes constitue un dictionnaire terminologique. Au niveau syntaxique, la littérature permet d’identifier des règles : la règle R1 définit l’ordre de juxtaposition des termes au moyen des relations série et parallèle (Klir et Valach, 1967) ; la règle R3 définit les modalités de composition des termes via la méthode de transmission (Pressman, 1992). A celles-ci, nous ajoutons une règle R2, dévolue à la mise en correspondance des entrées et des sorties des briques. Au niveau sémantique, le traitement sémantique (S2) de R2 correspond à l’évaluation de la cohérence sémantique du rapprochement des termes au travers de l’utilisation de métadonnées (NISO, 2004) ou d’ontologies (Grüber, 1993). Ces méthodes permettent de mettre en coïncidence les entrées/sorties des termes en utilisant leur sens littéral. Ce faisant, ces méthodes ne considèrent pas le sens implicite des entrées/sorties.
La décomposition des modalités d’assemblage selon les trois règles (R1, R2 et R3) conduit à expliciter le sens des règles R1 et R3, initialement implicites au langage. L’étude de R1 et R3 nous amène donc à traiter de la sémantique pragmatique induite par leur application. En ce qui concerne la sémantique-pragmatique (appelée pragmatique dans la suite du document), la pragmatique de R1 (notée S1) émerge au travers de la combinaison des relations série et parallèle, et s’exprime au moyen des notions d’action, d’interaction, de rétroaction et de parallélisme (Le Moigne, 1977). La pragmatique de R3 (notée S3) est caractérisée en utilisant la notion de niveau de couplage (Pressman, 1992). Le Tableau 2 récapitule la trame d’analyse constituée des quatre niveaux de connaissances définis par Sabah (1988). Dans la suite du document, la trame d’analyse est appelée trame DRS (pour Dictionnaire, Règles syntaxiques et Sémantiques).
Constitution du dictionnaire
Le langage proposé par VLE (Ramat et Preux, 2003 ; Quesnel et al., 2009) manipule exclusivement les éléments au format DEVS, appelés processeurs DEVS. Un processeur DEVS est défini par un ensemble de variables d’état, un ensemble de variables d’entrée, un ensemble de variables de sortie, et une durée durant laquelle le processeur est en sommeil. La dynamique d’un processeur DEVS est explicitée au moyen de 4 fonctions : (i) la fonction de transition interne, qui permet la détermination des variables d’états, (ii) la fonction de transition externe, qui permet la prise en compte des informations transmises par un autre processeur DEVS à un instant donné (échange évènementiel entre processeurs), (iii) la fonction de gestion des conflits, qui décide de l’action à conduire dans le cas où des informations arrivent alors que celui-ci est en sommeil, et enfin (iv) la fonction de sortie, qui va transmettre des informations à l’attention d’autres processeurs.
Ce formalisme permet d’appréhender un processeur DEVS comme une boîte noire multivalente constituée de ports d’entrée et de sortie multiples. Chaque port d’entrée correspond à une fonction de transition externe mise à disposition des autres composants DEVS. Les variables d’états d’un processeur peuvent par conséquent évoluer selon des rythmes différents suivant le port d’entrée activé. L’insertion d’un programme dans VLE requiert une transformation préalable du programme en un processeur DEVS. Deux options sont possibles (Figure 07) : soit réécrire le programme au moyen du langage VLE, soit le rattacher à un processeur DEVS qui sert alors d’élément de liaison. Cette dernière option (i) nécessite toutefois l’adéquation de la logique de fonctionnement interne du programme avec celle d’un processeur DEVS, à l’exemple de l’intégration numérique par un programme externe, et (ii) demande l’adjonction d’une interface de liaison au programme afin de le relier à un processeur DEVS. En plus des quatre fonctions de gestion de la dynamique du processeur DEVS, cette interface requiert la définition d’autres fonctions demandant entre autres la description de l’état initial du processeur, l’initialisation de l’horloge interne au processeur, et la spécification du pas d’incrémentation de l’horloge pour la gestion du sommeil.
R1 et S1 La mise en relation des processeurs DEVS s’effectue via un bus commun auquel tous sont connectés (Kim et Kim, 1998). Dans la mesure où le bus ne peut être utilisé que par un seul processeur à la fois, l’arbitrage des échanges est assuré par un contrôleur (Figure 07). Ce contrôleur permet également le fonctionnement en parallèle de processeurs DEVS par la diffusion simultanée d’une même information auprès de plusieurs processeurs (Quesnel et al., 2007). L’utilisation du Bus, la multivalence des processeurs DEVS et le fonctionnement de chaque processeur selon un pas de temps propre permettent de construire des enchaînements de programmes qui varient suivant l’état de sommeil de chaque processeur et les informations qui interrompent le sommeil. Par construction, DEVS permet les dix-huit formes d’interrelations de la Figure 02 (zeigler, 1972). La Figure 08 présente un enchaînement de processeurs DEVS, extrait de Quesnel et al. (2009).
Dans cette figure, les processeurs sont représentés par des rectangles comportant des flèches pointant vers l’intérieur et d’autres vers l’extérieur, correspondant respectivement aux ports d’entrée et de sortie. Différentes configurations se présentent : les processeurs peuvent avoir un ou plusieurs ports d’entrée, et dans le cas où il y a plusieurs ports d’entrée, un port de sortie peut soit être commun à plusieurs ports d’entrée, soit être associé à chaque port d’entrée, auquel cas il y a autant de ports d’entrée que de ports de sortie. Les traits réunissant les ports d’entrée/sortie des processeurs correspondent aux enchaînements d’exécution des programmes. On y retrouve les formes d’interrelations que sont la relation d’ordre (image n°4, Figure 02), l’interaction (image n°7, Figure 02) et le parallélisme (image n°12, Figure 02). L’exemple porte sur l’intervention de pompiers luttant contre des feux de forêt, déclenchés par un pyromane.
Cet exemple est implémenté sous la forme d’un automate cellulaire. Dans ce graphe, le pyromane est représenté par le processeur ‘Agent’, et les forêts par les processeurs ‘Forest11’, ‘Forest12’, ‘Forest13’ et ‘Forest14’. Le processeur ‘Move’ gère le déplacement de ‘l’Agent’ au sein de l’automate cellulaire. Les interrelations établies entre les processeurs Forest correspondent (i) au parallélisme, puisque la sortie d’un processeur Forest est connectée à l’entrée de plusieurs autres processeurs Forest, par exemple Forest22 alimente les processeurs Forest21 et Forest12, et (ii) à l’interaction, à l’exemple du processeur Forest21 qui alimente le processeur Forest 22. La mise en place de l’interrelation, du type action, entre ‘l’Agent’ et un processeur ‘Forest’ s’effectue en fonction de la position de ‘l’Agent’ au sein de l’automate cellulaire et de la présence ou non d’un processeur ‘Forest’. Dans ce graphe, ‘l’Agent’ est connecté avec ‘Forest12’.
Récapitulatif des caractéristiques des supports génériques
Dictionnaire MODCOM, VLE et OpenMI permettent d’appréhender l’insertion d’un programme sous la forme d’un rattachement à un support. Ce rattachement s’effectue par l’adjonction d’une interface de liaison qui permet de lever la dépendance de l’opération d’insertion vis-à-vis de la technologie nécessaire au fonctionnement externe du programme. L’interface permet par exemple d’accéder à des programmes situés sur des machines distantes via un réseau informatique. Les trois supports proposés par MODCOM, VLE et OpenMI se distinguent toutefois par leur modalité de rattachement. Dans OpenMI, le rattachement du programme s’effectue en l’état, sans nécessiter de modification. Le programme est donc considéré comme indépendant du support générique.
Par contre, l’assemblage peut nécessiter qu’un programme mette à disposition du programme suivant des données non disponibles en sortie. VLE et MODCOM assurent l’intégration numérique d’équations différentielles en plus de l’association de programmes. Le rattachement requiert donc que le code source du programme à rattacher soit structuré de façon à permettre à un programme extérieur, le support générique en l’occurrence, d’effectuer l’intégration numérique. Le rattachement d’un programme peut par conséquent requérir deux natures d’interventions sur le code source. La première est l’adaptation des entrées/sorties du programme, que nous appelons typage dans ce document. C’est l’option retenue par OpenMI. La seconde opération est le reformatage, correspondant à une restructuration du code source. Cette opération est nécessaire pour le rattachement d’un programme à MODCOM ou à VLE, dans le cas par exemple où la structure du programme ne permet pas de déléguer l’intégration numérique au support générique.
|
Table des matières
Liste des figures
Liste des tables
Introduction
Chapitre A Les sémantiques dans les plateformes logicielles
1 La notion de plateforme logicielle
1.1 Définition
1.2 Le langage d’assemblage de programmes
1.3 Trame d’analyse
2 Les plateformes logicielles
2.1 The Modular simulation Component (MODCOM)
2.2 Virtual Laboratory Environment (VLE)
2.3 Open Modelling Interface (OpenMI)
2.4 Récapitulatif des caractéristiques des supports génériques
3 Les plateformes agronomiques
3.1 Les programmes agronomiques en question
3.2 Description des plateformes agronomiques choisies
3.2.1 Une construction ad hoc, la plateforme DSSAT
3.2.1.1 Les versions successives
3.2.1.2 DSSAT dans la trame d’analyse DRS
3.2.2 APES, instance de MODCOM
3.2.3 SEAMLESS-IF, instance d’OpenMI
3.3 Etude comparative des plateformes agronomiques
3.3.1 Architecture et sémantique
3.3.2 Impact du sens littéral des termes
3.3.3 Conclusion partielle
4 La constitution du dictionnaire
4.1 Reformatage d’un terme d’après un langage imposé
4.1.1 L’expérience APES
4.1.2 Discussion
4.2 Typage d’un terme et Pragmatique
4.2.1 Les deux formes de typages
4.2.2 Discussion
5 Conclusion de la partie A tel-00458265, version 1 – 19 Feb 2010
Chapitre B Accès au sens implicite
1 Bibliographie linguistique
1.1 La question de la sémantique dans la production d’un énoncé
1.2 L’interrogation dans la production d’un énoncé
1.3 L’interrogation et la structure de réponse associée
1.3.1 Où et la Localisation
1.3.2 Pourquoi et la Raison
1.3.3 Comment et la Manière
1.3.4 Qui et l’Actant
1.3.5 Quand et la Temporalité
1.3.6 Quoi/Que et acte
2 Vers une structure de graphes
2.1 Exploitation de la littérature et formulation de graphes
2.1.1 Où et la Localisation
2.1.2 Pourquoi et la Raison
2.1.3 Comment et la Manière
2.1.4 Qui et l’Actant
2.1.5 Quand et la Temporalité
2.1.6 Quoi/que et acte
2.2 Structure de description et assemblage
2.2.1 L’hypothèse d’une structure commune aux groupes fonctionnels
2.2.1.1 La classe Organisation
2.2.1.2 La classe Référentiel
2.2.2.3 La classe Sémantique
2.2.2 La structure de description
2.3 Description du contexte
3 Proposition d’un modèle formel d’accès aux connaissances pragmatiques
3.1 Formalisation syntaxique d’un terme
3.2 Dictionnaires
3.3 Mise en oeuvre du modèle formel
3.3.1 Les réseaux sémantiques
3.3.2 Représentation du modèle formel au moyen des graphes conceptuels
4 Discussion
Chapitre C Illustration
1 Exemple de description d’un système complexe
1.1 Description littérale du système biologique
1.2 Représentation formelle du système biologique
1.3 Vocabulaire et sens implicite
1.4 Transcription informatique
2 Discussion
Conclusion
tel-00458265, version 1 – 19 Feb 2010
Glossaire
Références
1 Productions de l’auteur du mémoire
1.1 Projet Européen SEAMLESS (2005-2009
1.2 Réseau excellence Endure
1.3 Travaux en lien avec le mémoire
1.4 Autres travaux (dans revues internationales à comité de lecture
2 Introduction
3 Chapitre A
4 Chapitre B
5 Chapitre C et Conclusion
Annexe
Télécharger le rapport complet