Formalisme de synchronisation de modele

Formalisme de synchronisation de modele

FORMALISME DE SYNCHRONISATION DE MODELESย 

Les prototypes et les rรฉflexions sur la simulation de la compรฉtition pour les ressources nous ont fait rรฉaliser la nรฉcessitรฉ de nous pencher sur une architecture de simulation gรฉnรฉrique capable de simuler des systรจmes complexes formรฉs par le couplage de modรจles, et de synchroniser les calculs pour rester aussi cohรฉrent que possible. Cette architecture et le formalisme de modรฉlisation associรฉ sont exposรฉs dans ce chapitre

Briques de base

Le formalisme de synchronisation utilise principalement deux sortes dโ€™objets : les Modรจles et les Caches. Les Modรจles sont des composants de calcul, et les Caches sont des abstractions des donnรฉes servant dโ€™entrรฉes et de sorties `a ces calculs. Les Modรจles lisent donc leurs entrรฉes dans des Caches, puis รฉcrivent leurs sorties dans dโ€™autres Caches. Les Caches mettent alors `a jour les donnรฉes rรฉelles de maniรจre synchrone. Cette architecture basique est illustrรฉe sur la figure 3.1. Nous utilisons dans toute la suite la convention dโ€™รฉcriture suivante : le terme Modรจle employรฉ avec une majuscule a le sens particulier qui est dรฉcrit dans ce chapitre, employรฉ avec une minuscule il dรฉsigne le modรจle au sens de reprรฉsentation de la rรฉalitรฉ, comme employรฉ plus couramment par les scientifiques. Une de ses propriรฉtรฉs les plus remarquable et utile est que les donnรฉes de la simulation sont stockรฉes dans une structure totalement sรฉparรฉe des composants de calcul, qui est toujours maintenue dans un รฉtat cohรฉrent (en admettant que la mise `a jour soit instantanรฉe). Cette structure de donnรฉes reprรฉsente lโ€™รฉtat de la simulation, et suffit `a dรฉmarrer ou `a reprendre une simulation. Non seulement cela permet des simulations plus stables, puisque les Modรจles lisent toujours des donnรฉes cohรฉrentes, mais cela rรฉsoud aussi รฉlรฉgamment, en thรฉorie, le problรจme de lโ€™arrห†et et et de la reprise des simulations, ainsi que celui de la sauvegarde indispensable des rรฉsultats. Dรฉcrivons maintenant plus prรฉcisรฉment les objets de base.
La structure des donnรฉes de la simulation est dupliquรฉe au sein des Caches, qui lโ€™isolent des Modรจles, ce qui assure une รฉvolution synchrone. Les Modรจles lisent leurs entrรฉes dans les Caches, รฉcrivent leurs sorties dans la structure dupliquรฉe stockรฉe dans les Caches. Ils transmettent aussi une information temporelle au Manager qui permet de fixer dynamiquement le pas de temps de la simulation. Lโ€™opรฉration de mise `a jour recopie les donnรฉes locales des Caches vers les donnรฉes de simulation. Cโ€™est cette opรฉration qui est rรฉalisรฉe de maniรจre synchrone.

Caches

Les Caches servent dโ€™interface vers les donnรฉes rรฉelles, et font รฉvoluer ces donnรฉes rรฉelles en les mettant `a jour sur demande. Ils ont un lien vers les donnรฉes rรฉelles et une copie interne de ces donnรฉes dans laquelle ils stockent temporairement les nouvelles valeurs, dโ€™o`u la dรฉnomination choisie. Liens avec les Modรจles Les Caches communiquent avec les Modรจles `a travers deux interfaces spรฉcifiques aux comportements diffรฉrents, qui prรฉservent la synchronisation des donnรฉes de simulation. Ces deux interfaces permettent aux Modรจles de collecter dans la liste des donnรฉes externes les valeurs des variables dโ€™entrรฉe et de transmettre leurs variables de sortie. La premiรจre interface est le Getter. Un Modรจle peut, `a partir dโ€™un lien vers un Getter, lire une valeur. Dans ce cas le Cache renvoie la valeur stockรฉe dans la structure de donnรฉes externe. La seconde interface est le Setter. Un Modรจle peut utiliser cette interface pour spรฉcifier la future valeur `a affecter `a la donnรฉe externe. Le Cache copie cette valeur et la conserve jusquโ€™`a la prochaine mise `a jour. Comme le Getter est liรฉ `a la structure de donnรฉes externes directement alors que.

Briques de base 45

le Setter agit sur la copie interne situรฉe dans le Cache, il nโ€™y a aucun risque que la valeur renvoyรฉe par le Getter soit modifiรฉe par un Modรจle interagissant avec le Setter. En revanche, il est souhaitable quโ€™un seul Modรจle puisse interagir avec un Setter donnรฉ, sans quoi la valeur en cache risque dโ€™ห†etre รฉcrasรฉe. Lโ€™interface Getter nโ€™impliquant aucune modification, plusieurs Modรจles peuvent sans problรจme lire la valeur dโ€™un mห†eme Getter. Mise `a jour La valeur associรฉe au Cache peut ห†etre mise `a jour de plusieurs faยธcons, suivant le type de la valeur et le systรจme simulรฉ. La faยธcon รฉvidente de mettre `a jour est de copier la nouvelle valeur dans la structure de donnรฉes externe. Cependant, dans certains cas, conserver deux exemplaire dโ€™une donnรฉe peut ห†etre un gaspillage de mรฉmoire. En particulier, quand la donnรฉe contient une grande quantitรฉ dโ€™information (une image par exemple) mais nโ€™est modifiรฉe que sur une petite partie de ces informations, une autre stratรฉgie peut ห†etre choisie : on peut crรฉer le Cache comme un Getter du ยซ gros ยป type de donnรฉe, et comme un Setter du type de donnรฉe ยซ variation ยป, qui contient juste les informations nรฉcessaires `a la mise `a jour.
En plus dโ€™apporter des bรฉnรฉfices en terme dโ€™occupation mรฉmoire et de vitesse dโ€™exรฉcution (car les opรฉrations de copie sont dโ€™autant plus coห†uteuses que les informations `a copier sont nombreuses), ce choix peut ห†etre naturel pour certains modรจles, qui par dรฉfinition calculent la variation dโ€™une donnรฉe et pas une valeur. Cohรฉrence Un Cache est dit dans un รฉtat cohรฉrent lorsque la mise `a jour ne causerait pas de changement significatif dans la valeur de la donnรฉe externe. Significatif peut ici prendre plusieurs sens, selon les intentions et le choix de modรฉlisation pour le couplage des Modรจles. On peut ห†etre trรจs strict et poser que tout changement de valeur est significatif, ou encore poser un seuil en deยธc`a duquel on considรจre la variation comme nรฉgligeable. Cette dรฉfinition est importante pour assurer la convergence du systรจme dans certains
cas, en particulier ceux comportant des boucles de rรฉtroaction.

Modeles

Les Modรจles sont responsables de tous les calculs de simulation. Ils peuvent ห†etre pourvus dโ€™un รฉtat interne quโ€™ils doivent faire รฉvoluer. Entrรฉes, Sorties, Etat ยด Un Modรจle possรจde une liste dโ€™entrรฉes I, qui sont autant de liens vers des interfaces Getters. 46 3. Formalisme de synchronisation de modรจles Lโ€™รฉtat dโ€™un Modรจle est un ensemble de donnรฉes qui lui sont propres, et ne sont accessibles en รฉcriture que depuis lโ€™intรฉrieur du Modรจle. Ces donnรฉes sont accessibles par des Caches, comme les entrรฉes et les sorties, sauf que dans le cas de lโ€™รฉtat le Modรจle possรจde le Cache et pas juste des liens vers des Getters et des Setters. Ainsi, on respecte le principe de sรฉparation des donnรฉes et des calculs, lโ€™รฉtat des Modรจles รฉtant stockรฉ dans la structure de donnรฉes externe. Cela est nรฉcessaire car un Modรจle pourrait รฉventuellement ne pas ห†etre persistant en mรฉmoire, alors que son รฉtat devrait lโ€™ห†etre. Un exemple de ce type sera dรฉtaillรฉ dans la partie Certains Modรจles nโ€™ont pas besoin dโ€™รฉtat, et dans ce cas lโ€™architecture de simulation prรฉsentรฉe ne leur impose rien de particulier. La prรฉsence ou non dโ€™un รฉtat pour un Modรจle nโ€™affecte en rien les fonctions de calculs prรฉsentรฉes ci-aprรจs. Calculs Un Modรจle doit dรฉfinir trois fonctions qui seront utilisรฉes dans lโ€™algorithme de simulation. La premiรจre est la fonction cumul :
o`u OT est une liste des sorties ยซ transitoires ยป. Cette fonction permet au Modรจle de rรฉagir instantanรฉment aux changements de ses entrรฉes. Un exemple de Modรจle purement transitoire serait un additionneur qui se contente de faire la somme de ses entrรฉes. Un tel Modรจle nโ€™a pas de mรฉmoire du passรฉ, pas de notion dโ€™รฉcoulement du temps. Il existe bien sห†ur des cas de Modรจles utilisant les deux fonctions, comme on le verra dans les exemples aux chapitres 4 et 5. A part ces fonctions de calcul, les Modรจles dรฉfinissent une ` troisiรจme fonction time, utilisรฉe pour la synchronisation : Ici tn est la date la plus lointaine `a laquelle un appel `a la fonction cumul du Modรจle doit avoir lieu. Ceci permet en particulier, pour les modรจles faisant une intรฉgration temporelle, de fixer une borne supรฉrieure au pas de temps. Mais les Modรจles peuvent aussi sโ€™en servir pour gรฉnรฉrer des รฉvรจnements, par exemple.

Hierarchiesย 

Exemple simple Nous allons donner ici un exemple simple de Modรจle utilisant les trois fonctions vues prรฉcรฉdement. Le but du Modรจle est, `a partir de deux entrรฉes A(t) et B(t), de fournir la valeur S = A On peut mห†eme imposer une borne sur la variation de e, par exemple si elle ne doit pas dรฉpasser la valeur K on peut choisir plutห†ot : Reste `a voir comment lโ€™appel des fonctions des Modรจles et des Caches est organisรฉ pour aboutir `a une simulation du comportement du systรจme. Ceci fait appel au concept de hiรฉrarchie et est dรฉtaillรฉ dans la section suivante.

Hiรฉrarchies

La spรฉcification des Modรจles et des Caches donne la capacitรฉ de construire des Modรจles hiรฉrarchiques, cโ€™est-`a-dire contenant un graphe de Modรจles et de Caches.

Hierarchie generique

La structure dโ€™un Modรจle hiรฉrarchique est assez simple `a comprendre. Un exemple est dรฉtaillรฉ sur la figure 3.2. On a besoin de dรฉfinir des Getters et Setters particuliers, quโ€™on appelle des Buffers, pour transmettre les entrรฉes du Modรจle aux sous-Modรจles et pour recopier les sorties des sous-Modรจles dans celle du Modรจle. Ces objets ne sont Chacun des Modรจles a aussi un รฉtat, S1 et S2 respectivement. Des buffers I1 et I2 permettent de lire les entrรฉes, dโ€™autres O1 et O2 permettent dโ€™รฉcrire des sorties. Des lignes pointillรฉes relient les Caches vers les donnรฉes de simulation, dont la structure est `a lโ€™image de celle du Modรจle. Anisi, Data0 est la donnรฉe dโ€™รฉtat de Model0, et est composรฉe de Data1 et Data2, les donnรฉes dโ€™รฉtat des sous-Modรจles, et de V1 et V2, les valeurs associรฉes aux Caches couplant les sous-Modรจles. pas des Caches, en ce sens quโ€™ils ne sont pas liรฉs `a une structure de donnรฉes externe. Ils servent purement dโ€™intermรฉdiaires de calcul et nโ€™ont pas `a ห†etre synchronisรฉs. Cโ€™est le Modรจle qui est responsable de leur gestion et de leur utilisation. Un Modรจle hiรฉrarchique a un รฉtat qui est reprรฉsentatif de la structure interne,
cโ€™est-`a-dire des Modรจles et Caches quโ€™il possรจde. Il est entiรจrement responsable de la synchronisation de tous ces objets ; le Manager global de la simulation nโ€™y a pas accรจs. Le comportement dโ€™un Modรจle hiรฉrarchique varie suivant la modรฉlisation souhaitรฉe. Il peut ห†etre un vรฉritable sous-simulateur qui isole temporellement ses sous-Modรจles du reste de la simulation (ce qui est une faยธcon possible dโ€™obtenir un effet de multi-รฉchelle temporel). Il peut au contraire ห†etre simplement une ยซ coquille ยป isolant des blocs logiques, mais nโ€™ajoutant pas lui-mห†eme de comportements. Deux exemples dโ€™utilisation de hiรฉrarchies sont dรฉtaillรฉs dans la suite, pour le management de la simulation dโ€™abord, puis pour certaines variantes de spatialisation.

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

TABLE DES MATIERES
Remerciements
1. Contexte, enjeux et problematiquesย 
1.1 Contexte
2. Prototypes de simulateurย 
2.1 Premier prototype de ยซ paysage fonctionnel ยป
3. Formalisme de synchronisation de modele
4. Modรจles pour les ressourcesย 
5. GreenLab continuย 
6. Illustrations et exemples
7. Conclusion et perspectivesย 
Calibration
Fonctionnement
Visualisation
Annexe 113
A. Programmation littรฉraire
A.1 Blocs et fragments
A.2 Fichier gรฉnรฉrรฉ
A.3 Rรฉfรฉrences croisรฉes
B. Pseudocode complet de la fonction de synchronisation
Liste des figures
Bibliographie

Rapport PFE, mรฉmoire et thรจse PDFTรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *