Ilhem Khlif
email: ilhemkhlif@gmail.com

Mohamed Hadj Kacem
email: mohamed.hadjkacem@isimsf.rnu.tn

Une approche de description multi-échelles et multi points de vue pour les architectures logicielles dynamiques

Keywords: Architectures logicielles dynamiques, descriptions multi-échelles, descriptions multi points de vue, raffinement d'architecture, notations UML Dynamic Software Architectures, multi-scales descriptions, multi points of view descriptions, architecture refinement, UML notations

Cet article vise à présenter une approche de modélisation multi-échelles et multi points de vue pour faciliter la description et la validation des architectures logicielles dynamiques. Il s'agit de présenter une approche de conception orientée-modèle basée sur des notations visuelles permettant de décrire, par extension des notations UML, les architectures logicielles dynamiques selon différents niveaux de description. Nous décrivons un processus de raffinement progressif permettant d'automatiser le passage d'un modèle générique décrivant un point de vue donné d'une échelle à un modèle spécifique décrivant ce point de vue sous une autre échelle. Afin de garantir la compatibilité entre les différents niveaux de description, nous adoptons une technique de transformation orientée règles. Les règles gèrent le raffinement d'une échelle à une autre et également le passage d'un point de vue à un autre dans une même échelle. La modélisation des architectures logicielles dynamiques génère des modèles qui doivent être valides par rapport à leurs méta-modèles. L'approche que nous proposons est basée sur des règles de validation entre les différentes échelles et les différents points de vue de la même échelle. Cette validation assure la validité du modèle architectural. Nous présentons également l'interface d'un plug-in Eclipse que nous avons développé pour implémenter et expérimenter notre approche. Nous illustrons notre approche par son application à une étude de cas modélisant les systèmes de support des opérations d'intervention d'urgence (OIU).

INTRODUCTION

L'architecture logicielle a émergé comme un axe de recherche important de l'ingénierie logicielle. Elle fournit la description de haut niveau de la structure d'un système logiciel de façon de réduire sa complexité. L'architecture logicielle inclut la description des éléments à partir desquels les systèmes sont construits, les interactions entre ces éléments, les patrons qui guident leur composition et les contraintes sur ses patrons [START_REF] Garlan | An introduction to software architecture[END_REF] [START_REF] Garlan | An introduction to software architecture[END_REF]. En d'autres termes, l'architecture logicielle décrit d'une manière symbolique et schématique les différents éléments d'un ou de plusieurs systèmes informatiques et leurs interactions.

Ainsi, la conception architecturale se base sur des patrons récurrents d'organisation appelés styles architecturaux. La modélisation de l'architecture logicielle génère des modèles en se basant sur le profil UML (Unified Modeling Language). En effet, la plupart des systèmes logiciels doivent subir de différentes modifications durant leurs cycles de vie afin de faire face aux nouveaux besoins des utilisateurs. L'enjeu est donc de modéliser ces modifications architecturales tout en préservant la validité de l'architecture par rapport à son style.

UML est un langage de modélisation qui décrit un système en utilisant une notation graphique orientée objet. Il a une syntaxe semi-formelle et une sémantique. Pour modéliser un système, UML fournit plusieurs modèles exprimés sous forme de diagrammes (de classes, d'états, de packages, de cas d'utilisation, de composants et de déploiement). Une description architecturale doit être comprise et manipulée par plusieurs intervenants qui ont peu de connaissance dans le domaine des spécifications formelles. C'est l'une des raisons pour lesquelles plusieurs tentatives ont été faites pour utiliser ou étudier la possibilité d'utiliser UML comme un langage de description des architectures. L'autre raison est qu'UML est un standard de l'OMG qui couvre, par ses outils de support, toutes les phases d'un cycle de développement [START_REF] Muller | Modélisation objet avec UML[END_REF] [START_REF] Muller | Modélisation objet avec UML[END_REF] et [START_REF] Piechocki | UML, le langage de modélisation objet unifié[END_REF] [START_REF] Piechocki | UML, le langage de modélisation objet unifié[END_REF].

Un aspect clé de la conception de tout système logiciel est le concept de raffinement de l'architecture. Le raffinement d'une bonne architecture garantit l'intégrité et la cohérence de l'architecture logicielle, permet de réduire les coûts et d'améliorer la qualité du logiciel. Cependant, le raffinement de l'architecture logicielle est considéré comme une étape en cours de la recherche à cause de la complexité de la conversion de l'architecture abstraite à l'architecture spécifique. Le raffinement de l'architecture est devenu donc un domaine de recherche important en génie logiciel pour la description de l'architecture logicielle.

Nous nous intéressons particulièrement dans nos travaux de recherche à la modélisation des architectures logicielles dynamiques. Cet article vise à présenter une approche de modélisation multi-échelles et multi points de vue pour faciliter la description et la validation des architectures logicielles dynamiques. Il s'agit de présenter une approche de conception orientée-modèle basée sur des notations visuelles permettant de décrire, par extension des notations UML, les architectures logicielles dynamiques selon différents niveaux de description.

Nous nous basons dans notre recherche sur le langage UML puisqu'il est le langage de modélisation le plus répondu et qui s'adapte grâce à ses extensions à la modélisation des architectures dynamiques.

La principale contribution de notre travail est de décrire un processus de raffinement progressif permettant d'automatiser le passage d'un modèle générique décrivant un point de vue donné d'une échelle à un modèle spécifique décrivant ce point de vue sous une autre échelle. L'objectif de notre travail est de générer un système qui peut supporter différents niveaux de description. Un processus de raffinement progressif est nécessaire pour partir d'un modèle générique d'un niveau d'abstraction N-1 à un modèle plus spécifique d'un niveau N. Afin de garantir la compatibilité entre les différents niveaux de description, nous adoptons une technique de transformation orientée règles. Les règles gèrent le raffinement d'une échelle à une autre et également le passage d'un point de vue à un autre dans une même échelle. En effet, une échelle peut être définie comme un modèle qui donne des détails supplémentaires de la conception et décrit également un niveau ou une couche dans un système de communication. De même, une échelle peut avoir plusieurs points de vue procédés par un raffinement du modèle pour exprimer plus de détails.

La modélisation des architectures logicielles dynamiques génère des modèles qui doivent être valides par rapport à leurs méta-modèles. L'approche que nous proposons est basée sur des règles de validation entre les différentes échelles et les différents points de vue de la même échelle. Cette validation assure la validité du modèle architectural.

Nous présentons également l'interface d'un plug-in Eclipse que nous avons développé pour implémenter et expérimenter notre approche. Nous nous intéressons dans nos domaines d'applications à la modélisation des systèmes collaboratifs dans des environnements communicants (SCC) et nous illustrons notre approche par son application à une étude de cas modélisant les systèmes de support des opérations d'intervention d'urgence (OIU) et s'inscrivant dans le projet ROSACE (RObots et Systèmes Auto-adaptatifs Communiquants Embarqués) (Drira, 2009) [START_REF] Khalil Drira | Reconfiguration models for adaptive and ubiquitous communication in layered services[END_REF].

La suite de l'article est organisée de la façon suivante. La section 2 est dédiée pour l'état de l'art présentant une étude synthétique de travaux similaires à notre approche. La démarche générale de l'approche est décrite puis détaillée à travers une étude de cas dans la section 3. La section 4 propose l'implémentation de notre travail sous l'environnement Eclipse. Finalement, la section 5 conclut et décrit les perspectives de notre travail.

ÉTAT DE L'ART

Il existe deux domaines de recherche relatifs à notre travail: les architectures logicielles dynamiques (figure 1) et les méthodes de raffinement de l'architecture (figure 3). De même, l'aspect multi-vu des architectures logicielles dynamiques a été étudié par les travaux de [START_REF] Nassar | Vers un profil uml pour la conception de composants multivues[END_REF] [START_REF] Nassar | Vers un profil uml pour la conception de composants multivues[END_REF]. Ils ont développé une méthodologie de conception dont le noyau est un profil UML, appelé VUML (View based Unified Modeling Language), qui supporte la construction de composants de conception multi-vues. Ce travail a pour objet de spécialiser UML afin qu'il supporte la notion de vue/point de vue de l'analyse jusqu'au déploiement d'une application. Cette spécialisation se traduit par l'introduction d'un ensemble de stéréotypes regroupé sous forme de profil UML. Le méta-modèle de VUML étend celui d'UML avec de nouveaux stéréotypes : MultiViewsClass, AbstractView, Base, View, ViewExtension et ViewDependency. Ainsi, les travaux de [START_REF] Nassar | Vers un profil uml pour la conception de composants multivues[END_REF] [START_REF] Nassar | Vers un profil uml pour la conception de composants multivues[END_REF] ont présenté le patron d'implémentation pour la génération de code multicibles et ont adapté l'outil Objecteering/UML Modeler (qui fait partie de l'atelier Objecteering/UML) pour tenir compte des contraintes de modélisation propres à des projets.

Architectures logicielles dynamiques

Multicouches

Ce travail a mis en oeuvre l'outil support de VUML à travers deux profils Objecteering qui sont le profil Objecteering VUML qui permet de mener une modélisation selon VUML et de vérifier la conformité des diagrammes avec la sémantique de VUML et le profil Objecteering qui permet la génération du code Java à partir d'une modélisation VUML. Mais, il n'a pas précisé un processus de raffinement entre les différents points de vues dans ses profils générés.

Diverses approches visant à trouver des raffinements dans les architectures multi-niveaux ont été présentées dans la littérature. Dans un raffinement progressif, une séquence d'étapes à partir d'une spécification abstraite de l'architecture conduit à une implémentation concrète centrée sur le modèle architectural. Ces étapes de raffinement peuvent être effectuées selon deux directions: horizontale et verticale. Le raffinement horizontal permet d'introduire de nouvelles vues plus détaillées. Chaque ajout de détails à un modèle entraîne un nouveau modèle qui raffine le précédent. Quant au raffinement vertical, il permet de passer d'un niveau abstrait vers un niveau plus concret. Chaque étape de raffinement conduit généralement à une description plus détaillée de l'architecture [START_REF] Oquendo | π-method: a model-driven formal method for architecture-centric software engineering[END_REF] [START_REF] Oquendo | π-method: a model-driven formal method for architecture-centric software engineering[END_REF]. Pour un processus de raffinement de l'architecture logicielle, il existe fondamentalement deux méthodes possibles, la méthode semi-formelle et la méthode formelle (figure3).

