This Article 
 Bibliographic References 
 Add to: 
Design, Construction, and Application of a Generic Visual Language Generation Environment
April 2001 (vol. 27 no. 4)
pp. 289-307

Abstract—The implementation of visual programming languages (VPLs) and their supporting environments is time consuming and tedious. To ease the task, researchers have developed some high level tools to reduce the development effort. None of these tools, however, can be easily used to create a complete visual language in a seamless way like the lex/yacc tools for textual language constructions. This paper presents the design, construction, and application of a generic visual language generation environment, called VisPro. The VisPro design model improves the conventional Model-View-Controller framework in that its functional modules are decoupled to allow independent development and integration. The VisPro environment consists of a set of visual programming tools. Using VisPro, the process of VPL construction can be divided into two steps: lexicon definition and grammar specification. The former step defines visual objects and a visual editor, and the latter step provides language grammars with graph rewriting rules. The compiler for the VPL is automatically created according to the grammar specification. A target VPL is generated as a programming environment which contains the compiler and the visual editor. The paper demonstrates how VisPro is used by building a simple visual language and a more complex visual modeling language for distributed programming.

[1] A. Ananda and B. Srinivasan, Distributed Computing Systems: Concepts and Structures. Los Alamitos, Calif.: IEEE CS Press, 1991.
[2] G. DiBattista, P. Eades, R. Tamassia, and I.G. Tollis, "Algorithms for Drawing Graphs: An Annotated Bibliography," Computational Geometry: Theory and Applications, vol. 4, no 5, pp. 235-282, 1994. Also available via anonymous ftp from,, andin.
[3] F.J. Brandenburg, “On Polynomial Time Graph Grammars,” Proc. Fifth Conf. Theoretical Aspects of Computer Science, pp. 227-236, 1988.
[4] P.C. Brown, “Satisfying the Graphical Requirements of Visual Languages in the DV-Centro Framework,” Proc. 13th Symp. Visual Languages (VL '97), pp. 84-91, Sept. 1997.
[5] M.M. Burnett, “Seven Programming Language Issues, Margaret Burnett,” Visual Object-Oriented Programming, A. Goldberg and T. Lewis, eds., pp. 161-181, 1994.
[6] J. Cao, F. Fernando, and K. Zhang, “Dig: A Graph-Based Construct for Programming Distributed Systems,” Proc. Second Int'l Conf. High Performance Computing (HiPC '95), pp. 417-422, Dec. 1995.
[7] S.‐K. Chang et al., “A Visual Language Compiler,” IEEE Trans. Software Eng., Vol. 15, No. 5, May 1989, pp. 506‐525.
[8] G. Costagliola, G. Tortora, S. Orefice, and A. De Lucia, "Automatic Generation of Visual Programming Environments," Computer, vol. 28, no. 3, pp. 56-66, Mar. 1995.
[9] A. Goldberg, M. Burnett, and T. Lewis, “What Is Visual Object-Oriented Programming?” Visual Object-Oriented Programming, M. Burnett, A. Goldberg, and T. Lewis, eds., 1994.
[10] E.J. Golin, “A Method for Specification and Parsing of Visual Languages,” PhD thesis, Brown Univ., May 1991.
[11] E.J. Golin and T. Magliery, "A Compiler Generator for Visual Languages," Proc. IEEE Workshop Visual Languages, pp. 314-321. IEEE CS Press, 1993.
[12] A. Grimshaw, J. Weissman, E. West, and E. Loyot, “Metasystems: An Approach Combining Parallel Processing and Heterogeneous Distributed Computing Systems,” J. Parallel and Distributed Computing, vol. 21, no. 3, pp. 257-270 1994.
[13] M. Hirakawa, Y. Nishimura, M. Kado, and T. Ichikawa, “Interpretation of Icon Overlapping in Iconic Programming,” Proc. Seventh IEEE Workshop Visual Languages (VL '91), pp. 254-259, Oct. 1991.
[14] M. Kleyn and A High, “Level Language for Specifying Graph-Based Languages and Their Programming Environments,” PhD thesis, The Univ. of Texas at Austin, Aug. 1995.
[15] G.E. Krasner and S.T. Pope, "A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk," J. Object Oriented Programming, pp. 26-49, Aug./Sept. 1988.
[16] K. Marriott, “Constraint Multiset Grammars,” Proc. 10th IEEE Symp. Visual Languages (VL '94), pp. 118-125, Oct. 1994.
[17] J.D. McWhirter and G.J. Nutt, “Escalante: An Environment for the Rapid Construction of Visual Language Applications,” Proc. 10th IEEE Symp Visual Languages (VL '94), pp. 15-22, Oct. 1994.
[18] M. Minas and G. Viehstaedt, “DiaGen: A Generator for Diagram Editors Providing Direct Manipulation and Execution of Diagrams,” Proc. 11th IEEE Symp. Visual Languages (VL '95), pp. 203-210 Sept. 1995.
[19] B.A. Myers, “Taxonomies of Visual Programming and Program Visualisation,” J. Visual Languages and Computing, vol. 1, pp. 97-123, 1990.
[20] J.V. Nickerson, “Visual Programming,” PhD thesis, Dept. of Computer Science, New York Univ., 1994.
[21] Rational Corporation, UML Document Set V1. 1, 1997, pub/papers/compgeohttp:/ .
[22] J. Rekers and A. Schürr, “A Graph Based Framework for the Implementation of Visual Environments,” Proc. 12th IEEE Symp. Visual Languages (VL '96), Sept. 1996.
[23] J. Rekers and A. Schürr, “Defining and Parsing Visual Languages with Layered Graph Grammars,” J. Visual Languages and Computing, vol. 8, no. 1, pp. 27-55, 1997.
[24] G. Rozenburg and E. Welzl, “Boundary NLC Graph Grammars—Basic Definitions, Normal Forms, and Complexity,” Information and Control, vol. 69, pp. 136-167, 1986.
[25] D. Schefstöm and G. van den Broek, Tool Integration Environments and Frameworks, John Wiley&Sons, 1993.
[26] P. Salis, G. Tate, and S. MacDonell, Software Engineering. Addison-Wesley, 1995.
[27] A. Schürr, A. Zundorf, and A. Winter, “Visual Programming with Graph Rewriting Systems,” Proc. 11th IEEE Symp. Visual Languages (VL '95), pp. 326-333, Sept. 1995.
[28] S. Shatz, Development of Distributed Software. New York: Macmillan, 1993.
[29] C. Upson et al., "The Application Visualization System: A Computational Environment for Scientific Visualization," IEEE Computer Graphics and Applications, Vol. 9, No. 4, July 1989, pp. 30-42.
[30] L. Weitzman and K. Wittenburg, “Automatic Presentation of Multimedia Documents Using Relational Grammars,” Proc. ACM Multimedia 94, ACM Press, New York, 1994, pp. 443-451.
[31] N. Wilde and C. Lewis, “Spreadsheet-Based Interactive Graphics: From Prototype to Tool,” Proc. ACM Conf. Human Factors in Computing Systems, pp. 153–159, Apr. 1990.
[32] D.-Q. Zhang and K. Zhang, “Reserved Graph Grammar: A Specification Tool for Diagrammatic VPLs,” Proc. 13th IEEE Symp. Visual Languages (VL '97), pp. 284-291, Sept. 1997.
[33] D-Q. Zhang and K. Zhang, “On A Visual Distributed Programming Environment and Its Construction by a Meta Toolset,” Proc. SEKE '98—10th Int'l Conf. Software Eng. and Knowledge Eng., June 1998.
[34] D.-Q. Zhang and K. Zhang, “VisPro: A Visual Language Generation Toolset,” Proc. 14th IEEE Symp. Visual Languages (VL '98), pp. 195-202, Sept. 1998.
[35] K. Zhang, X. Ma, and T. Hintz, “The Role of Graphics in Parallel Program Development,” J. Visual Languages and Computing, vol. 10, no. 3, pp. 215-243, 1999.

Index Terms:
Visual programming, visual languages, language construction, graph grammar.
Kang Zhang, Da-Qian Zhang, Jiannong Cao, "Design, Construction, and Application of a Generic Visual Language Generation Environment," IEEE Transactions on Software Engineering, vol. 27, no. 4, pp. 289-307, April 2001, doi:10.1109/32.917521
Usage of this product signifies your acceptance of the Terms of Use.