Domain-Specific Language Techniques for Visual Computing: A Comprehensive Study

  • PDF / 4,945,329 Bytes
  • 22 Pages / 595.276 x 790.866 pts Page_size
  • 48 Downloads / 221 Views

DOWNLOAD

REPORT


ORIGINAL PAPER

Domain-Specific Language Techniques for Visual Computing: A Comprehensive Study Liming Shen1 · Xueyi Chen1 · Richen Liu1

· Hailong Wang1 · Genlin Ji1

Received: 10 February 2020 / Accepted: 27 August 2020 © CIMNE, Barcelona, Spain 2020

Abstract As a part of domain-specific development, Domain-Specific Language (DSL) is widely used in both the academia and industry to solve different aspects of the problems in engineering. A DSL is a customized language whose expressiveness is tailored to a well-defined application domain, so as to offer an effective interface for the domain experts. To mitigate the programming complexity of the General-Purpose Programming Languages, and meanwhile maintain the precise expression towards some exact engineering domains, DSLs present a higher level of abstraction than low-level interfaces, while providing much more flexibility than high-level interfaces. Nevertheless, it lacks a survey to have a systematic overview of the essential commonalities shared by those works. In this survey, we take a brand-new perspective, to categorize the state-of-the-art works into different categories, tailored to three fundamental implementation concerns of DSLs: abstract syntax, concrete syntax, and semantics. Specifically, they are characterized according to their parsing and mapping strategy (external/internal) between the abstract syntax and concrete syntax, the mapping results (textual/graphical symbols), and also the functions they emphasize (modeling, visualizing, etc.). Integrated with the literature, we finally summarized the research overview of DSLs.

1 Introduction Domain-specific languages (DSLs) are languages that are tailored to specific engineering domains and offer significant improvements in expressiveness and ease of use compared with general programming languages. DSLs are highly specialized to a particular solution domain and provide the high-level abstractions which serve as building blocks helping analysts to quickly create programs. In addition, they rely on visual elements (such as layout, colors and lines) to represent the meaning of programs, which can help programmers with correctly understanding programs [1]. DSL development is difficult and requires domain knowledge and language development expertise. But as time proceeds, DSLs have been widely used in science and engineering projects. Scientists often struggle to manage data complexity and choose the version to control system and developers need to know their choice of tools and languages, and the obstacles these choices bring. DSLs can provide

B 1

Richen Liu [email protected] School of Computer and Electronic Information / School of Artificial Intelligence, Nanjing Normal University, Nanjing, Jiangsu, China

higher levels of abstraction in environments close to the domain of application expert [2], to quickly and correctly complete a program that meets the requirements, helping scientists and analysts deal with complex code and data and estimate future trends about the data use or context. Although DSLs