LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN



Documents pareils
INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

LES MAINTENANCES EVOLUTIVES DE BASES DE DONNEES

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Valoriser vos bases de connaissances avec AMI Help Desk. AMI Enterprise Discovery version 3.9

Introduction aux concepts d ez Publish

Cours de Master Recherche

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Évaluation et implémentation des langages

Gestion des Clés Publiques (PKI)

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

Solutions informatiques (SI) Semestre 1

L apprentissage automatique

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Introduction à l informatique en BCPST

analyse et pérennise votre patrimoine informationnel

Générer du code à partir d une description de haut niveau

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Utilisation des tableaux sémantiques dans les logiques de description

UE 8 Systèmes d information de gestion Le programme

IFT785 Approches Orientées Objets. FINAL Été Remise : Jeudi 19 août 2002 à 9h00 am

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: Bulletin 2009/25

Présentation du PL/SQL

BES WEBDEVELOPER ACTIVITÉ RÔLE

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Information utiles. webpage : Google+ : digiusto/

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie.

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme détaillé BTS INFORMATIQUE DE GESTION DIPLÔME D ETAT. Objectifs de la formation. Les métiers. Durée de la formation

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Bases de Données Avancées

TD 1 - Structures de Traits et Unification

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Créer le schéma relationnel d une base de données ACCESS

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Les documents primaires / Les documents secondaires

Rappel sur les bases de données

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

SQL Server 2012 et SQL Server 2014

Proposer de nouveaux services aux Levalloisiens. Des ressources numériques, accessibles à distance.

Implémentation des SGBD

TP1 : Initiation à Java et Eclipse

Bases de données. Chapitre 1. Introduction

Conception des systèmes répartis

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Programmation C. Apprendre à développer des programmes simples dans le langage C

Systèmes d information et bases de données (niveau 1)

Cours 1 : La compilation

Groupe Eyrolles, 2004 ISBN :

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Parcours en deuxième année

Méthodologie de conceptualisation BI

Chapitre 1 : Introduction aux bases de données

Entraînement au concours ACM-ICPC

Conception, architecture et urbanisation des systèmes d information

Rapport d'analyse des besoins

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Formula Negator, Outil de négation de formule.

Concevoir et déployer un data warehouse

Les structures de données. Rajae El Ouazzani

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Soutien technique en informatique

eframe pour optimiser les reportings métiers et réglementaires

MANAGEMENT DES SYSTEMES D INFORMATION ET DE PRODUCTION MSIP

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Activité : Élaboration, mise en forme et renseignement de documents

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Le Guide Pratique des Processus Métiers

White Paper - Livre Blanc

S3CP. Socle commun de connaissances et de compétences professionnelles

et les Systèmes Multidimensionnels

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

LES FICHES Domaines. Domaine D1. Travailler dans un environnement numérique

Mercredi 15 Janvier 2014

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

DESCRIPTION DES PRODUITS ET MÉTRIQUES

Les bases de données Page 1 / 8

Présentation du langage et premières fonctions

THE GLOBAL EVENT MANAGER

Nom de l application

CH.6 Propriétés des langages non contextuels

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

TP Bases de données réparties

INTRODUCTION AUX BASES de DONNEES

CRÉER UN COURS EN LIGNE

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Introduction aux bases de données

Cours Informatique 1. Monsieur SADOUNI Salheddine

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

ARBRES BINAIRES DE RECHERCHE

Université de Bangui. Modélisons en UML

Chapitre I : le langage UML et le processus unifié

LE PROBLEME DU PLUS COURT CHEMIN

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Transcription:

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas être considérées comme un engagement de la société REVER. Toutes utilisations, en ce compris le référencement, de la totalité ou d une partie de ce document ne sont autorisées qu avec l accord formel et écrit de REVER. REVER S.A. Belgique ; +32 71 20 71 61 ; http://www.rever.eu

La documentation de REVER est structurée sur trois niveaux qui se superposent hiérarchiquement comme le représente le schéma ci-dessous : le premier niveau décrit les technologies de base de REVER et explique le fonctionnement des outils ; le deuxième niveau décrit les méthodes de REVER à suivre pour une utilisation optimale des technologies ; le troisième niveau décrit les solutions de REVER pour répondre aux besoins des clients. Un document de niveau «i» peut faire référence à un ou plusieurs documents de niveaux inférieurs : il est vivement conseillé au lecteur d en prendre connaissance pour avoir une compréhension correcte du document. Afin de rendre les explications plus claires, il est fait un usage régulier de schéma et de couleur. Il est recommandé pour une lecture aisée des documents de les imprimer en couleur. Par cette démarche structurée, REVER poursuit un double objectif : rendre la lecture de la documentation de REVER plus aisée en séparant clairement les différents éléments constitutifs des propositions de REVER ; permettre aux lecteurs de mieux appréhender les aspects innovants des propositions de REVER, en les abordant, soit dans une lecture «top-down» (de la «solution» à la «technologie»), soit dans une lecture «bottom-up» (de la «technologie» à la solution). Le premier type de lecture correspond à une approche de compréhension du «comment» les méthodes et outils de REVER permettent la réalisation de solutions qui semblent à priori complexes, voire impossibles. Le second type de lecture correspond à une démarche de «constructeur de maison» : le premier niveau décrit les matériaux de base, le second niveau explique comment les différents matériaux sont utilisés pour construire des «murs» et, enfin, le troisième niveau définit les architectures de «maisons» possibles. Service Marketing 29/04/2008 TE02 Page 2 / 13