Méthodes formelles de raffinement

Langage formel de raffinement des architectures (Π-ARL) [START_REF] Juan | A component-based method for software architecture refinement[END_REF] [START_REF] Juan | A component-based method for software architecture refinement[END_REF] Techniques de transformation de graphes [START_REF] Baresi | Stylebased refinement of dynamic software architectures[END_REF] Parmi les travaux relatifs au raffinement des architectures en se basant sur la méthode formelle, nous citons les travaux de [START_REF] Juan | A component-based method for software architecture refinement[END_REF] [START_REF] Juan | A component-based method for software architecture refinement[END_REF] qui vise à répondre à l'exhaustivité et la cohérence de l'application dans un processus de raffinement des architectures logicielles. L'approche proposée tente de se concentrer sur le composant comme un élément de base pendant le processus de raffinement de l'architecture et de décrire formellement les architectures logicielles avec un langage de raffinement formel Π-ARL.

Ainsi, les travaux de (Juan et al., 2010) [START_REF] Juan | A component-based method for software architecture refinement[END_REF] ont proposé un framework pour une approche qui se concentre sur le raffinement des composants. La description de l'architecture avec Π-ARL interprète correctement les exigences de performance des composants. Dans chaque cycle de raffinement, l'architecte décompose la couche précédente des composants en fonction de l'analyse des fonctions des composants, puis, il obtient un nombre de composants et d'interactions entre eux. Ce cycle poursuit jusqu'à ce que les composants en béton soient indécomposables.

Cette approche a assuré la cohérence sémantique dans le processus de raffinement d'architecture entre les couches et elle a montré des détails sur le niveau d'implémentation de l'architecture pour combler le fossé entre l'architecture et l'exécution. Mais, cette méthode formelle n'a pas fourni une technologie conçue avec ce langage de raffinement pour soutenir le développement des systèmes logiciels complexes. D'autres travaux relatifs au raffinement des architectures ont abordé aussi les techniques de transformation de graphes parmi lesquels nous citons les travaux de [START_REF] Baresi | Stylebased refinement of dynamic software architectures[END_REF] [START_REF] Baresi | Stylebased refinement of dynamic software architectures[END_REF] et [START_REF] Rafe | Automatic refinement of platform independent models[END_REF] [START_REF] Rafe | Automatic refinement of platform independent models[END_REF].

Les travaux de [START_REF] Baresi | Stylebased refinement of dynamic software architectures[END_REF] [START_REF] Baresi | Stylebased refinement of dynamic software architectures[END_REF] ont adressé le problème du développement des architectures dynamiques comme une tâche complexe généralement conduite par une approche par étapes de raffinement.

Dans le domaine de recherche de l'architecture logicielle, les styles architecturaux sont utilisés pour décrire les familles d'architectures par types de ressources communes, les schémas de configuration et des contraintes. Ce travail définit les relations de raffinement entre les styles abstraits et concrets permettant de vérifier le raffinement correct des deux architectures données. Pour ce là, il introduit une technique formelle afin de vérifier et de construire des raffinements des architectures dynamiques. Cette technique utilise des systèmes de transformation de graphe pour modéliser les styles architecturaux pour les différents niveaux d'abstraction et de la plateforme représentée par des scénarios de reconfiguration comme des séquences de transformation de graphe. Le style basé sur l'abstraction et les mappages de raffinement ont été introduits pour raffiner les scénarios de reconfiguration automatique, tout en préservant l'exactitude sémantique. L'architecte de style définit également une correspondance entre le graphe de type et des parties du méta-modèle UML qui peut être utilisé pour convertir des diagrammes UML dans les représentations graphiques.

Les architectes d'applications peuvent utiliser le modèle de leurs architectures conventionnelles des diagrammes UML, les valider et les raffiner à l'aide de cette approche qui définit les règles UML et le mappage. Mais, cette approche nécessite deux types d'intervention humaine. Les gens qui sont compétents dans la transformation de graphe à la fois et les styles architecturaux pour concevoir des systèmes de transformation de graphe avec les types de graphes, les contraintes et les règles spécifiques. D'autres travaux, comme (Rafe et al., 2009) [START_REF] Rafe | Automatic refinement of platform independent models[END_REF], ont proposé une approche automatisée permettant de raffiner les différents modèles dans une plate-forme middleware spécifique dans le but de diminuer le temps de commercialisation, tout en augmentant la qualité des logiciels. En effet, concevoir une approche de raffinement du modèle sans tenir compte de l'automatisation est une tâche complexe devant faire face aux exigences fonctionnelles et non fonctionnelles: la modélisation et l'application des exigences fonctionnelles qui doivent se conformer à la plate-forme middleware.

Cette approche formelle et automatique de raffinement des plateformes indépendamment des modèles permet d'obtenir des plateformes plus spécifiques. Les systèmes de transformation de graphe se sont révélés être une solution pour la transformation de modèle et de raffinement. Cette proposition suggère une solution par étapes au raffinement du modèle. Pour chaque niveau d'abstraction, un style doit être conçu comme un schéma graphique et des règles de graphe.

Ces deux dernières approches ont conçu des modèles multiniveaux et multi-styles pour les systèmes logiciels en se basant sur leurs propres méthodes de raffinement. Mais, elles n'ont pas détaillé la modélisation de leurs approches à travers une étude de cas et leurs implémentations avec un outil de développement pour concrétiser ces travaux.

Dans le même axe de recherche sur les architectures multiniveaux à base des techniques de transformation de graphes, les travaux de [START_REF] Sancho | Modélisation multi-niveau pour des systèmes ubiquitaires collaboratifs[END_REF] [START_REF] Sancho | Modélisation multi-niveau pour des systèmes ubiquitaires collaboratifs[END_REF], (Bouassida et al., 2010) [START_REF] Bouassida | A rule-driven approach for architectural self adaptation in collaborative activities using graph grammars[END_REF]et [START_REF] Bouassida | Gestion dynamique des architecures logicielles pour les systèmes communicants collaboratifs[END_REF] [START_REF] Bouassida | Gestion dynamique des architecures logicielles pour les systèmes communicants collaboratifs[END_REF] ont donné naissance à une approche de modélisation multi-niveau pour les systèmes collaboratifs ubiquitaires.

L'objet de ces travaux est de spécifier les problèmes de ces systèmes ainsi que de leur proposer un cadre conceptuel.

Afin de modéliser des architectures logicielles complexes multiniveaux, ils ont présenté deux procédures permettant de transformer des modèles entre les niveaux: le raffinement et la sélection. Le raffinement permet de calculer l'ensemble de modèles d'un niveau considéré qui implantent le modèle donné de niveau supérieur. La sélection permet de choisir le bon modèle parmi tous les modèles possibles d'un niveau considéré représentant l'architecture qui sera effectivement déployée. Ces travaux se sont basés sur les techniques de transformation de modèles basés sur les ontologies notamment les techniques de transformation de graphes pour le raffinement des configurations architecturales dans un système multi-niveau (niveau application, niveau collaboration et niveau middelware).

Ces travaux ont présenté un exemple d'application de l'approche qui est un jeu collaboratif développé dans le cadre du projet européen UseNet. Il est présenté à travers un modèle de niveau application et des règles permettant son raffinement au niveau collaboration. Ces travaux ont défini un cadre algorithmique générique de reconfiguration architecturale multi-niveaux qui a été appliquée au cas de la communication et de la coopération de groupe. puis implanté selon les techniques formelles. Ces techniques nécessitent forcément une formation particulière et des aptitudes mathématiques.

D'autres travaux de recherche ont présenté des méthodes de raffinement sur les architectures multi-styles. Les travaux de (Georg Jung et John Hatcliff, 2009) [START_REF] Jung | A type-centric framework for specifying heterogeneous, large-scale, componentoriented, architectures[END_REF] ont défini le raffinement des styles en utilisant l'héritage multiple. Il s'agit de définir les relations entre les styles pour connecter leurs interfaces et préciser la superposition ou l'abstraction de contraintes. (Georg Jung et John Hatcliff, 2009) [START_REF] Jung | A type-centric framework for specifying heterogeneous, large-scale, componentoriented, architectures[END_REF] ont décrit des opérations sur les méta-modèles fournies par CALM, un framework de méta-modélisation des systèmes multi-niveaux du langage d'architecture CADENA basé sur Eclipse, qui permettent des descriptions de raffinements de plates-formes architecturales. Ils ont illustré les principes de CALM en utilisant un système formulé en termes d'un modèle de composants hybride qui intègre trois cycles architecturaux y compris un style pour nesC, un modèle de composants et d'infrastructures connexes qui a été utilisé pour la construction de réseaux de capteurs sans fil, le style de planification de haut niveau et le style de la couche physique nécessaire dans la construction de système de systèmes.

L'architecture est en couches et les développeurs doivent se conformer à ces contraintes de superposition (par exemple, l'implémentation de chaque composant de la couche de planification doit être exprimée en nesC et chaque composant nesC associé à la catégorie du Hardware doivent être décrites en utilisant le style de la couche physique afin d'éviter l'architecture qui se dégrade au cours du temps). L'encapsulation est utilisée comme un mécanisme d'abstraction pour les deux (composants et connecteurs) qui peut impliquer un changement dans les styles d'architecture pour représenter une frontière d'abstraction. Ainsi, ces travaux de recherche ont manipulé le style CALM permettant aux architectes de créer des environnements de modélisation qui contrôlent l'évolution ou le raffinement d'une architecture d'une plate-forme indépendante d'usage général de description à un style qui contient plus de détails sur la plate-forme sous-jacente.

