“测试、构建、部署”——开源硬件设计的CI/CD框架

"Test, Build, Deploy" -- A CI/CD Framework for Open-Source Hardware Designs

摘要 Abstract

在TedX演讲中,Amber Huffman 激情呼吁“我们个人都不如所有人聪明”,并指出开源硬件是未来的发展方向。在软件质量提升方面,无论是开源还是闭源软件,持续集成和交付(CI/CD)系统设计方法论都做出了重要贡献,我们提议将其系统性地引入硬件设计及其规格说明中。为此,我们通过自动化的规格生成技术,利用“一种机器学习方法来发现形式化规格”的规范挖掘技术,极大地提升了软件工程师实现质量、验证和安全性能力。然而,将相同的技术应用于硬件并非易事。我们提出了一种通用的硬件规格设计持续集成(CI)技术,并持续部署(CD)硬件规格。作为一个概念验证,我们展示了Myrtha——一种基于现有硬件和软件质量工具的云基础规格生成器。

Addressing TedX, Amber Huffman made an impassioned case that "none of us is as smart as all of us" and that open-source hardware is the future. A major contribution to software quality, open source and otherwise, on the software side, is the systems design methodology of Continuous Integration and Delivery (CI/CD), which we propose to systematically bring to hardware designs and their specifications. To do so, we automatically generate specifications using specification mining, "a machine learning approach to discovering formal specifications" which dramatically impacted the ability of software engineers to achieve quality, verification, and security. Yet applying the same techniques to hardware is non-trivial. We present a technique for generalized, continuous integration (CI) of hardware specification designs that continually deploys (CD) a hardware specification. As a proof-of-concept, we demonstrate Myrtha, a cloud-based, specification generator based on established hardware and software quality tools.