Towards User-Friendly Projectional Editors

Towards User-Friendly Projectional Editors
复制标题

走向用户友好的投影编辑器

DOI:
--
复制
发表时间:
2014
期刊:
Software Language Engineering
影响因子:
--
通讯作者:
Bernd Kolb
Bernd Kolb
中科院分区:
--
文献类型:
--
作者:
M. Völter;J. Siegmund;T. Berger;Bernd Kolb

文献摘要

被引文献

相似文献

当今语言发展面临的挑战包括语言的扩展和构成,以及不同符号的使用。一个很有前途的方法是投影编辑,这是一种直接操作程序的抽象语法树的技术,而不依赖于解析器。它的潜力在于能够组合不同的表示法样式——比如文本、符号、表格和图形——以及对广泛的组合技术的支持。然而,投影编辑通常被开发者认为是有问题的。缺点包括不熟悉的编辑经验和与现有基础设施集成的挑战。本文研究了投影编辑器的可用性。我们系统地识别由架构引起的可用性问题。我们使用JetBrains Meta Programming System (MPS)作为案例研究。案例研究讨论了MPS包含的概念,以解决已确定的问题,通过调查专业开发人员来评估这些概念的有效性,并报告了实现大规模系统的工业经验。我们的结果表明,灵活的语言组合和多样化的符号带来的好处是以严重的可用性问题为代价的——然而,可以通过模拟基于解析器的编辑器的编辑体验的工具来有效地缓解这些问题。
Today’s challenges for language development include language extension and composition, as well as the use of diverse notations. A promising approach is projectional editing, a technique to directly manipulate the abstract syntax tree of a program, without relying on parsers. Its potential lies in the ability to combine diverse notational styles – such as text, symbols, tables, and graphics – and the support for a wide range of composition techniques. However, projectional editing is often perceived as problematic for developers. Expressed drawbacks include the unfamiliar editing experience and challenges in the integration with existing infrastructure. In this paper we investigate the usability of projectional editors. We systematically identify usability issues resulting from the architecture. We use JetBrains Meta Programming System (MPS) as a case study. The case study discusses the concepts that MPS incorporates to address the identified issues, evaluates effectiveness of these concepts by surveying professional developers, and reports industrial experiences from realizing large-scale systems. Our results show that the benefits of flexible language composition and diverse notations come at the cost of serious usability issues – which, however, can be effectively mitigated with facilities that emulate editing experience of parser-based editors.