L'ingénierie logicielle n'a cessé de produire de nouvelles approches et de nouveaux paradigmes qui présentent l'intérêt de permettre le raisonnement sur des systèmes logiciels complexes à large échelle (figure4).

Architectures dynamiques reconfigurables

Approche manuelle [START_REF] Lange | On the design of twolevel reconfigurable architectures[END_REF] [16]

Approche automatisée [START_REF] Combemale | Metamodeling autonomic system management policies ongoing works[END_REF] [9] (Hagimont et al.,2008) [START_REF] Hagimont | Autonomic management policy specification in tune[END_REF] Figure 4: Architectures dynamiques reconfigurables

Une approche de conception des architectures reconfigurables à deux niveaux a été proposée par (Lange et Middendorf, 2005) [START_REF] Lange | On the design of twolevel reconfigurable architectures[END_REF]. Trouver la granularité optimale est un problème de conception central pour les architectures reconfigurables à deux niveaux. La solution proposée est une heuristique basée sur la fusion des deux ensembles d'une partition qui a des effets sur les coûts de l'hyper-reconfiguration. De même, deux approches automatisées de [START_REF] Combemale | Metamodeling autonomic system management policies ongoing works[END_REF] [START_REF] Combemale | Metamodeling autonomic system management policies ongoing works[END_REF] et [START_REF] Hagimont | Autonomic management policy specification in tune[END_REF] [START_REF] Hagimont | Autonomic management policy specification in tune[END_REF] ont étudié les architectures logicielles à base de composants. Elles ont étudié la conception et l'implémentation d'un système autonome appelé Tune qui s'appuie sur un modèle de composants fournissant un soutien pour l'encapsulation de logiciels décrivant l'architecture du logiciel à gérer et à son déploiement dans l'environnement physique. Les expériences de [START_REF] Combemale | Metamodeling autonomic system management policies ongoing works[END_REF] [START_REF] Combemale | Metamodeling autonomic system management policies ongoing works[END_REF] avec Tune ont mis l'accent sur l'utilisation de XML (Extensible Markup Language) et UML pour profiter de nombreux outils open source par exemple TOPCASED basé sur Eclipse Toolkit pour la description des architectures. Ces expériences ont confirmé l'intérêt d'élever le niveau d'abstraction et de spécialiser la sémantique UML selon les exigences du champ considéré. [START_REF] Hagimont | Autonomic management policy specification in tune[END_REF] [START_REF] Hagimont | Autonomic management policy specification in tune[END_REF] ont développé un outil pour la description de wrapper basé sur le langage de description d'encapsulation (Wrapping Description Language) pour spécifier le comportement des encapsulations. Ces travaux ont étudié l'aspect dynamique pour les architectures logicielles à base de composants. Seulement, ils n'ont pas introduit un processus clair pour la modélisation multi-niveau et le raffinement de ces architectures reconfigurables.

Selon cette étude, plusieurs travaux ont été menés pour la modélisation multi-niveau des architectures logicielles par la définition d'une notation visuelle et unifiée en se basant sur le profil UML. Mais, ces travaux qui ont intérêt essentiellement à la description du paradigme multi-niveau n'ont pas précisé la relation entre les différents niveaux de l'architecture dans un système logiciel multi-niveau. Le concept de raffinement a été absent pour les méthodes semiformelles. Les techniques formelles et plus précisément les travaux menés sur les transformations de graphe permettent de raffiner l'architecture logicielle mais ces travaux exigent toujours un certain niveau d'aptitude mathématique. Nous avons noté également que peu de travaux présentent un processus clair, un environnement adéquat pour la description multi-niveau des architectures logicielles dynamiques.

DESCRIPTION DES ARCHITECTURES MULTI-ÉCHELLES ET MULTI POINTS DE VUE

Application de l'approche

Après cette analyse préalable des différents travaux existants, nous présentons notre approche de description multiéchelles et multi points de vue pour les architectures logicielles dynamiques qui cherche à combiner plusieurs formalismes en profitant de leurs avantages et en essayant d'apporter des solutions à leurs limites. Nous allons considérer un nombre d'échelles fixe et préciser les notations pour chaque échelle considérée. Nous proposons la description de notre méthodologie à travers un tableau à deux dimensions dont les lignes présentent les échelles et les colonnes présentent les points de vue d'une échelle considérée (voir figure 5).

Figure 5: Application de l'approche

Nous considérons à l'échelle 0 toute l'application et nous la représentons sous forme d'un seul composant en lui attribuant un nom de l'application. Nous procédons à un raffinement du modèle pour passer à une nouvelle échelle qui permet de fournir des détails supplémentaires sur le composant générique de l'échelle 0. L'échelle 1 admet deux points de vue : Le premier point de vue représente les types de composants inclus dans l'application entière. Nous utilisons le type de composant comme étant la définition abstraite d'une entité logicielle pour la description de notre style architectural. Le deuxième point de vue procédé par un raffinement du modèle de la même échelle offre plus de détails sur les relations entre ces types de composants. Nous présentons ces relations selon le deuxième point de vue de l'échelle 1 sous forme d'associations entre les types de composants. Finalement, nous présentons à l'échelle 2 deux points de vue. Un premier raffinement donne lieu au point de vue 1 de l'échelle 2 qui représente un composant composite pour chaque type de composants de l'application. Un deuxième raffinement met en relief un point de vue 2 de l'échelle 2 et permet de passer aux détails de chaque composant composite des types de composants en ajoutant les connexions établies entre eux. En effet, chaque association reliant deux types de composant au point de vue 2 de l'échelle 1 est raffinée en une connexion plus détaillée au point de vue 2 de l'échelle 2. Le deuxième point de vue consiste donc à identifier pour chaque composant composite, la liste de ses ports et de ses interfaces ainsi que la liste des connexions. Pour chaque connexion, il faut identifier le type de composant source et le type de composant destinataire. De ce fait, nous pouvons extraire les règles de passage entre les échelles et les points de vue de la même échelle. • Raffinement du modèle de la même échelle (différents points de vue) Le passage d'un point de vue 1 à un point de vue 2 de la même échelle signifie l'ajout des relations établies entre les types de composants à l'échelle 1 et entre les composants composites d'un type de composant à l'échelle 2.

A l'échelle 1, chaque Type-Composant interagit avec son environnement par l'intermédiaire de ses ports. La cardinalité [1..*] entre les méta-classes Type-Composant et Port exprime qu'un composant peut avoir un ou plusieurs ports. Une première règle gère le passage du point de vue composant au point de vue association.

A l'échelle 2, le premier point de vue consiste à identifier les composants composites des types de composants. Le deuxième point de vue consiste à spécifier davantage les détails sur le type de chacune des associations établies entre les types de composants. Une deuxième règle gère le passage de point de vue composant au point de vue connexion qui sera plus spécifique que le point de vue association. Chaque Type-Composant a une ou plusieurs interfaces fournies et/ou requises exposées par l'intermédiaire de ports.

La méta-classe Port représente le point d'interaction pour un composant. La méta-classe Interface représente l'interface d'un composant. Une interface peut être soit de type fourni '+=Fournie' ou requis '+=requise'. La méta-classe Connecteur définit un lien qui rend possible la communication entre deux ou plusieurs composants.

La méta-classe Type Connecteur spécifie deux types de connecteurs : les connecteurs de délégation et les connecteurs d'assemblage. Un connecteur de type délégation qui exprime un lien entre deux composants partant d'une interface requise vers une interface requise ou d'une interface fournie vers une interface fournie. Un connecteur de type assemblage qui exprime un lien entre deux composants partant d'une interface requise vers une interface fournie (HajdKacem et al., 2010) [START_REF] Kallel | Modeling and enforcing invariants of dynamic software architectures[END_REF]. Pour chaque composant composite, il faut également identifier la liste de ses ports et de ses interfaces ainsi que la liste des connexions établies entre eux.

Illustration de l'approche : Étude de cas des OIU

Afin d'illustrer notre approche, nous considérons les systèmes de gestion d'intervention d'urgence et des crises (ER-CMS) que nous traitons en détail à travers l'étude de cas des opérations d'intervention d'urgence (OIU).

Les OIU impliquent des groupes structurés de participants communicants et coopérants afin de réaliser une mission commune (Par exemple: lutter contre les incendies et sauver les vies humaines). Les éléments de l'architecture possèdent différents rôles et disposent de ressources inégales en énergie et en capacités de communication. Ils sont déployés sur des machines fixes et mobiles et communiquent à travers des réseaux filaires et sans fil (Drira, 2010) [START_REF] Bouassida | Semantic driven self-adaptation of communications applied to ercms[END_REF].

Les relations de communication entre les participants évoluent tout au long de la mission pour s'adapter au processus de raffinement entre les échelles et au niveau de la même échelle. Le système de communication doit faire face aux imprévus ou à l'évolution des besoins des utilisateurs. Pendant la mission, les étapes d'exécution de l'activité sont: la phase d'exploration du champ d'investigation pour la localisation et l'identification de la situation d'urgence et la phase d'action après la découverte d'une situation critique et l'identification des événements.

Nous définissons les différents rôles des participants: Le superviseur de la mission, les coordinateurs et les investigateurs sur le terrain. Chaque groupe d'investigateurs est supervisé par un coordinateur. Chaque participant est associé à un identifiant, à un rôle et aux différentes fonctions qu'il remplit.

Ainsi, les participants à une OIU sont les suivants : Un superviseur qui gère l'ensemble des coordinateurs supervise toute l'application et attend des rapports de En s'appuyant sur cette étude de cas, nous procédons le passage du niveau style au niveau instance à travers la figure 7.

