Share-where maintenance in visual algebraic specifications
Algebraic specifications whose signatures (abstract-syntax) have a mapping to pictures (two-dimensional concrete syntax) along with equations which are defined in terms of these pictures are introduced as visual algebraic specifications. The visual signatures are specified using visual lexicals which may be user-defined. The semantic rules are a set of equations which are defined using the language's own syntax. Signatures, semantic rules, and terms (programs) are all defined with interactive editors. The usual notion of term construction in an editor is extended by allowing subterm sharing which is necessary for two-dimensional representations. As is usual for algebraic specifications, we use term rewriting to provide a prototyping environment for these visual algebraic specifications. This work addresses the problem of presenting output terms after rewriting (visual pretty printing). We introduce a technique called “Share-Where Maintenance” which is used to preserve layout information and demonstrate its use as well as its limitations.
KeywordsStart State Abstract Syntax Semantic Rule Finite State Automaton Visual Language
Unable to display preview. Download preview PDF.
- 1.Y. Bertot. A canonical calculus of residuals. In G. Huet and G. Plotkin, editors, Logical Environments. Cambridge University Press, 1993.Google Scholar
- 3.A. van Deursen, J. Heering, and P. Klint. Language Prototyping. An Algebraic Specification Approach. AMAST series in Computing. World Scientific, 1996.Google Scholar
- 4.J. Field and F. Tip. Dynamic dependence in term rewriting systems and its application to program slicing. In M. Hermenegildo and J. Penjam, editors, Proceedings of the Sixth International Symposium on Programming Language Implementation and Logic Programming, volume 844 of Lecture Notes in Computer Science, pages 415–431. Springer-Verlag, 1994.Google Scholar
- 5.J. A. Goguen, J. W. Thatcher, and E. G. Wagner. Abstract data types as initial algebras and correctness of data representation. In Proc. Conference on Computer Graphics Pattern Recognition and Data Structure, pages 89–93, 1975.Google Scholar
- 6.J. V. Guttag and J. J. Horning, editors. Larch: Languages and Tools for Formal Specification. Texts and Monographs in Computer Science. Springer-Verlag, 1993. With S. J. Garland, K. D. Jones, A. Modet, and J. M. Wing.Google Scholar
- 8.J.W. Klop. Term rewriting systems. Technical Report Report CS-R9073, CWI, Amsterdam, 1990.Google Scholar
- 9.K. Marriott and B. Meyer. Towards a hierarchy of visual languages. In Workshop on Theory of Visual Languages, May 1996.Google Scholar
- 10.A. Schürr, A. Zündorf, and A. Winter. Visual programming with graph rewriting systems. In Proc. 1995 IEEE Symposium Visual Languages, September 1995.Google Scholar
- 11.S. M. Usküdarh. Generating visual editors for formally specified languages. In Proc. 1994 IEEE Symposium Visual Languages, pages 278–285, St. Louis, Illinois, October 1994.Google Scholar
- 12.S. M. Usküdarh. Algebraic Specification of Visual Languages. PhD thesis, University of Amsterdam, March 1997.Google Scholar
- 13.S. M. Usküdarh and T. B. Dinesh. Towards a visual programming environment generator for algebraic specifications. In Proc. 1995 IEEE Symposium Visual Languages, September 1995.Google Scholar