Sommaire
En matière de développement:
En matière d’ergonomie:
Sur le plan technique:
Au moins dans un premier temps, on se donne les limites suivantes:
On peut par exemple imaginer une maquette du genre:
Quand ce premier cas d’utilisation est au point, on peut envisager de le compléter par les opérations suivantes
Plan de développement:
Une autre idée est de récupérer le pointeur CORBA MED dans la console python et de tirer les données à partir de là. Ajouter une couche de wrapping python pur pour gérer les cas de simplification (surcharge des opérations arithmétiques par exemple).
Besoins complémentaires:
Limitations actuelles (liées à la conception de MEDMEM):
Développement de classes proxy:
MEDMEM_MedDataManager:
Concernant MEDMEM:
Concernant l’interface SALOME_MED:
Concernant le module MED:
Choix entre MEDMEM et MEDCoupling: on reste sur MEDMEM pour plusieurs raisons:
TODO:
Tests à réaliser:
A retenir:
XMED: svn révision 16 Travailler avec le fichier de donnée testfield.med joint.
Le contexte d’utilisation des opérations de champs est l’environnement SALOME. Le support de gestion des données est donc l’étude SALOME. Au plus bas niveau, les champs sont des objets MEDMEM instanciés dans une session SALOME (soit par un code de calcul intégré, soit par chargement des données à partir d’un fichier med). Ces objets sont en général référencés dans l’étude SALOME sous la forme d’objets CORBA de classe SALOMEMED::FIELD. Plus exactement, l’étude SALOME gère des SObject (Study Object) dont un attribut est une référence vers un objet CORBA de classe SALOMEMED::FIELD qui lui-même encapsule un objet MEDMEM::Field.
On peut donc envisager une solution dans laquelle on donne à l’utilisateur des poignées de manipulation des objets SALOMEMED::FIELD, par exemple au moyen d’un modèle informatique de type proxy. Cela signifie que l’utilisateur ne manipule pas directement des objets MEDMEM mais des objets python qui font l’interface (à concevoir et implémenter, a priori avec un design pattern de type proxy).
L’utilisation directe des objets MEDMEM aurait pu être une solution extremement pratique dans la mesure où ces objets en l’état peuvent être combinés dans des opérations de champs (c’est déjà implémenté). Par contre, ce procédé souffre de limitations importantes dans la gestion et la circulation des données pour les différents cas d’utilisation envisagés (visualisation, export, transfert à un autre module SALOME).
L’avantage de la solution proposée est multiple:
Elle a cependant des inconvénients et/ou limitations:
Il est à noter également que les interfaces de programmation de SALOMEMED (interface CORBA pour MEDMEM) devront être étendues pour permettre des requêtes de manipulations de champs (fonctions addition, soustraction, multiplication, ...). Pas de contrainte ici sur l’ergonomie puisque la manipulation par l’utilisateur se fera au niveau des classes proxy uniquement.
Hypothèses:
Révisions:
Cette maquette implémente une solution technique de bout en bout (de l’interface python aux objets MEDMEM, en passant par le fieldproxy puis les servants CORBA pour les operations, ...) mais sur le périmètre de l’addition de champs sur tout leur domaine de définition et pour un pas de temps donné.
Limitations:
Révisions:
Cette version test la faisabilité des fonctions complémentaires pour accompagner la manipulation de champs. Cela comprend en particulier:
Questions:
Révision:
Les parties de MED utiles à MEDOP seront reversées dans XMED dans une première étape, puis le tout dans MED 6 au final.