Quelque soit l approche, l équipe de rédaction souhaite que ces documents apportent les éléments d information attendus. Service Marketing 29/04/2008 TE02 Page 3 / 13

Table des matières 1 Description générale... 5 2Description détaillée... 6 2.1Le processus d analyse des codes «source» données... 6 2.2Le processus d analyse des codes «source» procéduraux... 6 2.2.1L analyse macroscopique (AST)... 8 2.2.2L analyse microscopique (SDG)... 11 2.3L analyse des données... 13 Service Marketing 29/04/2008 TE02 Page 4 / 13

1 Description générale Les activités de rétro-ingénierie ont pour objectif de reconstruire les modèles des données à partir des éléments techniques existants. L automatisation de cette reconstruction n est possible qu à travers la mise à disposition de différents types d outils : des analyseurs de codes «source» concernant les structures et les relations des données ; des analyseurs de codes «source» des objets procéduraux tels que triggers, dbprocedure, programmes applicatifs, JCL, ; des analyseurs de données. L ensemble des résultats produits par les analyses sont conservés dans le référentiel de DB- MAIN. Une explication plus détaillée de ces différents points est fournie plus loin dans ce document. Service Marketing 29/04/2008 TE02 Page 5 / 13

2 Description détaillée Les activités de rétro-ingénierie des bases de données ont pour objectif de permettre la reconstruction des différents modèles de données. Pour atteindre cet objectif, elles nécessitent des outils spécifiques pour l analyse des différents types d éléments techniques existants (DDL, triggers, db-procedure, langage de programmation applicatif, JCL, données, ) : 2.1 Le processus d analyse des codes «source» données REVER dispose d outils permettant l analyse des codes «source» (DDL) descriptif des structures et relations des bases de données. L objectif de ces analyseurs est d alimenter le référentiel de DB-MAIN avec les éléments explicitement déclarés pour la base de données. En règles générale, cela concerne : les structures (entités et attributs) ; les relations entre entités ; les éventuels clés d accès ; les éléments d implémentation technique tels que taille des fichiers, type d indexation,. Tous ces éléments sont stockés dans le référentiel de DB-MAIN. 2.2 Le processus d analyse des codes «source» procéduraux En ce qui concerne les codes «source» des objets procéduraux, les outils de REVER sont évidemment dépendants des langages et des environnements techniques. Toutefois afin de pouvoir être le plus universel possible, les outils de base utilisés par REVER sont d un très haut niveau d abstraction permettant, par la suite, de forger des outils spécifiques liés à un environnement technique précis. Pour cette raison, l architecture générale des analyseurs de codes source de REVER (voir schéma ci-dessous) comprend : les outils permettant de générer, si nécessaire, les analyseurs à partir de la grammaire du langage (Backus Naur Form) ; une première phase d analyse des codes source, appelée «analyse macroscopique», permettant d obtenir les arbres syntaxiques (AST) des modules analysés desquels les outils de REVER extraient le «graphe d appel» et le «graphe d utilisation» ; une deuxième phase d analyse des codes source, appelée «analyse microscopique», permettant d obtenir les «graphes d exécution» (SDG) des programmes analysés desquels les outils de REVER extraient, notamment, la liste des flux de données et les «règles données» existantes dans les programmes. Service Marketing 29/04/2008 TE02 Page 6 / 13

Pour bien faire comprendre les différents types et niveaux d analyses de codes source procéduraux, la démarche sera illustrée par un exemple simple de code. Bien que cet exemple ne soit pas un cas réel, il permet de concrétiser la démarche suivie par REVER. Le schéma cidessous présente à gauche le code source comprenant un module principal et deux modules appelés («readfile» et «writefile»). Le processus d analyse et ses résultats sont présentés au centre et à droite du schéma avec ses deux étapes principales : la construction des AST (Abstract Syntaxique Tree) qui permettent de produire le graphe d appel, le graphe d usage et les «treillis de Galois» ; la construction des SDG (Syntax Dependency Graph) qui permettent d extraire, des programmes, les flux de données et les règles données. Service Marketing 29/04/2008 TE02 Page 7 / 13

