A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing Y. Adachi, Y. Miyadera, K. Sugita K. Tsuchida and T. Yaku.

Slides:



Advertisements
Similar presentations
Chapter 5 Syntax Directed Translation. Outline Syntax Directed Definitions Evaluation Orders of SDD’s Applications of Syntax Directed Translation Syntax.
Advertisements

Translator Architecture Code Generator ParserTokenizer string of characters (source code) string of tokens abstract program string of integers (object.
Computers Are Your Future
Eva van Emden, CWI Reverse Engineering Java Using ASF+SDF and Rigi A preliminary experience report.
Chapter 4.
Systems Analysis and Design 9th Edition
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
PZ03CX Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ03CX - Language semantics Programming Language Design.
Chapter 3: System design. System design Creating system components Three primary components – designing data structure and content – create software –
Programming Languages Structure
Chapter 3 Program translation1 Chapt. 3 Language Translation Syntax and Semantics Translation phases Formal translation models.
Compiler Summary Mooly Sagiv html://
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
Semi-Automatic Learning of Transfer Rules for Machine Translation of Low-Density Languages Katharina Probst April 5, 2002.
BİL744 Derleyici Gerçekleştirimi (Compiler Design)1.
1 Chapter 3 Context-Free Grammars and Parsing. 2 Parsing: Syntax Analysis decides which part of the incoming token stream should be grouped together.
Programming by Example using Least General Generalizations Mohammad Raza, Sumit Gulwani & Natasa Milic-Frayling Microsoft Research.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
H ECATAEUS A Framework for Representing SQL Constructs as Graphs George Papastefanatos 1, Kostis Kyzirakos 1, Panos Vassiliadis 2, Yannis Vassiliou 1 1.
Invitation to Computer Science 5th Edition
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
Compiler1 Chapter V: Compiler Overview: r To study the design and operation of compiler for high-level programming languages. r Contents m Basic compiler.
Form printing with SAP Smart Forms Instructor: Dylan Liu
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Chapter 10: Compilers and Language Translation Invitation to Computer Science, Java Version, Third Edition.
LANGUAGE TRANSLATORS: WEEK 3 LECTURE: Grammar Theory Introduction to Parsing Parser - Generators TUTORIAL: Questions on grammar theory WEEKLY WORK: Read.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style COMPILER DESIGN Review Joey Paquet,
Hichart Development Environment for Embedded Software ○ Takaaki Goto (UEC) Yasunori Shiono (Toyo University) Takeo Yaku (Nihon University) Kensei Tsuchida.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Joey Paquet, Lecture 12 Review. Joey Paquet, Course Review Compiler architecture –Lexical analysis, syntactic analysis, semantic.
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 1, 08/28/03 Prof. Roy Levow.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
Introduction to Compilers. Related Area Programming languages Machine architecture Language theory Algorithms Data structures Operating systems Software.
1 Compiler Construction (CS-636) Muhammad Bilal Bashir UIIT, Rawalpindi.
Chapter 1 Introduction Major Data Structures in Compiler
Gordana Rakić, Zoran Budimac
Compiler Design Introduction 1. 2 Course Outline Introduction to Compiling Lexical Analysis Syntax Analysis –Context Free Grammars –Top-Down Parsing –Bottom-Up.
Compiler Construction (CS-636)
Design Methods Instructor: Dr. Jerry Gao. Software Design Methods Design --> as a multistep process in which we design: a) data structureb) program structure.
Compiler Introduction 1 Kavita Patel. Outlines 2  1.1 What Do Compilers Do?  1.2 The Structure of a Compiler  1.3 Compilation Process  1.4 Phases.
 Fall Chart 2  Translators and Compilers  Textbook o Programming Language Processors in Java, Authors: David A. Watts & Deryck F. Brown, 2000,
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Dr. Mohamed Ramadan Saady 314ALL CH1.1 Chapter 1: Introduction to Compiling.
Compiler Construction CPCS302 Dr. Manal Abdulaziz.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
1 From Eviss to Viola: Visual Parser Generators based on Extended Constraint Multiset Grammars Jiro Tanaka University of Tsukuba
Hierarchical Modeling.  Explain the 3 different types of model for which computer graphics is used for.  Differentiate the 2 different types of entity.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
CS416 Compiler Design1. 2 Course Information Instructor : Dr. Ilyas Cicekli –Office: EA504, –Phone: , – Course Web.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
Lecture 9 Symbol Table and Attributed Grammars
Introduction to Compiler Construction
Programming Languages Translator
Formal Language Theory
Compiler Lecture 1 CS510.
IFIP16/ICEUT2000 Integrated Visualization-based Environment for Computer Science Education Kimio Sugita, Youzou Miyadera Kensei Tsuchida, Takeo Yaku I.
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Data Model.
Precedence Graph Grammar for Hierarchical Program Diagram
Presented by Denis Dubé Feb 28, 2005
Syntax vs Semantics Backus-Naur Form Extended BNF Derivations
Chapter 10: Compilers and Language Translation
Lec00-outline May 18, 2019 Compiler Design CS416 Compiler Design.
CH 4 - Language semantics
Compiler design Review COMP 442/6421 – Compiler Design
Presentation transcript:

A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing Y. Adachi, Y. Miyadera, K. Sugita K. Tsuchida and T. Yaku

Contents * Introduction : Purpose, Characteristics and Related Projects * Hichart Tree Structured Diagram (TSD) (1) Characteristics, (2) Attribute Graph Grammar * Hichart TSD Processing System (1) Translator (HiTRANS), (2) Editor (HiED) * Hichart Tidy Drawing Algorithm (HiTD) * Conclusion

Purpose and Characteristics Motivation : * Extension of Application Fields of Visualization. * Need of Theoretical Background for Them. (1) Constructing Automated Processing System (2) Studying Drawing Algorithm. Target : Visualization of Programs. Characteristics : (1) Using Tree Structured Diagram (TSD) (2) Applying Attribute Graph Grammar(AGG)

Related Projects, System Components Related Projects : (1) IPSEN-PROGRESS targets program semantics, (2) PLAN2D targets nested graphs, (3) DiaGen, (4) GraphEd target general graphs. Components of Our System (1) Syntactical Editor (HiED), (2) Translator targeting Pascal/C/DXL (HiTRANS), (3) TSD Tidy Drawing Algorithms.

Fig. 1 Components of the System

Fig. 2 Example Hichart TSD

2.1 Characteristics of Hichart TSD is a planary Graph. shows both data structures and control flow simultaneously. is satisfying some graphical constraints. (e.g. (a) hierarchical alignment, (b) uniform gap between cells.)

2.2 Attribute Graph Grammar Used for Constructing This System AGG : (GGu, A, F) * GGu : underlying context-free graph grammar. * A : set of attributes ( set of numerical values and functions.) * F : set of semantic rules ( set of relations among attributes)

Table 1 Attributes of HiAGG

Table 2 Example of Semantic Rules

3. HiTRANS : Translator of TSD Components an Features of Translators (1) X2H : Pascal/C/DXL to Hichart translator. input : Pascal/C/DXL source code, output : Hichart internal code and TSD. (2) H2X : Hichart to Pascal/C/DXL translator. input : Hichart internal code, output : Pascal/C/DXL program code. Rem. Hichart internal code is a text file.

Main Phases of H2X Parser ; input : a Hichart internal code as input, output : a derivation tree for TSD. Attribute-evaluator(A); input : a derivation tree, evaluation : attributes about cell size, type, inside cells. Attribute-evaluator(B); input : a derivation tree, evaluation : attributes about drawing condition among cells. Code-generator : generates program source codes.

Fig. 3 Parsing of a TSD

4 HiED:TSD Editor Feature (a) Editing Commands (1) Generation, (2) Insertion, (3) Deletion. (b) Characteristics * Generation of Grammatically Correct TSDs. Method * Providing of Editing Command Based on the Production Rules of the HiAGG.

5 HiTD:Drawing Algorithm of TSD HiTD : a program flowchart processing system that automatically generates tidy Hichart TSD using the theory of “ tidy drawing problem ”.

Constraints of Layout Constraints: (B 1 ) planarity condition, (B 2,3 ) hierarchy alignment condition, (B 4 ) balancing condition of a sub-tree, (B 5 ) isomorphism for sub-trees, (B 6 (k)) overlapping condition w.r.t a par. k, (B 7 ) other overlapping condition.

Conditions and Algorithms of Drawing Conditions E 0 = B 1, B 2,3, B 4, B 5, B 6 (0), E 1 = B 1, B 2,3, B 4, B 5; E2 = B 1, B 2,3, B 4, E 3 (k) = B 1, B 2,3, B 4, B 5, B 6 (k), B 7 E 4 = B 1, B 2,3, B 4, B 5, B 7 Algorithms HiTD-Proc : procedural algorithm HiTD-Cnst : constraint based algorithm HiTD-Agg : AGG based algorithm

Fig. 6 Structure of Hichart Drawing

Conclusion Development of a Visual Programming Environment Based on Graph Grammar. Definition of Complete AGG for Pascal/C/ DXL. Development of a Syntactical Programming TSD Processing. (1) HiED, (2) HiTRANS, (3) HiTD Implementation of a TSD Processing System Based on This AGG.