A l'échelle 0, nous associons l'instance d'une application de gestion d'intervention d'urgence (OIU). Nous présentons également les instances de ces deux points de vue de l'échelle 1. En effet, les trois participants d'une équipe d'Intervention d'Urgence sont représentés selon le premier point de vue de l'échelle 1 par les trois types composants qui sont le superviseur, le coordinateur et l'investigateur. Ces trois participants communiquent entre eux. Le deuxième point de vue présente ces relations sous forme d'associations à travers les ports. Nous illustrons également les instances de ces deux points de vue. En effet, un superviseur gère un ensemble de coordinateurs et chaque coordinateur dirige une section d'investigateurs. Ainsi, le point de vue 1 de l'échelle 2 représente trois composants composites de type superviseur, coordinateur et investigateur composant les trois par- Il fournit une composante de génération et d'exécution des infrastructures ce qui permet le développement rapide des éditeurs graphiques basés sur les frameworks EMF et GEF. Notre plug-in permet de créer un diagramme éditeur pour la conception d'un style architectural. Pour dessiner un élément graphique, il suffit de le tirer de la palette d'outils et de le mettre dans la partie éditeur de diagramme selon la technologie drag-and-drop. Nous allons ainsi, créer une instance de l'application, telle que le ferait un de ses futurs utilisateurs : nous allons, dans le cas de notre exemple, créer une instance de l'application de gestion des OIU que nous avons déjà détaillée.

IMPLÉMENTATION ECLIPSE

A l'échelle 0, nous avons intégré un seul composant OIU (figure 8)

A l'échelle 1, nous avons présenté les 3 composants : Superviseur, Coordinateur et Investigateur. Chacun d'entre eux possède un ensemble de ports et d'interfaces Ainsi, nous A l'échelle 2, nous avons présenté notre style Nom-Application OIU avec les trois types de composants comprenant chacun un composant composite selon le premier point de vue puis nous avons ajouté les connexions établies entre eux selon le deuxième point de vue de cette échelle considérée.

Ainsi, notre plug-in Eclipse nous permet de représenter graphiquement notre approche de description des architectures multi-échelles et multi points de vue (figure 9) Notre plug-in est exporté sous forme des fichiers archives Jar. Ces fichiers seront intégrés avec l'installation standard d'Eclipse. Le concepteur peut l'utiliser en l'intégrant dans Eclipse avec ses dépendances. Le plug-in sera donc intégré dans l'interface de l'Eclipse. Le concepteur peut maintenant décrire son architecture par l'éditeur fourni.

CONCLUSION ET PERSPECTIVES

Dans le cadre des travaux issus des domaines des architectures dynamiques, nous avons passé en revue l'état de l'art et nous avons étudié la littérature concernant les domaines de recherche abordés. Nous avons spécifié, en effet, quelques approches de modélisation des architectures multi-niveaux, multicouches, multi-vues et multi-styles ainsi que quelques méthodes de raffinement des architectures.

Ainsi, nous avons présenté au niveau conceptuel notre approche de description multi-échelles et multi points de vue pour les architectures logicielles dynamiques et nous avons proposé des notations visuelles, par extension des notations UML, pour les échelles et les points de vue au niveau du style de l'architecture.

Finalement, nous avons présenté le niveau d'instances sous un plug-in Eclipse qui implémente notre approche et la valide à travers une étude de cas détaillée des OIU. En effet, le développement de notre outil Eclipse a démontré que l'ajout de nouvelles fonctionnalités était souvent possible une fois l'apprentissage des cadres de développement Eclipse et GEF complétés. Nous n'avons eu qu'un seul problème de performance sérieux, et il était lié à la reconstruction trop fréquente des propriétés lorsque nous modifions des éléments. Ceci ralentissait parfois l'avancement du travail.

Nous travaillons actuellement sur l'amélioration de la démarche de validation de notre approche en se basant sur

Figure 3 :

 3 Figure 3: Méthodes de raffinement de l'architecture

Figure 6 :

 6 Figure 6: Étude de cas d'une OIU Pendant la mission, les communications entre les participants est un élément clé pour la collaboration. La gestion des communications permet de s'assurer du bon déroulement de la mission. Dans le scénario ERCMS, on distingue deux types de flux : le flux de coordination et le flux de coopération (Informations, demandes, suggestions). Le flux de coordination est entre les investigateurs et leur coordinateur correspondant ainsi qu'entre les coordinateurs et le superviseur. Les investigateurs transmettent des informations de coordination pour le coordinateur correspondant. Les participants doivent observer le champ d'investigation et rapporter sur ce qui est observé. Le flux de coopération est soit entre les investigateurs du même groupe (par exemple : entre 2 robots ou 2 pompiers) soit entre les investigateurs de différents groupes (par exemple : entre un pompier et un avion).En s'appuyant sur cette étude de cas, nous procédons le passage du niveau style au niveau instance à travers la figure7.A l'échelle 0, nous associons l'instance d'une application de gestion d'intervention d'urgence (OIU). Nous présentons également les instances de ces deux points de vue de l'échelle 1. En effet, les trois participants d'une équipe d'Intervention d'Urgence sont représentés selon le premier point de vue de l'échelle 1 par les trois types composants qui sont le superviseur, le coordinateur et l'investigateur. Ces trois participants communiquent entre eux. Le deuxième point de vue présente ces relations sous forme d'associations à travers les ports. Nous illustrons également les instances de ces deux points de vue. En effet, un superviseur gère un ensemble de coordinateurs et chaque coordinateur dirige une section d'investigateurs. Ainsi, le point de vue 1 de l'échelle 2 représente trois composants composites de type superviseur, coordinateur et investigateur composant les trois par-

Figure 7 :

 7 Figure 7: Illustration de l'approche

Figure 8 :

 8 Figure 8: Représentation de l'échelle 0 dans le plugin Eclipse

Figure 9 :

 9 Figure 9: Implémentation

•

  Raffinement du modèle entre les différentes échelles L'échelle 0 considère l'application entière représentée par le stéréotype unique Nom-Application qui décrit le nom de l'application à spécifier. L'unicité est représentée par la cardinalité [1]. Le passage d'une échelle à une autre permet de fournir des détails supplémentaires sur le composant générique Nom-Application . L'échelle 1 comprend la méta-classe Type-Composant. Elle spécifie l'ensemble des types de composants qui constituent l'application. Cette spécification est décrite en utilisant la notation UML 2.0. La multiplicité est représentée par la cardinalité [2..*] car une application comprend au moins deux types de composants. L'échelle 2 comprend la méta-classe Type-Composant éventuellement composée de plusieurs composants composites décrits par la méta-classe Composant-Composite. Ces derniers représentent une partie modulaire des types de composants de l'application et sont restreints à la cardinalité [1..*]. Le passage d'une échelle à une autre permet de fournir plus de détails sur les propriétés de types de composants.

Investigateurs Coordinateurs Groupe Robots Groupe Avions Investigateurs Groupe Pompiers

	et de pompiers.
	tous ses coor-
	dinateurs. Plusieurs coordinateurs dont chacun d'entre eux
	dirige une section d'investigateurs. Leurs fonctions est de
	collecter, interpréter et synthétiser les informations reçues
	des investigateurs et les diffuser vers le superviseur. Plusieurs
	sections d'investigateurs qui agissent pour aider, sauver et
	réparer. Ils explorent le champ opérationnel, observent,
	analysent et font un rapport décrivant la situation.
	Nous illustrons dans la figure 6 un superviseur, trois types
	de coordinateurs qui sont le coordinateur de robots, le co-
	ordinateur d'avions, et le coordinateur de pompiers et trois
	types d'investigateurs qui sont des groupes de robots, d'avions


G J Machado

S Clain

R M S Pereira

Very high-order finite volume scheme for 1D convection diffusion problem: the implicit case

Keywords: Finite Volume, very high-order, transient convection-diffusion, Polynomial Reconstruction Operator (PRO)

We present a fourth-order in space, second-order in time finite volume scheme for transient convection diffusion problem based on the Polynomial Reconstruction Operator and a Crank-Nicholson method. A detailed description of the scheme is provided and we perform numerical tests to highlight the performance of the method in comparison with the classical Patankar method.

Introduction

