论文下载
Challenges&Opportunities-in-low-code-testing.pdf
定义描述在第 2 节背景部分:
2 BACKGROUND
Low-code is an alive and in-progress domain that requires new techniques and tools proposal for resolving the existing challenges or for realizing new requirements. This needs an understanding of the theory behind the low-code domain that is described in this section.
2.1 Domain-Specific Language
A Domain-Specific Language (DSL) is a computer language special- ized to a particular application domain that enables domain experts to create a system using concepts they are familiar with. A DSL has to be designed in a way to be understandable for humans while executable by machine. For example, SQL is a well-known DSL specific for manipulation of databases [8].
Regarding the main objective of LCDPs, i. e., providing system development facilities for domain experts, DSLs are the underlying theory in the LCDP development. The target application domain of an LCDP, or more specifically, the aspects of a system that are modeled in that LCDP, defines which kind of DSLs are used on its basis. For instance, the Business Process Model and Notation (BPMN) is a well-known DSL for modeling business processes. It is used in Mendix LCDP to enable users to develop applications for automating the business processes of their organizations [31].
2.2 Model-Driven Engineering
Model-Driven Engineering (MDE) is a software development method- ology that uses models as the pivotal elements in the development. Model is an abstract representation of a system that conforms to a specific metamodel (i. e. the abstract syntax of a specific DSL), and is also independent of the technologies. To build a system following MDE principle, a domain expert first models the application domain manually, and then the models are automatically transformed to either intermediate models (i. e., model-to-model transformation) or source code (i. e., model-to-text transformation) [6]. In the first case, a model-driven execution platform is used for interpreting and running the intermediate models at runtime, while in the second, code generation engines produce executable code of the system (i. e.,
editable source code or bytecode) that can be executed at runtime environments [5]. In both cases, the transformation is implemented once by language engineers, and then is used several times to auto-generate many systems of the same type. Abstraction along with automation resulted in simplicity, reusability, higher accuracy, portability, interoperability, complexity management, lower cost, and faster release time [6], and these are the potential advantages offered by LCDPs.
LCDPs follow MDE principles. Indeed, they support system de- sign through visual modeling, and automatic generation of the executable final system following two distinct architectural ap- proaches. Some LCDPs, such as OutSystems, use code generation engines to produce executable code, and others, such as Mendix and Lightening, use a model-driven execution platform [5].
翻译来自有道,仅参考:
2 背景
低代码是一个活跃的、正在进行的领域,它需要新的技术和工具建议来解决现有的挑战或实现新的需求。这需要理解本节描述的低码域背后的理论。
2.1 特定于域的语言
领域特定语言(DSL)是一种专门用于特定应用领域的计算机语言,它允许领域专家使用他们熟悉的概念创建系统。DSL 的设计必须是人类可以理解的,同时机器可以执行。例如,SQL 是一种众所周知的特定于操作数据库[8]的 DSL。
就 LCDP 的主要目标,即为领域专家提供系统开发设施而言,领域特定语言是 LCDP 开发的基础理论。LCDP 的目标应用程序域,或者更具体地说,在该 LCDP 中建模的系统的各个方面,定义了在其基础上使用哪种 dsl。例如,业务流程模型和符号(BPMN)是一种著名的用于建模业务流程的 DSL。它在 Mendix LCDP 中被用来使用户能够开发应用程序来自动化他们组织[31]的业务流程。
2.2 模型驱动工程
模型驱动工程(model driven Engineering, MDE)是一种以模型为核心的软件开发方法。模型是系统的抽象表示,它符合特定的元模型(即特定 DSL 的抽象语法),并且独立于技术。为了构建一个遵循 MDE 原则的系统,领域专家首先手动建模应用领域,然后模型自动转换为中间模型(即,模型到模型转换)或源代码(即,模型到文本转换)[6]。在第一种情况下,模型驱动的执行平台用于在运行时解释和运行中间模型,而在第二种情况下,代码生成引擎产生系统的可执行代码(即,
可编辑的源代码或字节码),可以在运行时环境[5]中执行。在这两种情况下,转换都由语言工程师实现一次,然后多次使用以自动生成许多相同类型的系统。抽象和自动化一起带来了简单性、可重用性、更高的准确性、可移植性、互操作性、复杂性管理、更低的成本和更快的发布时间[6],这些都是 LCDPs 提供的潜在优势。
液晶显示器遵循 MDE 原则。实际上,它们通过可视化建模和遵循两种不同的体系结构方法自动生成可执行的最终系统来支持系统设计。一些 LCDPs,如 OutSystems,使用代码生成引擎来生成可执行代码,而其他的,如 Mendix 和 Lightening,使用模型驱动的执行平台[5]。