We discuss a formal framework for using algebraic structures to model a meta-language that can write, compose, and provide interoperability between abstractions of DSLs. The purpose of this formal framework is to provide a verification of compositional properties of the meta-language. Throughout our paper we discuss the construction of this formal framework, as well its relation to our team's work on the DARPA V-SPELLS program via the pipeline we have developed for completing our verification tasking on V-SPELLS. We aim to give a broad overview of this verification pipeline in our paper. The pipeline can be split into four main components: the first is providing a formal model of the meta-language in Coq; the second is to give a specification in Coq of our chosen algebraic structures; third, we need to implement specific instances of our algebraic structures in Coq, as well as give a proof in Coq that this implementation is an algebraic structure according to our specification in the second step; and lastly, we need to give a proof in Coq that the formal model for the meta-language in the first step is an instance of the implementation in the third step.
翻译:我们讨论了一个形式化框架,该框架利用代数结构对一种元语言进行建模,该元语言能够编写、组合并实现领域特定语言(DSL)抽象之间的互操作性。此形式框架的目的是验证元语言的组合性质。本文详细阐述了该形式框架的构建过程,以及其与我们团队在DARPA V-SPELLS项目中工作的关联——具体通过我们为完成V-SPELLS验证任务而开发的流水线体现。本文旨在对该验证流水线进行概述。该流水线可分为四个主要部分:第一,在Coq中为元语言建立形式模型;第二,在Coq中对我们所选代数结构进行规范描述;第三,在Coq中实现我们代数结构的具体实例,并根据第二步中的规范,在Coq中证明该实现构成了一个代数结构;最后,需要在Coq中证明第一步中的元语言形式模型是第三步中实现的一个实例。