Efficient numerical schemes to solve convection diffusion equations is a constant challenge due to the wide range of problems which concern the coupling of the two major physical phenomena. Finite difference and finite element methods are very popular to produce numerical approximations ( [START_REF] Chen | Finite element methods and their applications[END_REF][START_REF] Grossmann | Numerical treatment of partial differential equations[END_REF][START_REF] Tveito | Introduction to partial differential equations: a computational approach[END_REF]) and a lot of academic and commercial codes are based on such techniques. The finite volume method for convection diffusion equations has been introduced in the sixties ( [START_REF] Samarskii | On monotone difference schemes for the elliptic and parabolic equations in the case of a non-sef-adjoint elliptic operator[END_REF][START_REF] Tichonov | Homogeneous difference schemes on nonuniform nets[END_REF]) but did not receive attention during three decades whereas the finite element method has known a wide expansion. In the early eighties, the finite volume method reappeared with the original book of Patankar ([6]) for structured meshes and widely employed by engineers and physicists. Indeed, the method appears to be an interesting alternative due to its simplicity (one information per cell), the built-in conservative property, and the capacity to handle unstructured and non-conformal meshes. Important developments took place in this way and several classes of methods have been proposed. First, the original Patankar scheme for structured meshes has been extended to the non-structured case where an orthogonality condition is required to allow admissible diffusion flux (FV4 scheme [START_REF] Cai | On the finite volume element method[END_REF][START_REF] Cai | The finite volume element method for diffusion equations on general triangulations[END_REF][START_REF] Eymard | Finite volume approximation of elliptic problems and convergence of an approximate gradient[END_REF][START_REF] Eymard | The finite volume method, Handbook for Numerical Analysis[END_REF]). The diamond scheme based on a local reconstruction of the gradient on each edge has been introduced by [START_REF] Coudière | Convergence rate of a finite volume scheme for a two dimensional convection diffusion problem[END_REF][START_REF] Coudière | Convergence rate of a finite volume scheme for the linear convection-diffusion equation on locally refined meshes[END_REF][START_REF] Manzini | A finite volume method for advection-diffusion problems in convection-dominated regimes[END_REF] while a finite volume scheme based on primal and dual meshes (DDFV scheme) has been proposed and developed by [START_REF] Hermeline | A finite volume method for the approximation of diffusion operators on distorted meshes[END_REF][START_REF] Domelevo | A finite volume method for the Laplace equation on almost arbitrary twodimensional grids[END_REF][START_REF] Coudière | The discrete duality finite volume method for convection-diffusion problems[END_REF]. In the last six years, new techniques to design efficient finite volume schemes have been developed and a large proposal of numerical algorithms is now available such as the mixedhybrid schemes ( [START_REF] Droniou | A mixed finite volume scheme for anisotropic diffusion problems on any grid[END_REF][START_REF] Eymard | Benchmark on Anisotropic Problems. SUSHI: a scheme using stabilization and hybrid interfaces for anisotropic heterogeneous diffusion problems, FVCA5 -Finite Volumes for Complex Applications V[END_REF]), mimetic schemes ( [START_REF] Brezzi | Convergence of Mimetic Finite Difference Methods for Diffusion Problems on Polyhedral Meshes[END_REF][START_REF] Cangiani | Flux reconstruction and solution post-processing in mimetic finite difference methods[END_REF]), and schemes based on a local polynomial reconstruction ( [START_REF] Hernández | High-order finite volume schemes for the advection-diffusion equation[END_REF][START_REF] Ollivier-Gooch | A high-order-accurate unstructured mesh finite-volume scheme for the advection-diffusion equation[END_REF][START_REF] Toro | ADER finite volume schemes for nonlinear reaction-diffusion equations[END_REF]). Despite a constant effort to improve the schemes, a serious drawback of the finite volume method is the large amount of numerical viscosity and the weak convergence rate (at most second-order convergence). In the finite volume context, mean values are the fundamental data and the traditional (and implicit) identification "mean values = point-wise value at centroid" used by most of the authors is responsible of the discrepancy leading to, at most, a second-order scheme. The fact to reject such an identification is the crucial aspect of the presented method to provide fourth-order accuracy schemes. The main tool of the method is a local polynomial reconstruction in which the coefficients are determined from the mean values of the neighboring cells ( [START_REF] Clain | A high-order polynomial finite volume method for hyperbolic system of conservation laws with Multi-dimensional Optimal Order Detection (MOOD)[END_REF][START_REF] Clain | Multi-dimensional Optimal Order Detection (MOOD) -A very high-order Finite Volume Scheme for conservation laws on unstructured meshes[END_REF]). Another important issue is the choice of the reconstruction in function of the differential operator type. For the convective operator, we only employ internal values, i.e. mean-values on the cells, to determine the reconstructed polynomial function, whereas we introduce the Dirichlet conditions in the polynomial reconstruction employed in the diffusive operator to enforce the boundary conditions. This paper is devoted to a new class of finite volume schemes for transient convection-diffusion problem able to reach a fourth-order in space and second-order in time. We present the method for the one-dimensional case to detail the scheme with simple examples considering the convection-diffusion equation with the formulation

❇ t u ✁ ❇ x ♣a❇ x uq ❇ x ♣vuq ✏ f on Ω✂s0, T r u♣0, tq ✏ u lf ♣tq, u♣1, tq ✏ u rg ♣tq, u♣x, 0q ✏ u 0 ♣xq,
where Ω :✏s0, 1r, a (the diffusive coefficient) and v (the convective coefficient) are regular functions on Ω ✂ r0, T s with a♣x, tq ➙ α → 0, while f ✏ f ♣x, tq represents a regular source term.

The rest of the paper is as follows. The second section recalls the classical finite volume scheme for convectiondiffusion problem (namely the Patankar method). Then, we introduce several polynomial reconstructions in section three, while the fourth section is devoted to the high-order finite volume schemes. The next section concerns the numerical tests to show the scheme capacity to provide fourth-order in space and second-order in time accuracy both for the convective and the diffusive part of the operator. In the last section we present the conclusions and extensions.

Patankar finite volume schemes

To design the numerical schemes, we denote by T h a mesh of Ω constituted of cells K i :✏ rx i✁1④2 , x i 1④2 s, i ✏ 1, . . . , I, with centroid c i , where x 1④2 :✏ 0 and x i 1④2 :✏ x i✁1④2 h i , and set h r as the ratio between the length of two consecutive cells, that is h r :✏ h i ④h i 1 , i ✏ 1, 3, . . . , I ✁ 1 (cf. Fig. 1). In the same way, we consider a

h i x1 2 ≡ 0 K 1 c 1 x3 2 x i-1 2 K i c i x i+ 1 2 x I-1 2 K I c I x I+ 1 2 ≡ 1
Figure 1: Mesh, cells and interface notations subdivision ♣t n q n✏0,...,N of the time interval r0, T s with t n 1 :✏ t n δ n 1④2 .

In the finite volume context, u i denotes an approximation of the mean value over cell K i , that is

u n i ✓ 1 h i ➺ Ki u♣x, t n q dx,
and vector U n ✏ ♣u n 1 , . . . , u n I q T R I is the vector of the unknowns at time t n . For the sake of consistency, we recall the Patankar scheme. For each interface x i 1④2 , i ✏ 0, . . . , I, we define the diffusive and the convective fluxes for any vector U R I by

F P diff,i 1 2 ♣Uq :✏ a♣x i 1 2 q 2♣u i 1 ✁ u i q ♣h i h i 1 q (1)
and

F P conv,i 1 2 ♣Uq :✏ rv♣x i 1 2 qs u i rv♣x i 1 2 qs ✁ u i 1 , (2)
respectively, where we have set h 0 :✏ 0, h I 1 :✏ 0, u 0 ✏ u lf , u I 1 ✏ u rg and we used the notation rαs :✏ ♣α ⑤α⑤q④2, rαs ✁ :✏ ♣α✁⑤α⑤q④2. Note that we have skip the time index for the sake of simplicity. Then we defined the finite volume operator for cell K i associated to the Patankar fluxes ( 1)-( 2) by

G P i ♣U; u lf , u rg , f q :✏ ✁ ✑ F P diff,i 1 2 ♣Uq ✁ F P diff,i✁ 1 2 ♣Uq ✙ ✑ F P conv,i 1 2 ♣Uq ✁ F P conv,i✁ 1 2 ♣Uq ✙ ✁ h i f i , (3)
where f i is an approximation of the mean value of f over cell K i , that is

f i ✓ 1 h i ➺ Ki f dx.
Using expression (3), we define the semi-discrete problem: find U ♣tq ✏ ♣u 1 ♣tq, . . . , u I ♣tqq T such that dU dt

G P ♣U; u lf , u rg , f q ✏ ♣0, . . . , 0q T U ♣0q ✏ U 0 , u 0 ♣tq ✏ u lf ♣tq, u I 1 ♣tq ✏ u rg ♣tq, with U 0 :✏ ♣u 0 1 , . . . , u 0 I q t , u 0 i :✏ 1 h i ➺ Ki u 0 dx, i ✏ 1, . . . , I,
and

G P ♣U; u lf , u rg , f q :✏ G P 1 ♣U; u lf , u rg , f q, . . . , G P I ♣U; u lf , u rg , f q ✟ T R I
being the finite volume operator for the mesh T h . The three classical time discretizations are

• the explicit scheme:

H P ♣U n 1 ; U n , u lf , u rg , f q :✏ U n 1 ✁ U n δ n 1④2
G P ♣U n ; u lf , u rg , f q;

• the implicit scheme:

H P ♣U n 1 ; U n , u lf , u rg , f q :✏ U n 1 ✁ U n δ n 1④2 G P ♣U n 1 ; u lf , u rg , f q;
• the Crank-Nicholson scheme:

H P ♣U n 1 ; U n , u lf , u rg , f q :✏ U n 1 ✁ U n δ n 1④2
1 2

G P ♣U n ; u lf , u rg , f q 1 2 G P ♣U n 1 ; u lf , u rg , f q.
In each case, one has to determine the vector U n 1 solution of the affine problem

H P ♣U; U n , u lf , u rg , f q ✏ 0, U R I .

The polynomial reconstructions

The main tool to provide very high-order approximations is the construction of a specific polynomial approximation.

In the sequel, we shall consider two kinds of reconstructions. For each cell K i , i ✏ 1, . . . , I, we denote by ν♣iq the stencil associated to it such that i | ν♣iq, i.e. a set of neighboring cells, and by u i ♣x; ν♣iq, dq P d the polynomial reconstruction on cell K i of degree d based on the stencil ν♣iq.

In practice, we build the stencil ν♣iq in function of the polynomial degree d we shall reconstruct picking up the nearest d 1 cells to K i . A difficulty arises when dealing with cells which share a point with the boundary. The two proposed reconstructions vary in the manner that the boundary conditions are considered.

3.1 Design of polynomial ♣ u i ♣x; ν♣iq, dq For each cell K i , i ✏ 1, . . . , I, we consider the polynomial expression (we skip the ν♣iq reference for the sake of simplicity)

♣ u i ♣x; dq :✏ u i d ➳ α✏1 ♣ R i α ✒ ♣x ✁ c i q α ✁ 1 h i ➺ Ki ♣x ✁ c i q α dx ✚ , where the coefficients ♣ R i α , α ✏ 1, . . . , d, are the minimizers of the functional ♣ E ✁ ♣ R i α ✠ :✏ ➳ jν♣iq ✓ 1 h j ➺ Kj ♣ u i ♣x; dq dx ✁ u j ✛ 2
, i ✏ 1, . . . , I.

To provide the numerical flux at the boundary for the convective flux, we use the extension ♣ u 0 :✏ u lf and ♣ u I 1 :✏ u rg and we denote by ♣ P♣U ; dq ✏ ♣♣ u 0 ♣x; dq, . . . , ♣ u I 1 ♣x; dqq T the vectorial function on Ω associated to the ♣ u polynomial reconstruction.

