Aquarium: Cassiopea and Alewife Languages

31 Jul 2019  ·  David A. Holland, Jingmei Hu, Ming Kawaguchi, Eric Lu, Stephen Chong, Margo I. Seltzer ·

This technical report describes two of the domain specific languages used in the Aquarium kernel code synthesis project. It presents the language cores in terms of abstract syntax. Cassiopea is a machine description language for describing the semantics of processor instruction sets. Alewife is a specification language that can be used to write machine-independent specifications for assembly-level instruction blocks. An Alewife specification can be used to verify and synthesize code for any machine described in Cassiopea, given a machine-specific translation for abstractions used in the specification. This article does not include an introduction to either the Aquarium system or the use of the languages. In addition to this version of the article being a draft, the Aquarium project and the languages are works in progress. This article cannot currently be considered either final or complete.

PDF Abstract

Datasets


  Add Datasets introduced or used in this paper