首页> 外文期刊>Software and systems modeling >Toward live domain-specific languages: From text differencing to adapting models at run time
【24h】

Toward live domain-specific languages: From text differencing to adapting models at run time

机译:面向实时领域特定语言:从文本差异到运行时的适应模型

获取原文
获取原文并翻译 | 示例
       

摘要

Live programming is a style of development characterized by incremental change and immediate feedback. Instead of long edit-compile cycles, developers modify a running program by changing its source code, receiving immediate feedback as it instantly adapts in response. In this paper, we propose an approach to bridge the gap between running programs and textual domain-specific languages (DSLs). The first step of our approach consists of applying a novel model differencing algorithm, TMDIFF, to the textual DSL code. By leveraging ordinary text differencing and origin tracking, TMDIFF produces deltas defined in terms of the metamodel of a language. In the second step of our approach, the model deltas are applied at run time to update a running system, without having to restart it. Since the model deltas are derived from the static source code of the program, they are unaware of any run-time state maintained during model execution. We therefore propose a generic, dynamic patch architecture, RMPATCH, which can be customized to cater for domain-specific state migration. We illustrate RMPATCH in a case study of a live programming environment for a simple DSL implemented in RASCAL for simultaneously defining and executing state machines.
机译:实时编程是一种发展风格,其特点是增量变化和即时反馈。开发人员可以通过更改源代码来修改正在运行的程序,而无需立即进行漫长的编辑编译周期,因为它可以立即做出响应,因此可以立即收到反馈。在本文中,我们提出了一种弥合运行程序与文本域特定语言(DSL)之间的差距的方法。我们方法的第一步是将新颖的模型差分算法TMDIFF应用于文本DSL代码。通过利用普通文本差异和原点跟踪,TMDIFF产生了根据语言的元模型定义的增量。在我们方法的第二步中,在运行时应用模型增量来更新正在运行的系统,而不必重新启动它。由于模型增量是从程序的静态源代码派生的,因此它们不知道在模型执行期间维护的任何运行时状态。因此,我们提出了一种通用的动态补丁体系结构RMPATCH,可以对其进行自定义以满足特定于域的状态迁移的要求。我们在一个实时编程环境的案例研究中说明了RMPATCH,该环境用于在RASCAL中实现的同时定义和执行状态机的简单DSL。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号