3.2 Design of polynomial r u i ♣x; ν♣iq, dq For all the cells K i , i ✏ 1, . . . , I, we use the same polynomial function of the previous subsection, that is,

r u i ♣x; dq :✏ u i d ➳ α✏1 r R i α ✒ ♣x ✁ c i q α ✁ 1 h i ➺ Ki ♣x ✁ c i q α dx ✚ . For i ✏ 2, . . . , I ✁ 1,we set r R i α :✏ ♣ R i α .
To provide the reconstructed polynomial function for i ✏ 1, we slightly modify the functional introducing the boundary condition, that is,

r E ✁ r R 1 α ✠ :✏ ♣r u 1 ♣0q ✁ u lf q 2 ➳ jν♣0q ✓ 1 h j ➺ Kj r u 1 ♣x; dq dx ✁ u j ✛ 2
, where we set ν♣0q :✏ ν♣1q ✁ tlast cell of ν♣1q✉. In the same way, we compute the last polynomial by minimizing functional

r E ✁ r R I α ✠ :✏ ➳ jν♣I 1q ✓ 1 h j ➺ Kj r u I ♣x; dq dx ✁ u j ✛ 2 ♣r u I ♣1q ✁ u rg q 2 ,
where now we set ν♣I 1q :✏ ν♣Iq ✁ tfirst cell of ν♣Iq✉. We also introduce the polynomials r

u 0 :✏ r u 1 , r u I 1 :✏ r u I
and denote by r P♣U ; dq ✏ ♣r u 0 ♣x; dq, . . . , r u I 1 ♣x; dqq T the vectorial function on Ω associated to the r u polynomial reconstruction.

PRO finite volume schemes 4.1 Finite volume formulation

The design of the finite volume schemes is based on the Polynomial Reconstruction Operator (PRO-FV-scheme).

We use the r P♣U ; dq reconstruction to approximate the diffusion flux while the polynomial reconstruction ♣ P♣U ; dq is considered to compute the convective contribution. At last, the diffusive and the convective fluxes write, with i ✏ 0, . . . , I,

F PRO diff,i 1 2 ♣U; u lf , u rg , f, dq :✏ a♣x i 1 2 q r u ✶ i ♣x i 1 2 ; dq r u ✶ i 1 ♣x i 1 2 ; dq 2 and F PRO conv,i 1 2 ♣U; u lf , u rg , f, dq :✏ rv♣x i 1 2 qs ♣ u i ♣x i 1 2 ; dq rv♣x i 1 2 qs ✁ ♣ u i 1 ♣x i 1 2 ; dq, respectively.
Based on the polynomial reconstruction and the definition of the fluxes, we now introduce the affine operator U Ñ G PRO ♣U; u lf , u rg , f, dq, from R I into R I given component by component by:

G PRO i ♣U; u lf , u rg , f, dq :✏ ✁ ✑ F PRO diff,i 1 2 ♣U; u lf , u rg , f, dq ✁ F PRO diff,i✁ 1 2 ♣U; u lf , u rg , f, dq ✙ ✑ F PRO conv,i 1 2 ♣U; u lf , u rg , f, dq ✁ F PRO conv,i✁ 1 2 ♣U; u lf , u rg , f, dq ✙ ✁ h i f i .

The semi-discrete formulation

Once again we consider U as a function of time from r0, T s into R I , that is, U ♣tq ✏ ♣u 1 ♣tq, . . . , u I ♣tqq T , and we naturally extend the two polynomial reconstruction operators ♣ P♣U ♣tq; dq and r P♣U ♣tq; dq as a time parameter reconstruction providing polynomial functions for any time t. We then define the finite volume semi-discretization of order d by

H PRO ♣U; u lf , u rg , f, dq :✏ dU dt G PRO ♣U; u lf , u rg , f, dq.
The semi-discrete problem consists in solving the affine system of I differential equations with the initial condition

U ♣0q ✏ ♣u 0 1 , . . . , u 0 I q T .

Time discretization

As in the Patankar case, we introduce the three classical time discretizations, namely

• the explicit scheme:

H PRO ♣U n 1 ; U n , δ n 1④2 , u lf , u rg , f, dq :✏ U n 1 ✁ U n δ n 1④2
G PRO ♣U n ; u lf , u rg , f, dq;

• the implicit scheme:

H PRO ♣U n 1 ; U n , δ n 1④2 , u lf , u rg , f, dq :✏ U n 1 ✁ U n δ n 1④2
G PRO ♣U n 1 ; u lf , u rg , f, dq;

• the Crank-Nicholson scheme:

H PRO ♣U n 1 ; U n , δ n 1④2 , u lf , u rg , f, dq :✏ U n 1 ✁ U n δ n 1④2 1 2 G PRO ♣U n ; u lf , u rg , f, dq 1 2 G PRO ♣U n 1 ; u lf , u rg , f, dq.
In each case, one has to determine the vector U n 1 solution of the affine problem

H PRO ♣U; U n , δ n 1④2 , u lf , u rg , f, dq ✏ ♣0, . . . , 0q T , U R I .

Numerical tests

Numerical simulations have been carried out to check the convergence order of the methods and show its effectiveness. Two kinds of convergence has to be investigated: one with respect to space discretization and the other with respect to time discretization.

In the following subsections, the error between the solution and its approximation is provided with L ✽ norm since we deal with regular functions, namely

E 0 :✏ I max i✏1 ⑤u N i ✁ u N i ⑤,
where

U :✏ ♣u N 1 , . . . , u N I q, u N i :✏ 1 h i ➺ Ki u♣x, T q dx,
are the exact mean values of the solution of the continuous problem at time t ✏ T . Note that E 0 does not depend on the polynomial reconstruction but just on the mean values.

For the sake of simplicity, we consider a uniform dsicretization in space and time controlled by parameters h and ∆t so we set h :✏ h i ✏ 1 I , i ✏ 1, . . . , I, and δ n 1④2 :✏ ∆t, n ✏ 0, . . . , N . We will present two examples. In both of them, we have as the analytical solution u♣x, tq ✏ sin♣2πxq exp♣✁tq. We take a♣xq ✏ 1 and v ✏ 0 to provide a pure diffusion problem in the first example, while we consider a convection diffusion problem with a♣xq ✏ 1 and v ✏ 1 in the second one. All the computations are performed using the Crank-Nicholson scheme in time till we reach the final time T ✏ 0.1.

Example 1

As mentioned above, we first start with the transient diffusion equation. To measure the convergence rate deriving from the Crank-Nicholson method, we fix the number of cells large enough to guaranty a smaller error for the space approximation than the error deriving from the scheme in time. As expected, Table 1 shows that we get a secondorder convergence both for the Patankar and the PRO-P 3 (see the convergence curve in Figure 2). Note that we need 3200 cells to eliminate the error in space for Patankar while we only use 120 cell with the PRO-scheme. Another point is the better condition number of the linear system when using the PRO-scheme. 1).

We now check the convergence rate in space. To this end, we fix the time step small enough to ensure a neglected error in time. We obtain a predominant mass matrix leading to a small conditioning number but we need large number of iterations to reach the final time T . As shown in Table 2, we obtain a second-order scheme with the Patankar method, whereas an accurate and effective fourth-order is achieved with the PRO-P 3 scheme. For 160 cells the error is cut by around 1000 with a smaller computational effort (see Figure 3 for the convergence curves). 2).

Since the schemes in time and space have not the same order, it is numerically important to adapt the time step with the space step. For the Patankar scheme with Crank-Nicholson method, we have both a second-order scheme so we set ∆t ✏ h. Since the PRO-P 3 provides a fourth-order in space, we set ∆t ✏ h 2 and expect a fourth-order convergence. Table 3 confirms the good choice of the time step and we get a global second-order scheme with Patankar and a global fourth-order scheme with the PRO method.

Example 2

The second example deals with the transient convection diffusion problem with a♣xq ✏ 1 and v ✏ 1, and we choose the right-hand side term such that u♣xq ✏ sin♣2πxq exp♣✁tq is the solution. Based on the previous numerical experiences, we use ∆t ✏ h for the Patankar-Crank-Nicholson scheme and ∆t ✏ h 2 for the PRO-Crank-Nicholson scheme. We print out in Table 4 the global convergence rate and obtain a first-order rate of convergence for the classical method due to the rough discretization of the convective part (just an upwind method). We obtain an effective fourth-order convergence with the PRO scheme which highlights the effectiveness of the method.

Conclusion

We have presented a new finite volume method for one-dimensional convection-diffusion problem which provides very high-order accuracy. Numerical simulations have been carried out to prove the capacity of the method to effectively reach the fourth-order accuracy. Several extensions are under consideration. The two-and three-dimensional case is of course of crucial importance, but we will also investigate the schemes for both Dirichlet and Neumann boundary conditions. Another difficulty concerns the solution stability when dealing with rough data. A strategy based on the MOOD method ( [START_REF] Clain | A high-order polynomial finite volume method for hyperbolic system of conservation laws with Multi-dimensional Optimal Order Detection (MOOD)[END_REF][START_REF] Clain | Multi-dimensional Optimal Order Detection (MOOD) -A very high-order Finite Volume Scheme for conservation laws on unstructured meshes[END_REF]) is currently being developed.

Figure 2 :

 2 Figure 2: Example 1 -convergence curves of E 0 in time for a fixed value of I: I ✏ 3200 for the Patankar scheme and I ✏ 120 for the PRO-FV-scheme P 3 (cf.Table 1).

Figure 3 :

 3 Figure 3: Example 1 -convergence curves of E 0 in space for a fixed value of ∆t♣✏ 1④1600q (cf.Table 2).