2.2.1 L analyse macroscopique (AST) L analyse du code source d un programme permet de construire, dans un premier temps, ce qui est convenu d appeler l AST. Ce type d analyse est analogue à celle que les compilateurs utilisent pour l analyse de code source. Cette analyse est réalisée module par module (un programme est en fait un ensemble de modules dont la racine est un module qui n est «appelé» par aucun autre), chaque module fournissant un AST. De ces AST, les outils de REVER retiennent les «appels» vers d autres modules permettant de construire le «graphe d appel» ; les instructions d entrée/sortie pour les données permettant de construire le «graphe d usage». Les «appels» entre modules sont regroupés dans DB-MAIN sous forme d un graphe unique appelé «graphe d appel» qui donne l architecture générale de l application du point de vue des modules : chaque nœud du graphe représente un module, les arcs indiquant l existence d un appel entre deux modules (voir schéma ci-dessous). Service Marketing 29/04/2008 TE02 Page 8 / 13

Les instructions d entrée/sortie sont regroupées dans DB-MAIN sous forme d un graphe unique appelé «graphe d usage» qui donne l architecture générale de l application du point de vue des accès aux données : le nœud «racine» correspond au nom du module, les feuilles correspondent aux entités utilisées par le module, chaque arc spécifie s il s agit d une entrée/sortie modifiant ou non la base de données. Service Marketing 29/04/2008 TE02 Page 9 / 13

Ces deux graphes sont enregistrés dans DB-MAIN. Les technologies de REVER, associées à DB-MAIN, permettent en partant de ces deux graphes de : les combiner entre eux (graphe «d appel et d usage») pour obtenir par exemple le graphe d utilisation des entités utilisées par un programme ; de parcourir les graphes à partir d un nœud vers le haut, vers le bas ou les deux ; d obtenir le graphe minimal entre deux nœuds. Un exemple concret de ce genre d utilisation est la représentation du graphe «d appel et d usage» sous forme d un tableau à deux dimensions, chaque point (X,Y) indiquant que le module X utilise l entité Y. Ces différents points sont ordonnancés en utilisant un algorithme, dit «treillis de Galois», qui permet de regrouper en sous-ensembles les différents points. Un exemple d un tel treillis est donné ci-dessous. Ces «treillis» permettent notamment d identifier rapidement les risques et les possibilités de découpage en «lot» (programmes et entités) des opérations de migrations. Service Marketing 29/04/2008 TE02 Page 10 / 13

2.2.2 L analyse microscopique (SDG) L analyse du code du programme permet de construire, dans un second temps, ce qui est convenu d appeler le SDG ou «graphe d exécution». Ce SDG est en fait une représentation «mathématique» sous forme de graphe du programme. Dans le SDG chaque nœud du graphe est une instruction. Il existe deux types d arcs orientés : un arc dit de «contrôle» (noté «C» ou «CALL») qui indique les instructions qui vont être exécutées à partir du nœud origine, et un arc dit de «flux de données» (noté «D» ou «I» ou «O») qui indique le sens du flux de données entre les nœuds. La construction du SDG se fait d abord module par module, puis les graphes des différents modules sont réunis afin de constituer le «graphe» du programme (voir schéma ci-dessous). Cet «assemblage» n est pas toujours aisé : en effet, le nom du module appelé peut être contenu dans une «variable» du programme et non directement dans l instruction d appel. C est pour cette raison que le processus de construction du graphe est un processus qui peut être itératif, chaque appel au moyen d une variable étant remplacé par un appel avec la valeur de la variable. Service Marketing 29/04/2008 TE02 Page 11 / 13

Une fois le «graphe d exécution» construit, les technologies de REVER permettent de l interroger, c'est-à-dire de le parcourir partiellement, ou totalement, en choisissant le type d arc en fonction des objectifs poursuivis. Une des principales utilisations du SDG faites par les experts de REVER est la détermination des «flux de données» entre deux entités. Ainsi, à titre d exemple, dans le schéma ci-dessous il existe un «flux de données» entre le «READ» à l instruction 12 et le «WRITE» à l instruction 21. Le chemin entre ces deux instructions est ce qu il est convenu d appelé un fragment de programme qui définit la partie de code qui détermine ce flux de données : Service Marketing 29/04/2008 TE02 Page 12 / 13

L intérêt de la détermination des «flux de données» dans les programmes est qu elle permet, d une part d identifier de manière exhaustive tous les liens entre «données» existant dans les programmes, et, d autre part, de retrouver au moyen des fragments de programme les règles données associées. D autres utilisations du SDG sont également régulièrement utilisées par les experts de REVER, notamment pour déterminer, dans les programmes, la propagation de la modification de la structure d une variable. 2.3 L analyse des données L analyse des données a pour objectif d identifier celles qui ne respectent pas les «règles données». A partir des règles données définies dans les modèles, des requêtes d interrogation des données sont générées automatiquement afin de s assurer de la conformité des données aux modèles. Un exemple de résultat d un tel contrôle est donné ci-dessous. Service Marketing 29/04/2008 TE02 Page 13 / 13