Graph Rewriting Debugger (GRD) and Attila

Graph Rewriting Debugger (GRD) and Attila

A FORMAL GRAPH TRANSFORMATION BASED LANGUAGE FOR MODEL-TO- MODEL TRANSFORMATIONS By Aditya Agrawal Dissertation Submitted to the Faculty of the Graduate School of Vanderbilt University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY in Electrical Engineering August, 2004 Nashville, Tennessee Approved: Date: ________________________________________________ ___________________ ________________________________________________ ___________________ ________________________________________________ ___________________ ________________________________________________ ___________________ ________________________________________________ ___________________ ________________________________________________ ___________________ To my source of Inspiration, My parents & To Pramila, the love of my life ii ACKNOWLEDGEMENTS The DARPA/IXO MOBIES program, Air Force Research Laboratory under agreement number F30602-00-1-0580 and NSF ITR on "Foundations of Hybrid and Embedded Software Systems" programs have supported, in part, the research described in this dissertation. Some tools described in this dissertation have been developed by other members of the MoBIES team. Feng Shi developed in part the Graph Rewriting Engine (GRE), Zsolt Kalmar developed the Graph Rewriting Debugger (GRD) and Attila Vizhanyo developed the Code Generator (CG). To begin with I would like to thank Dr. Gabor Karsai my academic advisor and the chair of my dissertation committee. He has motivated and guided me through this endeavor. His knowledge and patience are virtues I can only dream of achieving. I am grateful to members of my dissertation committee, Dr. Janos Sztipanovits, Dr. Douglas Schmidt, Dr. Gautam Biswas, Dr. Jeremy Spinrad and Dr. Mark Ellingham for keeping my focus on the goals and for directing me back on track when I veered. The MoBIES team consisting of Dr. Gyula Simon, Dr. Sandeep Neema, Feng Shi, Attila Vizhanyo, Zsolt Kalmar, Andras Lang, Tamas Paka and Anantha Narayanan deserve my heartiest thanks for being the greatest teams to work with. Last but definitely not the least I would like to thank mom and dad for believing in me all through the journey and encouraging me to push forward whenever I was tired. Without the training I have received from them I would never have reached where I am. The rest of my family, Jiten, Shilpa, Roma, Sandhir, Mona, Rashi and Sparsh has played a vital role in my endeavor. They have been by my side at every crossroad of life helping iii me take the right decision. Finally I would like to thank my soul mate Pramila for without her the journey would definitely have been more challenging and the goals more difficult to achieve. iv TABLE OF CONTENTS Page ACKNOWLEDGEMENTS...............................................................................................iii TABLE OF CONTENTS.................................................................................................... v LIST OF TABLES...........................................................................................................viii LIST OF FIGURES ........................................................................................................... ix LIST OF ABBREVIATIONS........................................................................................... xii Chapter I. INTRODUCTION ....................................................................................................... 1 II. BACKGROUND ......................................................................................................... 6 Model Based Software Engineering .................................................................... 6 Model Classification ....................................................................................... 7 Low-Level and High-Level Modeling Languages.......................................... 8 High-level models......................................................................................... 16 Low-Level Vs High-Level............................................................................ 18 Domain-Specific and Domain-Independent Languages ............................... 19 Domain Specific Vs Domain Independent.................................................... 24 Textual and Graphical Languages ................................................................ 25 Generative and Model Based Solutions............................................................. 25 Generative Programming (GP) ..................................................................... 26 Model Integrated Computing (MIC)............................................................. 29 Summary of Model-Based Solutions ............................................................ 38 Graph Grammars And Transformations ............................................................ 39 Node Replacement Graph Grammars ........................................................... 40 Node Label Controlled (NLC) ...................................................................... 40 Neighborhood Controlled Embedding (NCE) .............................................. 42 Hyperedge Replacement Graph Grammars .................................................. 46 Algebraic Approach to Graph Transformation ............................................. 48 Programmed Graph Rewriting Systems........................................................ 51 Programmed Structure Replacement Systems .............................................. 55 Summary of Graph Grammars and Transformations.................................... 57 Graph Transformation Based Tools................................................................... 58 PROGRES..................................................................................................... 58 AGG.............................................................................................................. 59 Comparison of Features ................................................................................ 60 v Critique of Graph Transformation Tools ...................................................... 60 III. RESEARCH PROBLEM, HYPOTHESIS AND METHODS .................................. 63 Research Hypothesis.......................................................................................... 67 Research Methods.............................................................................................. 68 Completion Criteria ........................................................................................... 69 IV. GREAT: A MODEL-TO-MODEL TRANSFORMATION LANGUAGE .............. 71 Heterogeneous Graph Transformations............................................................. 71 Definitions ......................................................................................................... 75 The Pattern Specification Language.................................................................. 76 Simple Patterns ............................................................................................. 76 Fixed Cardinality Patterns............................................................................. 78 Extending the Set Semantics......................................................................... 82 Cardinality for Edges .................................................................................... 84 Variable Cardinality...................................................................................... 84 Pattern Graph and Match Definition............................................................. 86 Graph Rewriting/Transformation Language...................................................... 87 Language Realization.................................................................................... 89 The Language For Controlled Graph Rewriting And Transformation.............. 90 Sequencing of Rules ..................................................................................... 93 Hierarchical Rules......................................................................................... 94 Branching using test case.............................................................................. 98 Non-deterministic Execution ...................................................................... 100 Termination................................................................................................. 102 Enabling Optimized Graph Transformations................................................... 102 Typed Patterns ............................................................................................ 102 Pivoted Pattern Matching............................................................................ 103 Reusing Previously Matched Objects ......................................................... 104 User Controlled Traversal........................................................................... 105 V. THE EXECUTION FRAMEWORK FOR GREAT................................................ 107 Concrete Syntax............................................................................................... 108 Abstract Syntax................................................................................................ 110 Execution Engine............................................................................................. 112 Graph Rewriting Debugger (GRD).................................................................. 118 Code Generator...............................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    208 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