Table 1 :

 1 Example 1 -convergence in time.

	∆t	Patankar, I ✏ 3200	P 3 , I ✏ 120
		k♣Aq	E 0	k♣Aq	E 0
			err	ord	err	ord
	1/10 1.4E 06 1.6E✁03 NA 1.7E 03 1.6E✁03 NA
	1/20 8.2E 05 2.9E✁04 2.5 1.0E 03 2.9E✁04 2.5
	1/40 4.6E 05 7.1E✁05 2.0 5.7E 02 7.0E✁05 2.1
	1/80 2.4E 05 1.7E✁05 2.0 3.0E 02 1.7E✁05 2.1
	1/160 1.2E 05 4.1E✁06 2.0 1.6E 02 3.7E✁06 2.2

Table 2 :

 2 Example 1 -convergence in space with fixed ∆t ✏ 1④1600.

		I	k♣Aq	E 0
				err	ord
		20 1.5E 00 7.4E✁03 NA
		40 3.0E 00 1.9E✁03 2.0
	Patankar	80 9.0E 00 4.7E✁04 2.0 160 3.3E 01 1.2E✁04 2.0
		20 1.4E 00 1.8E✁03 NA
		40 2.7E 00 7.2E✁05 4.7
	P 3	80 8.0E 00 3.7E✁06 4.3 160 2.9E 01 1.7E✁07 4.4

Table 3 :

 3 Example 1 -convergence in space.

		I	k♣Aq	E 0
				err	ord
		10 1.4E 01 4.0E✁02 NA
	Patankar ♣∆t ✏ hq	20 3.3E 01 7.3E✁03 2.5 40 7.2E 01 1.8E✁03 2.0
		80 1.5E 02 4.5E✁04 2.0
		160 3.1E 02 1.1E✁04 2.0
		10 2.6E 00 3.9E✁02 NA
	P 3 ♣∆t ✏ h 2 q	20 2.7E 00 1.8E✁03 4.4 40 2.7E 00 7.2E✁05 4.7
		80 2.7E 00 3.7E✁06 4.3
		160 2.7E 00 2.1E✁07 4.1

Table 4 :

 4 Example 2 (u♣xq ✏ sin♣2πxq exp♣✁tq, a♣xq ✏ 1, v ✏ 1) with Crank-Nicholson

		I	k♣Aq	E 0
				err	ord
		10 1.4E 01 2.1E✁02 NA
	Patankar ♣∆t ✏ hq	20 3.3E 01 1.5E✁02 0.5 40 7.3E 01 9.9E✁03 0.6
		80 1.5E 02 5.5E✁03 0.9
		160 3.1E 02 2.9E✁03 0.9
		10 2.7E 00 3.3E✁02 NA
	P 3 ♣∆t ✏ h 2 q	20 2.8E 00 1.7E✁03 4.2 40 2.8E 00 7.2E✁05 4.6
		80 2.8E 00 4.0E✁06 4.2
		160 2.8E 00 2.3E✁07 4.1

Acknowledgements: This research was financed by FEDER Funds through Programa Operacional Factores de Competitividade -COMPETE and by Portuguese Funds through FCT -Fundação para a Ciência e a Tecnologia, within the Project PEst-C/MAT/UI0013/2011.


Stéphane Louis Clain
email: clain@math.uminho.pt

Gaspar J Machado

Rui M S Pereira

A new very high-order finite volume method for the 2D convection diffusion problem on unstructured meshes

Keywords: Finite volume scheme, polynomial reconstruction, high-order scheme, convection diffusion

We present a new finite volume scheme based on the Polynomial Reconstruction Operator (PRO-scheme) for the linear convection diffusion problem with structured and unstructured meshes. We first design the numerical scheme for generic two-dimensional cells and introduce two kinds of polynomial reconstructions. Numerical experiences are carried out to prove the stability and the effectiveness of the method where a 6th-order convergence is reached.

INTRODUCTION

Numerical approximations of steady-state convection-diffusion problem are a constant challenge, namely the design of robust and efficient numerical schemes, whatever the Peclet number is (pure convection or pure diffusion). Classical and popular method such as the finite element or the finite difference methods are usually adopted to perform numerical approximation and their efficiency is well-known. Nevertheless, such methods suffer of several withdraws. First, since we evaluate point-wise approximations or its representation on a finite element basis, continuity of the solution is mandatory. In the finite volume framework, discontinuous solutions are also available since we consider mean values on cells. Another important aspect is the conservation property; the finite volume method has the built-in local conservation property whereas such a property is not guaranteed in the finite element or finite difference context.

Finite volume method has been mainly developed for hyperbolic problems as Euler system, Shallow Water, pure convection problems. Since the early eighties, the book of Patankar [START_REF] Patankar | Series in Computational Methods in Mechanics and Thermal Sciences[END_REF] was a constant reference in the framework of finite volume methods for structured meshes. In the two last decades, efforts have been done to propose efficient scheme for elliptic or parabolic problems where the conservation property is mandatory. Techniques such as the Diamond Cell method [START_REF] Coudière | Convergence rate of a finite volume scheme for a two dimensional convection diffusion problem[END_REF] and the DDFV method [START_REF] Manzini | A finite volume method for advection-diffusion problems in convectiondominated regimes[END_REF][START_REF] Domelevo | A finite volume method for the Laplace equation on almost arbitrary twodimensional grids[END_REF] have been introduced, and a mathematical analysis of such method is done in [START_REF] Eymard | The finite volume method, Handbook for Numerical Analysis[END_REF]. Unfortunately, most of the schemes are at most secondorder scheme and suffer of strong numerical diffusion reducing the approximation accuracy. Very few methods in the elliptic context reach very high accuracy [START_REF] Toro | ADER finite volume schemes for nonlinear reaction-diffusion equations[END_REF][START_REF] Ollivier-Gooch | A high-order-accurate unstructured mesh finite-volume scheme for the advection-diffusion equation[END_REF] (we mean more than the second-order). We propose a new class of numerical schemes to provide very high-order approximation for the steady-state convection diffusion problem with two-dimensional geometries and unstructured meshes. The two ingredients are, on the one hand, a polynomial reconstruction operator [START_REF] Clain | A high-order polynomial finite volume method for hyperbolic system of conservation laws with Multi-dimensional Optimal Order Detection (MOOD)[END_REF][START_REF] Clain | Improved detection criteria for the Multi-dimensional Optimal Order Detection (MOOD) on unstructured mesh with very high-order polynomials[END_REF] which produces local polynomial representations of degree 5 for each cell, and on the other hand, a finite volume method based on the local polynomial representations. The technique has been successfully tested for one-dimensional geometry [START_REF] Clain | Very high-order finite volume method for one-dimensional convection diffusion problems[END_REF] and we generalize it for the more complex 2D situation.

The paper is structured as follows. Section 2 presents the convection-diffusion problem we shall deal with and the geometrical ingredients we need to build the scheme. Section 3 is devoted to the Polynomial Reconstruction Operator which is the key-point of the method. We present in Section 4 the finite volume scheme. Numerical tests are presented in Section 5 to show the effectiveness of the method.

THE NUMERICAL PROBLEM

Let consider an open bounded domain with boundary . We consider the classical convection diffusion problem , where stands for the diffusion coefficient, represents the velocity and the outward normal vector on the boundary (see Fig. 1). Let us denote by a mesh constituted of polyhedral cells and by the edge which shares two cells and . We introduce the sets and as the collection of all the cells and all the edges respectively. Sets , and represent the inner edges and the edges on and , respectively. For each cell , we denote by

In the same way, we denote by a collection of cells associated to the generic cell named the stencil. Note that is different of but we shall require that for the sake of consistency. In the same way, for any edge , is a stencil constituted of cells belonging to the neighborhood of edge . To conclude the section, we highlight that in the finite volume framework the number of unknowns is equal to the number of cells, namely and we shall denote by an approximation of the mean value on cell , .

THE POLYNOMIAL RECONSTRUCTION OPERATOR (PRO)

For a given function defined on domain , and , we denote by the mean value of on cell , by the mean value of the Dirichlet condition on edge , and by the mean value of the Neumann condition on edge . In particular, for any cell of centroid or any edge of midpoint , we define the mean values of the polynomial function of degree on the cell or on the edge by respectively, where is a parameterization of edge , and and stand for the measure of the cell and the edge, respectively. We shall consider two kinds of polynomial reconstruction: the conservative and the nonconservative one.

Conservative reconstruction

Let us give a set of values , . We present two conservative reconstructions, one for the cells and the other for the edges. Let be a reference cell and the associated stencil. We consider the generic conservative polynomial reconstruction of degree on cell where and . The term conservative comes from the fact that by construction one has which means that we preserve the mean value over the reference cell.

Coefficients are determined by a least squares method with respect to the mean values on neighboring cells providing polynomial function . To this end we introduce the functional where are the positive weights associated to the functional and denote by the coefficients of the polynomial which minimizes . From a practical point of view, one has to solve an over-determined system where the matrix is only composed of geometrical issues performing a QR Householder decomposition to quickly solve the underlying least square problem.

We proceed in the same way with the edge. Let be a reference edge and the associated stencil, we consider the generic conservative polynomial reconstruction of degree on cell which preserves the mean value on the edge and introduce the similar functional Coefficients are determined by a least squares method with respect to the mean values on neighboring cells as before.

Non-conservative reconstruction

Let be an inner edge. Since we do not compute any approximation on the edge (except for the Dirichlet condition), the conservative polynomial reconstruction does not make sense in this case since no mean value should be associated to edge . Consequently, we introduce the non-conservative form namely Note that the sum start at 0 since the constant term is also an unknown. As previously, we determine the coefficients minimizing the functional and we denote by the coefficients of the polynomial which minimizes . Note that in both cases, one must have and greater than to obtain an over-determined system.

THE FINITE VOLUME SCHEME

Based on the polynomial reconstruction operator, we define the numerical convective and diffusive fluxes on edges where we denote by the Gauss points on the edge and the associated weight, . We warn the reader to well-distinguish conservative reconstruction with the non-conservative one . We have to distinguish three situations with regard the the inner or boundary edges.

 If , we define the flux from cell toward cell (direction ) as  If in an edge of cell , we define outward the flux from cell (direction ) as

