AbstractIn this paper we study the problem of translation between visual languages. Languages with a visual syntax are currently in wide use, due to the popularity of different kinds of diagrams used especially in software analysis, design, and animation. Unlike conventional textual languages, visual languages are still quite immature with regard to the formalisms for their specification and automatic implementation. As a consequence, the current diagram editors are usually implemented with ad hoc solutions on a weak methodological foundation. This makes it hard to develop sophisticated diagram manipulators, such as meaning-preserving transformators between two different styles of diagrams. To overcome this problem, we present a solid method for the transformation between diagrams, or more generally, for the source-to-source translation between two visual languages. The method is based on a mapping between atomic relational grammars for the two languages, and on considering translation as a parse tree transformation process. We also present the underlying technique of producing a parse tree for a visual language specified with an atomic relational grammar.
Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors; F.4.2 [Mathematical Logic and Formal Languages]: Grammars and Other Rewriting Systems; D.1.7 [Programming Techniques]: Visual Programming
Additional Key Words and Phrases: grammatical modeling, diagram transformation, visual language parsing, visual language translation
Selected references
- Giuseppe Di Battista and Roberto Tamassia. Algorithms for plane representations of acyclic digraphs. Theoretical Computer Science, 61(2-3):175-198, November 1988.
- Emden R. Gansner, Eleftherios Koutsofios, Stephen C. North, and Kiem-Phong Vo. A technique for drawing directed graphs. IEEE Transactions on Software Engineering, 19(3):214-230, March 1993.
- Donald E. Knuth. Semantics of context-free languages. Mathematical Systems Theory, 2(2):127-145, 1968.
- Greger Lindén, Henry Tirri, and Inkeri Verkamo. ALCHEMIST; a general purpose transformation generator. Software -- Practice and Experience, 26(6):653-675, June 1996.
- L. Beth Protsko, Paul G. Sorenson, J. Paul Tremblay, and Douglas A. Schaefer. Towards the automatic generation of software diagrams. IEEE Transactions on Software Engineering, 17(1):10-21, January 1991.