Approches objet, composant, modèle avantages et inconvénients Thérèse LIBOUREL ROUGE libourel@lirmm.fr
PLAN Introduction Approche objet - composant Illustrations Métamodélisation Conclusion 2
PLAN Introduction Approche objet Illustrations Métamodélisation Conclusion 3
Introduction Système d'informations environnementales Législation, politique Social Environnement 4
Introduction Système d'information Taille et complexité des systèmes importantes et croissantes les besoins et les fonctionnalités augmentent la technologie évolue rapidement les architectures se diversifient Problèmes des spécifications parfois imprécises, incomplètes, ou incohérentes assurer l interface avec le métier (domaine d application) 5
Introduction Système d'informations environnementales Vision "informaticien" Cycle de vie d'un projet 6
Introduction Un projet SIE est un projet comme un autre analyse des besoins analyse dossier de conception choix des outils conception mise en œuvre réalisation opérationnalisation exploitation 7
Introduction Un projet SIE est différent des autres Spécificités Exploitation Expertise métier Acquisition Spécifications Données spatiales (raster, vecteur) Données propres à des thèmes spécifiques 8
Introduction Projet SIE Spécificités communes Multi-disciplinarité Multi-acteurs Domaine de compétence variés Concepts Points de vue différents Concertation 9
Introduction Objectifs Variés Observations Collecter l information Représenter Gestion Aider à la compréhension Aider à la décision Simulation Représenter Prédire 10
Introduction Typologie SIE ad-hoc (thématique spécifique) Analyse de fonctionnement de bassins versants Observatoires Observatoires de suivi d'espèces ou de milieux Observatoire de recherche Observatoire d'information Observatoire évaluation de pratiques Observatoire d'aide au développement de territoire Observatoire de conseil en situation de crise Aide à la décision Tableau de bord Indicateurs Datawarehouse Simulation Modélisation de crues 11
Introduction Les verrous La gestion du temps (et de l'espace) Modélisation de processus Couplage de modèles La «visualisation» multi-représentation séries temporelles 3D 12
Introduction La démarche et la modélisation sont essentielles. pour les futures extensions. pour les échanges Un modèle est la simplification/abstraction de la réalité La construction de modèles permet de mieux comprendre les systèmes que nous développons 13
Introduction Les méthodes pourquoi? Une nécessité : réduire les hiatus Évolutif Ambiguïté le réel le monde informatique Langages codifiés Sémantique unique 14
Introduction Méthodes Méthode = Langage(s) + Démarche + Outils 15
Introduction L'approche objet - composant Un nouveau paradigme Quels apports? 16
Introduction La tendance pour les SIE Méthodes systémiques vs Méthodes objet Modélisation des données E/R vs OO De formalismes fermés vers des formalismes extensibles (ex. UML) De formalismes aspatiaux, atemporels vers formalismes avec extension spatiale et temporelle 17
Introduction CONGOO [Pantazis and Donnay 1996] Geo-ER [Hadzilacos and Tryfona 1997] Geo-OM [Tryfona et al 1997] GeoOOA avec son logiciel de modélisation [Kösters et al 1997] MADS avec son logiciel de modélisation [Parent et al 1997] Modul-R avec son logiciel de modélisation et son générateur automatique de code [Bédard and Paquette 1989; Pageau and Bédard 1992; Caron et al 1993; Bédard et al 1996] suite PERCEPTORY OMEGA et AIGLE [El Bath 97] POLLEN [Gayte et al 1997] 18
PLAN Introduction Approche objet - composant Illustrations Métamodélisation Conclusion 19
Mots-clefs Les 4 P Process Approche objet-composant automatisation Méthodes People * Project * Tools participants * Artefact, résultat Product 20
Approche objet-composant Méthodes Utilisateurs Formateurs Architecte système Testeurs Chef projet Concepteur organisation Analystes Concepteurs 21
Approche objet-composant Approche objet Les fondamentaux Objet = état + comportement Identification indépendante de la valeur Encapsulation Polymorphisme Composant services requis, services fournis 22
Approche objet-composant Approche objet - composant Les fondamentaux Développement itératif, incrémental Exigences Planning Analyse et conception Implˇmentation Planning initial valuation Tests Dˇploiement Vue unifiée. Depuis le haut niveau (modèle de domaine) jusqu'au bas niveau (modèle physique) Obtenir des systèmes modulaires et maintenables Assemblage de briques de base vs. dvlpt ad-hoc Produire des canevas d application vs. un programme 23
Plans de construction Approche objet-composant Méthodes Logique classes/dynamique Processus scenarii sur composants concurrence distribution tolérance aux pannes Cas d utilisation use case + scenarii Réalisation composants Déploiement composants projetés sur le matériel Orientation des modèles par les cas d utilisation 24
Approche objet-composant Formalisme UML Fonctions du système du point de vue de l utilisateur. Les objets et les relations de base entre ces objets. Composants physiques d une application. Représentation du comportement en termes d états. Représentation des objets, des liens mutuels et des interactions potentielles. Schémas de l installation des composants sur les dispositifs matériels. Structure statique des classes et des relations entre ces classes. Représentation du comportement des opérations en termes d actions. Représentation des objets et de leurs interactions temporelles. 25
Approche objet-composant Cas d'utilisation Acteur (Décideur) Acteur (Producteur) «communicate» Gérer données Visualiser indicateurs «communicate» 26
Approche objet-composant Classes, Associations Ligne Route nom : string vitesse : integer 1 0..* Créer () Afficher() Changervitesse(v) 0..1 x : real y : real Point 2..* Autoroute 27
Approche objet-composant Agrégation Sémantique Collection/Élément Forêt 1 1..n Arbre Pays 1 1..n Région 1 1..n Département 28
Approche objet-composant Agrégation Image 1 1..n Objet 1 1..n 1..n Objet2 Objet1 Cellule 1..n 29
Approche objet-composant Agrégation Adaptation au contexte Contexte donné -> représentations possibles Choix de la représentation Sélection 30
Approche objet-composant Scénario (diagramme de séquences) :Pays :Région :Département :Région :Département :Région :Département Population? Population? Population? temps 31
Approche objet-composant Spécificités SIE Spatialité Temporalité Quelles représentations?.. 32
Approche objet-composant Représentations de l'espace Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) Segment A-pour-extrémité-> 0..1 2..2 Point X Y Est-sur : booleen 33
Approche objet-composant Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) Polyligne fermée 0..1 {ordre} 0..1 2..n Segment 2..2 Point X Y Est-sur : booleen 1..n 0..1 34
Approche objet-composant Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) Polygone {ordre} Point 0..1 0..1 3..n Segment 2..2 X Y Appartient : bool 3..n 2..2 35
Approche objet-composant Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) Polygone 0..1 début 1..1 Point 1..2 Segment 0..n fin 1..1 X Y Appartient : bool orientation 3..n 0..n 36
Approche objet-composant Représentations de l'espace Graphes Est-relié-à Nœud, Arête Nœud 0..n 2..2 1..n délimite Arête 0..n 37
Approche objet-composant Représentations de l'espace Topologie 38
Approche objet-composant Représentations de l'espace Topologie 39
Approche objet-composant Représentation du temps Instant 1 fin 0..n Intervalle 1 début 0..n durée opérateurs 40
Approche objet-composant Et la dynamique Ligne de vie des objets création stabilité fission fusion déplacement croissance destruction déformation Vie Mouvement 41
Approche objet-composant Ligne de vie des objets <<create >> :Pays évolution temps fission :Pays :Pays 42
PLAN Introduction Approche objet-composant Illustrations Métamodélisation Conclusion 43
Illustrations Quelques réussites. 44
Illustrations Généralisation [Boffet 2001] «Adaptation des données qualitatives et quantitatives, par allégement du nombre des détails et simplification caractérisée des formes des tracés, en vue de l établissement d une carte répondant à des conditions déterminées.» 1:250 000 IGN 1:50 000 IGN 1:100 000 IGN 45
Illustrations Patron composite * Créer () ELEMENT Qualifier () GROUPE D ELEMENTS ELEMENT SIMPLE (Micro) MACRO MESO Bâtiment Route Voie ferrée Rivière Populationbâtiment Population réseaucommunication Ville Quartier Ilot Structure BD TOPO 46
Illustrations Encore des patrons.. Perceptions agrégatives du paysage [Lardon &al 2000] Paysage comporte Unité Paysagère regroupe Parcelle 1..* surface 1..* Type occupation. [Bois, Lande, Zone cultivée, ] 47
Illustrations Les faiblesses. manques expression limitée des contraintes OCL? prise en compte de l'incertain, du flou 48
Illustrations Problème Le tissage de modèles 49
Illustrations Introduction de l'usage de pictogrammes PVL (Perceptory) 0D 1D 2D Mads 50
Illustrations Problème. projections complexes vers les SIGs (geodatabase) vers les extension de SGBDs orientés-objets intégration thématique et spatial 51
Illustrations PostGIS Les types d objets géométriques MySQL 4.1-alpha Oracle Spatial Point Linestring Polygon Multipoint Multilinestring Multipolygon Point Linestring Polygon Multipoint Multilinestring Multipolygon Point Linestring Polygon Multipoint Multilinestring Multipolygon ArcLinestring Compound Linestring Compound Polygon Circle Rectangle 52
Illustrations Thématique Géométrie Description Référentiels Types géométrie simple et complexe Requêtes (SQL3) Opérateurs spécifiques sur géométrie - métriques (longueur, aire, distance, centroïde,..) - topologiques - union, intersection Index spatiaux 53
PLAN Introduction Approche objet-composant Illustrations Métamodélisation Perspectives et conclusion 54
Métamodélisation Proposition OMG MOF UML SPEM Workflow Workflow etc. etc. UML_for_SIG UML_for_SIG Common Common Warehouse Warehouse Metadata Metadata unmodèle unmodèle 55
Métamodélisation Les modèles Le monde réel 56
Métamodélisation Extensibilité Les stéréotypes «datatype» Integer «subsystem» User Interface «exception» Overflow «utility» Maths «traces» «refines» 57
Métamodélisation Extensibilité Profils <<instance of>> MOF Méta Modèle UML Méta Modèle SIG <<extend>> Méta Modèle SIG UML Profil SIG UML 58
Métamodélisation Standards ISO (feature type, metadata, etc.) OpenGIS Portrayal Catalogue Reference ApplicationSchema * * Maintenance Content 0..1 * * Distribution 0..1 Metadata 1..* Identification * * Reference System * Constraints * * * Spatial Representation Metadata Extension DataQuality 59
Métamodélisation Formalisation des spécifications pour intégration de BD [N. Gesbert 2005] «Ent. géog.» Él t du réseau hydro «Ent. géog.» Cours d'eau * 0..1 affluent de «Ent. géog.» Acc. parcours «Ent. géog.» Nœud réseau «Ent. géog.» Canal «Ent. géog.» Fossé «Objet de la base» Surface d eau «Ent. géog.» Aqueduc «Objet de la base» Cours d'eau nommé «Ent. géog.» Rivière «Ent. géog.» Barrage «Ent. géog.» Écluse «Ent. géog.» Cascade «Objet de la base» Tronçon cours d eau «Ent. géog.» Source «Ent. géog.» Confluent «Ent. géog.» Diffluent «Ent. géog.» Perte Schéma BDTopo Pays «Objet de la base» Point d eau «Ent. géog.» Embouchure 60
Métamodélisation Constitution de lots de données à la "carte" [S. Balley 2007] 61
Métamodélisation Portail d accès multi catalogues Serveur référentiel MDWEB Géo Thés. Requêtes simultanées Serveur web + BD Serveur web + BD Apache PHP MD Apache PHP MD Partenaire x Partenaire y 62
Métamodélisation 63
Métamodélisation Vile Exploitant Correspondance exacte? Monument Bois Route Vile Exploitant Modèle d'analyse Monument Bois Vile Exploitant Route Monument Bois Modèle de conception Route Modèle de codage 64
Métamodélisation Les éléments des différents modèles sont dépendants Modèle métier UML Découle Modèle SGBD specializes Découle Découle Ref Comment prendre en compte de façon précise les relations inter-modèles comme les relation intra-modèles? Les problèmes de traçabilité, de transformation, sont des cas particuliers de la mise en correspondance de modèles. Ils doivent se traiter au niveau des méta-modèles. 65
Métamodélisation La démarche MDA Modèles MDA PIM: Platform Independent Model Spécification neutre d'un système (modèle de métier et de service) qui ignore tous les détails de mise en oeuvre Exemple: système d'occupation du sol exprimé en UML PSM: Platform Specific Model Modèle de métier et de service lié à un modèle de plateforme Exemple : système d'occupation du sol exprimé en "UML profile for SQL" [Thèse A. Miralles 2006 Proposition démarche MDA pour SIE] 66
Métamodélisation PIMs Platform Independent Models Objets et composants Les technos du passé? Web services Les technos du présent Grid computing, Cluster computing, etc. Les technos du futur 67
PLAN Introduction Approche objet-composant Illustrations Métamodélisation Conclusion 68
Conclusion Composition de services [extrait Michael Lutz 2006] WFS 1 Restaurant features: - location (lat/lon) - opening hours - meals extract Location point: (lat: double, long: double) e.g. <51.2, -115.56> inputs & outputs x1: double y1: double x2: double y2: double distance_1 functionality double GetCurrent Location point: (lat: double, long: double) e.g. <32.5, -23.5> 69
Conclusion Web sémantique et Grid computing Vers les ontologies Médiation dans réseau P2P 70
Conclusion L'approche objet - composant Omniprésente Apports indéniables Homogénéisation Normalisée 71
Conclusion L'approche objet - composant Limites Appropriation Insuffisante Ce qu elle traite mal.. 72