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

A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

  • Upload
    santos

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

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, - PowerPoint PPT Presentation

Citation preview

Page 1: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

A Visual Programming Environment Based on Graph

Grammars and Tidy Graph Drawing

Y. Adachi, Y. Miyadera, K. Sugita

K. Tsuchida and T. Yaku

Page 2: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

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

Page 3: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

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)

Page 4: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

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.

Page 5: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Fig. 1 Components of the System

Page 6: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Fig. 2 Example Hichart TSD

Page 7: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

2.1 Characteristics of Hichart TSD

• is a planary Graph.• shows both data structures and control f

low simultaneously.• is satisfying some graphical constraints.

(e.g. (a) hierarchical alignment, (b) uniform gap between cells.)

Page 8: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

2.2 Attribute Graph Grammar Used for Constructing This

System

• AGG : (GGu, A, F)* GGu : underlying context-free graph gra

mmar.* A : set of attributes ( set of numerical v

alues and functions.)* F : set of semantic rules ( set of relation

s among attributes)

Page 9: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Table 1 Attributes of HiAGG

Page 10: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Table 2 Example of Semantic Rules

Page 11: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

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.

Page 12: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Main Phases of H2XParser ; 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 co

des.

Page 13: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Fig. 3 Parsing of a TSD

Page 14: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

4 HiED:TSD Editor

• Feature(a) Editing Commands (1) Generation, (2) Insertion, (3) Deletio

n.(b) Characteristics * Generation of Grammatically Correct T

SDs. • Method

* Providing of Editing Command Based on the Production Rules of the HiAGG.

Page 15: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

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”.

Page 16: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing
Page 17: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Constraints of Layout

• Constraints:(B1) planarity condition,(B2,3) hierarchy alignment condition, (B4) balancing condition of a sub-tree, (B5) isomorphism for sub-trees, (B6(k)) overlapping condition w.r.t a par. k,

(B7) other overlapping condition.

Page 18: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Conditions and Algorithms of Drawing

• ConditionsE0 = B1, B2,3, B4, B5, B6(0), E1 = B1, B2,3, B4, B5; E2 = B1, B2,3, B4, E3(k) = B1, B2,3, B4, B5, B6(k), B7

E4 = B1, B2,3, B4, B5, B7

• Algorithms HiTD-Proc : procedural algorithm HiTD-Cnst : constraint based algorithm HiTD-Agg : AGG based algorithm

Page 19: A Visual Programming Environment Based on Graph Grammars and Tidy Graph Drawing

Fig. 6 Structure of Hichart Drawing

Page 20: A Visual Programming Environment Based on Graph Grammars and Tidy Graph 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.