Database Engineering Process Modelling

Database Engineering Process Modelling

FUNDP Institut d’Informatique rue Grandgagnage 21 B-5000 Namur Belgium Tél. +32 81 72 49 64 Fax. +32 81 72 49 67 http://www.fundp.ac.be Database engineering process modelling Didier Roland Supervisor Prof. Jean-Luc Hainaut Jury Jean Fichefet (president, FUNDP, Namur, Belgium) Jean-Luc Hainaut (FUNDP, Namur, Belgium) Colette Rolland (Sorbonne, Paris I, France) Éric Dubois (CRP Henri Tudor, Luxembourg) Naji Habra (FUNDP, Namur, Belgium) Academic year 2002-2003 A thesis submitted for the degree of PhD in sciences, computer science option iii Abstract An important research subject in Software engineering is concerned with modelling the develop- ment process of huge software in order to bring some help to engineers when designing and main- taining an application. In general, every design process is seen a rational application of transforma- tion operators to one or more products (mainly specifications) in order to produce new products that satisfy some given criteria: O=f(I). I and O being sets of products compliant with formalisable models, f is a transformation composition whose specifications are the properties of I and O. This modelling is a sound basis for a methodological guidance. Indeed, at each step of the process, the set of pertinent activities and types of products are proposed to the designer, without any other. This guidance can be reinforced with some help. Furthermore, this modelling allows to document the process with its history, i.e. with a representation of performed activities. This history is itself the basis of maintenance activities. The thesis holds in four phases: • elaboration of a general model of design processes, a method specification language (MDL), and a history representation • basic methodological recommendation proposals for the elaboration of engineering methods according to the defined model • development and integration of some methodological control functions in the DB-MAIN CASE tool, including an extension of the repository, the definition of the interface of the meth- odological functions, the development of the methodological engine and the development of history processors (recording, replay, analysis,...) • evaluation of this model with case studies using classical methods. Résumé Un sujet de recherche important dans le monde de l’ingénierie logicielle concerne la modélisation des processus de développement de grosses applications afin d’apporter de l’aide aux ingénieurs pour concevoir et maintenir leurs applications. En général, chaque processus de conception est vu comme l’application rationnelle d’opérateurs de transformation à un ou plusieurs produits (généra- lement des spécifications) pour obtenir de nouveaux produits qui satisfont un ensemble défini de critères: S=f(E). E et S étant des ensembles de produits conformes à des modèles formalisables, f est une composition de transformations dont les spécifications sont les propriétés de E et S. Cette modélisation permet, principalement, un suivi méthodologique. En effet, à chaque étape du proces- sus, seul l’ensemble des outils pertinents est mis à la disposition du concepteur. Ce guidage peut éventuellement être renforcé par des messages d’aide. De plus, cette modélisation permet de docu- menter le processus avec son historique, c’est-à-dire avec une représentation des actions entreprises. Cet historique peut lui-même être à la base d’activités de maintenance. La thèse tient en quatre parties : • élaboration d’un modèle général pour la définition de processus d’ingénierie, d’un langage de spécification de méthodes (MDL) et d’une représentation des historiques; • propositions de recommandations méthodologiques pour l’élaboration de méthodes d’ingénierie selon le modèle défini; • développement et intégration de fonctions de contrôle méthodologique dans l’atelier DB- MAIN; ceci inclut l’extension du référentiel, la définition de l’interface homme-machine pour les fonctions méthodologiques, le développement du moteur méthodologique et le développe- ment de processeurs d’historiques (enregistrer, rejouer, analyser,...); • évaluation de ce modèle avec des études de cas utilisant des méthodes classiques. iv v Acknowledgement This thesis is the result of a long work. A long time during which I met many people who helped me and who showed some interest. All these people deserve to be thanked. First of all I want to Thank Jean-Luc Hainaut, with who I did all the job. I want to thank him for the opportunity he gave to me, for his support and for his availability in the frame- work of this thesis, but also for his great job in founding and leading the LIBD research team. I want to thank all this team too, including its present and former members, for their support and collaboration. In particular, many thanks to Jean Henrard, Jean-Marc Hick and Vincent Englebert for the great job we did in the DB-MAIN project, and to Virginie Detienne with who I also worked on another interesting project. Many thanks to all the other people from the Insistut d'Informatique and from many other research labs for all the interesting discussion I had with them all. I will not list them all because I should fill several pages with all their names, but they can really be sure I do not forget them. Many thanks to the readers of this thesis and to the members of the jury for their interest in it. I also want to thank all the friends and family members who supported me along the years. Special thanks to Raoudha who particularly supported me along the whole work while pre- paring her own PhD and to Xia who particularly supported me in the last months. Many thanks to Renaud, Lysia, Sivilay, Olfa and many other friends who also supported me a lot. But this thesis could not have been written if I had not received a very good education before. For this education, and for supporting me all the time from my birth, many, many, many thanks to my parents. Many thanks too to all my other family members (in the broader sense) and to all the people who participated to this education, including all the teachers at kindergarten, primary school, secondary school, and all the years at university before PhD. vi vii Contents Glossary 14 Chapter 1 Introduction 1 1.1. Process modelling presentation 2 1.2. State of the art and related works 3 1.2.1. History of data and process engineering 3 1.2.2. Process modelling in the large 4 1.2.3. CASE tools and meta-CASE tools 7 1.2.4. History recording 7 1.3. Database specifics 8 1.4. Goals 9 1.5. Structure of the thesis 10 1.6. DB-MAIN 11 Part 1 Models and Methods 13 Chapter 2 Basics 15 2.1. Basic definitions 16 2.2. Architecture 19 Chapter 3 Product models 23 3.1. Basic considerations 24 3.2. The GER model 25 3.2.1. Schema 25 3.2.2. Entity types 26 3.2.3. Relationship types (rel-types) 26 3.2.4. Attributes 26 3.2.5. Roles 27 3.2.6. Constraints 28 3.2.7. Is-a relations 31 3.2.8. Processing units 32 3.2.9. Collections 32 3.2.10. Dynamic properties 32 3.3. Schema model 33 3.4. Text model 45 viii 3.5. Product model hierarchies 47 Chapter 4 Product types and process types 49 4.1. Defining product types 50 4.2. Modelling engineering process types 51 4.2.1. Engineering process type decomposition 51 4.2.2. Engineering process type interface 52 4.2.3. Engineering process type strategy 55 4.3. Comparison with other modelling techniques 70 Chapter 5 The MDL language 73 5.1. Requirements 74 5.2. Language definition 74 5.2.1. Generalities 74 5.2.2. Method 75 5.2.3. Product Models 76 5.2.4. Global product types 79 5.2.5. Toolboxes 80 5.2.6. External function declarations 81 5.2.7. Process types 82 5.3. Language analysis 96 5.3.1. The syntax is unambiguous 97 5.3.2. Syntactical analysis 98 5.3.3. The semantics is unambiguous 99 5.3.4. Compliance with the requirements 99 Part 2 Histories 101 Chapter 6 Histories 103 6.1. Usefulness of histories 104 6.1.1. Documentation 104 6.1.2. Undo 104 6.1.3. Database design recovery 104 6.1.4. Database evolution 105 6.1.5. History analysis 105 6.1.6. Method induction 105 6.2. Expectations for histories 106 6.3. Structure of histories 106 6.3.1. Products 106 6.3.2. Processes 107 6.3.3. Primitive processes 107 6.3.4. Engineering processes 112 6.3.5. Decisions 113 6.3.6. The history of a project 114 ix 6.4. History representation 116 6.4.1. Representation of the tree structure 116 6.4.2. Representation of primitive process histories 116 6.4.3. Representation of engineering process graphs 117 6.5. History construction 120 6.5.1. Primitive processes 120 6.5.2. Engineering processes 120 6.5.3. Hypotheses, versions and decisions 121 Chapter 7 History processing 125 7.1. Basic hypotheses 126 7.2. History replay 126 7.2.1. Replaying primitive processes of automatic basic type 126 7.2.2. Replaying primitive processes of automatic configurable type 126 7.2.3. Replaying primitive processes of automatic user configurable type 126 7.2.4. Replaying primitive processes of manual type 126 7.2.5. Replaying every primitive processes 128 7.2.6. Replaying engineering processes 129 7.3. History evolution 129 7.4. History transformation 132 7.4.1. History characteristics 132 7.4.2. Excerpts 135 7.4.3. Independent history excerpts 136 7.4.4. Equivalent history excerpts 137 7.4.5. Minimal history excerpts 137 7.4.6.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    360 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us