首页> 外文期刊>Software and systems modeling >CoqTL: a Coq DSL for rule-based model transformation
【24h】

CoqTL: a Coq DSL for rule-based model transformation

机译:CoqTL:Coq DSL,用于基于规则的模型转换

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

摘要

In model-driven engineering, model transformation (MT) verification is essential for reliably producing software artifacts. While recent advancements have enabled automatic Hoare-style verification for non-trivial MTs, there are certain verification tasks (e.g. induction) that are intrinsically difficult to automate. Existing tools that aim at simplifying the interactive verification of MTs typically translate the MT specification (e.g. in ATL) and properties to prove (e.g. in OCL) into an interactive theorem prover. However, since the MT specification and proof phases happen in separate languages, the proof developer needs a detailed knowledge of the translation logic. Naturally, any error in the MT translation could cause unsound verification, i.e. the MT executed in the original environment may have different semantics from the verified MT. We propose an alternative solution by designing and implementing an internal domain-specific language, namely CoqTL, for the specification of declarative MTs directly in the Coq interactive theorem prover. Expressions in CoqTL are written in Gallina (the specification language of Coq), increasing the possibilities of reusing native Coq libraries in the transformation definition and proof. CoqTL specifications can be directly executed by our transformation engine encoded in Coq, or a certified implementation of the transformation can be generated by the native Coq extraction mechanism. We ensure that CoqTL has the same expressive power of Gallina (i.e. if a MT can be computed in Gallina, then it can also be represented in CoqTL). In this article, we introduce CoqTL, evaluate its practical applicability on a use case, and identify its current limitations.
机译:在模型驱动的工程中,模型转换(MT)验证对于可靠地产生软件工件至关重要。尽管最近的进步为非平凡的MT启用了自动的Hoare样式验证,但某些验证任务(例如归纳)本质上难以实现自动化。旨在简化MT的交互式验证的现有工具通常会将MT规范(例如,在ATL中)和要证明的属性(例如,在OCL中)转换为交互式定理证明器。但是,由于MT规范和证明阶段使用单独的语言进行,因此证明开发者需要对翻译逻辑的详细了解。自然,MT转换中的任何错误都可能导致不正确的验证,即在原始环境中执行的MT可能与已验证的MT具有不同的语义。我们通过直接在Coq交互式定理证明器中设计和实现内部领域特定的语言(即CoqTL)来提出声明性MT的规范,提出了一种替代解决方案。 CoqTL中的表达式使用Gallina(Coq的规范语言)编写,从而增加了在转换定义和证明中重用本机Coq库的可能性。 CoqTL规范可以由我们以Coq编码的转换引擎直接执行,或者可以通过本机Coq提取机制生成转换的认证实现。我们确保CoqTL具有与Gallina相同的表达能力(即,如果可以在Gallina中计算MT,那么它也可以在CoqTL中表示)。在本文中,我们介绍CoqTL,评估其在用例上的实际适用性,并确定其当前的局限性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号