Building syntax-aware editors for visual languages

Syntax-aware editors are a class of editors prompting users into writing syntactically correct programs by exploiting visual language syntax. They are particularly useful in those application domains where the way a visual symbol spatially relates to others depends from the context. This does not mean constraining users to enter only correct syntactic states in a visual sentence, rather it means detecting both syntax and potential semantic errors as early as possible, and providing error feedbacks in a non-intrusive way during editing. As a consequence, error handling strategies are an essential part of this editing style. In this work, we present a strategy for the automatic generation of syntax-aware visual language editors integrating incremental subsentence parsers into freehand editors. The proposed parsing strategy has turned out to be useful in many application domains involving spatial information systems, thanks to the possibility of interactively prompting feasible visual sentence extensions, and to the presence of a non-correcting error recovery strategy. A first experimental prototype implementing the whole approach has been embedded into the VLDesk system, and empirical studies have been performed in order to verify the performance and the effectiveness of the proposed approach.

[1]  Edward Yourdon,et al.  Modern structured analysis , 1989 .

[2]  Gabor Karsai,et al.  Composing Domain-Specific Design Environments , 2001, Computer.

[3]  Mark Minas,et al.  Concepts and realization of a diagram editor generator based on hypergraph transformation , 2002, Sci. Comput. Program..

[4]  Albert Zündorf,et al.  The PROGRES approach: language and environment , 1999 .

[5]  Antoni Diller,et al.  Z - an introduction to formal methods , 1990 .

[6]  Gennaro Costagliola,et al.  Visual Language Editors based on LR Parsing Techniques , 2003, IWPT.

[7]  Gennaro Costagliola,et al.  A framework for modeling and implementing visual notations with applications to software engineering , 2004, TSEM.

[8]  Eric J. Golin,et al.  Parsing visual languages with picture layout grammars , 1991, J. Vis. Lang. Comput..

[9]  Kim Marriott,et al.  Automatic generation of intelligent diagram editors , 2003, TCHI.

[10]  Masaru Tomita,et al.  Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems , 1985 .

[11]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[12]  Jean-Marc Nerson,et al.  Seamless Object-Oriented Software Architecture - Analysis and Design of Reliable Systems , 1995 .

[13]  Masaru Tomita,et al.  Efficient parsing for natural language , 1985 .

[14]  Wilco Koorn,et al.  Substring parsing for arbitrary context-free grammars , 1991, SIGP.

[15]  Andrew Hunter,et al.  MetaBuilder: The Diagrammer's Diagrammer , 2000, Diagrams.

[16]  Roswitha Bardohl,et al.  A visual environment for visual languages , 2002, Sci. Comput. Program..

[17]  Antti-Pekka Tuovinen Practical Error Handling in Parsing Visual Languages , 2000, J. Vis. Lang. Comput..

[18]  Jiannong Cao,et al.  Design, Construction, and Application of a Generic Visual Language Generation Environment , 2001, IEEE Trans. Software Eng..

[19]  Jürgen Ebert,et al.  Meta-CASE in Practice: a Case for KOGGE , 1997, CAiSE.

[20]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools , 1999 .

[21]  Bernd Meyer,et al.  Visual Language Theory , 2012, Springer New York.

[22]  Kim Marriott,et al.  A survey of visual language specification and recognition , 1998 .

[23]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.