Note that we use the Dirichlet condition for the inflow contribution and the conservative reconstruction for the diffusive part.

 If in an edge of cell , we just set

To define the finite volume scheme we introduce the operator. Consider a vector where each component is an approximation of the mean-value on cell , we then built all the associated polynomial reconstructions presented in the previous section and we define the operator Note that the known contribution (source term and Neumann condition) are introduced with the minus sign since we put all the balance equation terms on the left-side. Therefore, for a given vector , we define the affine operator and the steady-state solution satisfies the equation .

Since the operator is affine, there exists a matrix and a vector such that . Note that we do not know explicitly the associated matrix and the right-hand side term since we deal with a constructive procedure: form we compute the polynomial reconstruction, then the fluxes, then operator . To solve the system, we consider two ways. A first approach consists in computing numerically the matrix and the right-hand side noting that and where is the vector of the canonical basis with i-component equal to 1. Such a way is computational heavy but provides the full matrix and allows the eigenvalues analysis (positivity) and the conditioning number calculation. The alternative consists in applying an iterative routine such as GMRES, since the method only requires the computation of the residual which is exactly operator .

NUMERICAL TESTS

To check the numerical schemes effectiveness, we have carried out several numerical tests to compute the convergence rate of the method. The academic unit square domain is meshed with cells (triangles or quadrilaterals) to provide a discretization with respect to number of cells. For a given solution , we denote by the mean value approximation on cell while is the exact mean value. We introduce two types of errors: the and errors given by

A pseudo-1D test

We first consider a problem where we impose the solution invariant with respect to (pseudo 1D case). To this end, a pure diffusive problem with diffusion coefficient equal to 1 is investigated. Let and be the vertical and horizontal border respectively and set , we easily check that function is the unique solution of with as the source tem. We perform numerical simulations and compute errors in the (left) and

(right) norms employing several types of reconstruction and first deal with unstructured meshes. We use uniform weights for the convective reconstruction associated to each cell (one for all). For the diffusive flux based on the edges, we use a weight equal to 3 for the two cells sharing the edge while the other weights are equal to one. We plot in Table 1 the error and the convergences rates for the and norms. For the norm, we obtain a second-order convergence with PRO-P1, a fourth-order convergence with PRO-P3 and a sixth-order convergence with PRO-P5 as expected. Note that for the last mesh (1816 cells) the errors ratio between the P1 and P5 reconstructions is around 11000! With the norm, convergence rates are not so straight for the following reason: the norm is very restrictive since a unique value with larger error is enough to destroy the convergence rate. In practice, we have observed that only 1% of cells present an error of order to the norm while the other cells have an error of order to the norm. Just very few cells present a larger error. Currently, we do not know which mechanism is responsible of the extra error (matrix resolution, stencil, weight?). Figure 1 shows the approximation computed on an unstructured mesh while Figure 2 provides the convergence curves using the (left) and (right) norms in log-scale graph. We observe a regular decreasing of the error and the excellent convergence rate with the PRO-P5 method. We now turn to the case where we employ structured meshes in order to compare with the unstructured version.

We have meshed the domain with quadrilateral elements to provide a uniform grid very similar to the ones use for a 1D configuration. As in the previous case, we use uniform weights for the convective reconstruction associated to each cell. For the diffusive flux based on the edges, we use a weight equal to 3 for the two cells sharing the edge while the other weights are equal to one. We plot in Table 2 the error and the convergences rates for the and norms. As in the structured case, we obtain the expected convergence rate but this time both for the two norms with a slight degradation for the norms. One more time, only few cell present (less than 1%) presents a larger error. Note that for the last mesh (1560 cells) the errors ratio between the P1 and P5 reconstruction is around 8000! Figure 3: Numerical approximation with a structured mesh Figure 3 shows the approximation computed on a structured mesh while Figure 4 provides the convergence curves using the (left) and (right) norms in log-scale graph. We also observe a regular decreasing of the error and the excellent convergence rate with the PRO-P5 method. Note that the performance is very similar to the unstructured case.

A full 2D test

For a given constant velocity , we introduce the following functions:

One can easily check that function is the solution of the steady-state convection diffusion problem with , and homogeneous Dirichlet condition on the whole boundary. We perform numerical simulations and compute errors with the two norms for several meshes. We use uniform weights for the convective reconstruction associated to each cell. For the diffusive flux based on the edges, we use a weight equal to 3 for the two cells sharing the edge while the other weights are equal to 1. We plot in Table 3 the error and the convergences rates for the and norms. We obtain with the norm a second order-scheme for the PRO-P1, a fourth-order convergence rate with the PRO-P3 and a sixth-order rate with the PRO-P5. As mention above, the discrepancy with the norm derives from an extra error for a few cells. Note that for the last mesh (1928 cells) the errors ratio between the P1 and P5 reconstruction is around 33000! Figure 5: numerical approximation on an unstructured mesh.

We plot in Figure 5 the mesh with the approximate solution while the convergence curves are printed in Figure 6. As in the previous cases (pseudo-1D) we recover very good effective convergence rates with order very close to the expected (theoretical) ones.

CONCLUSION

In this short paper, we have presented a new finite volume method to provide very high-order approximation for the steady-state convection diffusion problem. We show effective convergences for simple examples using structured or unstructured meshes to prove the efficiency of the method. Lots of things remain to be done to provide a competitive method with respect to the classical ones (namely the finite element method), especially to reduce the error in norm, i.e., eliminate the few cell which provide an extra error. Non-stationary versions are under studies while a 3D version is a further goal.

Figure 1 -

 1 Figure 1 -Computational domain with Neumann and Dirichlet condition on the boundary.

Figure 1 :

 1 Figure 1: Numerical approximation with an unstructured mesh.

Figure 2 :

 2 Figure 2: Unstructured meshes case. Convergence rates in the (left) and (right) norms.

Figure 4 :

 4 Figure 4: Structured meshes case. Convergence rates in the (left) and (right) norms.

Figure 6 :

 6 Figure 6: Convergence rates in the (left) and (right) norms.

Table 1 :

 1 Errors

			in the	(left) and	(right) norms for three types of reconstructions: P1, P3, and P5.
	I	h e-02		PRO-P1			PRO-P3			PRO-P5
			-err	ord	-err	ord	-err	ord	-err	ord	-err	ord	-err	ord
	88	10.660 1.09e-01	-	3.00e-01	-	1.56e-02	-	7.86e-02	-	2.44e-03	-	1.57e-02	-
	202	7.036	3.74e-02 2.6 1.06e-01 2.5 2.50e-03 4,40 9.75e-03 5.0 2.52e-04 5.5 1.02e-03 6.6
	578	4.159	9.59e-03 2.6 5.15e-02 1.4 2.64e-04 4.27 9.64e-04 4.4 9.62e-06 6.2 5.24e-05 5.7
	1038	3.104	4.71e-03 2.4 2.24e-02 2.8 7.74e-05 4.29 3.30e-04 3.7 1.93e-06 5.5 1.17e-05 5.1
	1816	2.347	2.75e-03 1.9 1.46e-02 1.5 2.20e-05 4.51 1.78e-04 2.2 2.49e-07 7.3 2.53e-06 5.5

Table 2 :

 2 Errors in the (left) and (right) norms for three types of reconstructions: P1, P3, and P5. .09e-02 2.49 1.69e-01 3.23 4.12e-03 4.42 1.40e-02 4.30 7.28e-04 5.27 3.43e-03 3.85 380 5.219 2.77e-02 2.14 8.15e-02 1.98 7.68e-04 4.56 4.09e-03 3.35 6.45e-05 6.59 3.17e-04 6.46 756 3.636 1.28e-02 2.44 3.91e-02 2.14 1.68e-04 4.41 1.05e-03 3.96 8.16e-06 6.01 4.52e-05 5.67 1560 2.532 6.25e-03 1.98 2.08e-02 1.74 4.08e-04 3.91 2.98e-04 3.47 7.78e-07 6.48 5.32e-06 5.91

	I	h e-02	PRO-P1			PRO-P3			PRO-P5
		-err	ord	-err	ord	-err	ord	-err	ord	-err	ord	-err	ord
	90	10.54 1.46e-01	-	5.27e-01	-	1.96e-02	-	6.37e-02	-	4.65e-03	-	1.33e-02	-
	182	7.412 6

Table 3 :

 3 Errors

			in the	(left) and	(right) norms for three types of reconstructions: P1, P3, and P5.
	I	h e-02	PRO-P1			PRO-P3				PRO-P5
		-err	ord	-err	ord	-err	ord	-err	ord	-err	ord	-err	ord
	104	9.806 4.71e-04 -2.12e-03 -3.10e-05 -1.49e-04 -2.87e-06 -1.14e-05 -
	230	6.594 3.17e-04 1.0 1.36e-03 1.1 5.25e-06 4.5 5.68e-05 2.4 2.60e-07 6.1 1.52e-06 5.0
	452	4.703 2.11e-04 1.2 9.66e-04 1.0 1.78e-06 3.2 1.97e-05 3.1 6.14e-08 4.2 4.46e-07 3.6
	946	3.251 9.39e-05 2.2 4.79e-04 1.9 4.85e-07 3.5 6.89e-06 2.8 6.13e-09 6.2 5.25e-08 5.8
	1928 2.277 2.72e-05 3.4 2.42e-04 1.9 1.01e-07 4.4 2.23e-06 3.2 6.47e-10 6.3 9.10e-09 4.9

ACKNOWLEDGEMENTS

This research was financed by FEDER Funds through Programa Operacional Factores de Competitividade -COMPETE and by Portuguese Funds through FCT -Fundação para a Ciência e a Tecnologia, within the Project PEst-C/MAT/UI0013/2011 and the project PTDC/MAT/121185/2010.