English

Aquarium: Cassiopea and Alewife Languages

Programming Languages 2022-04-14 v5

Abstract

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.

Cite

@article{arxiv.1908.00093,
  title  = {Aquarium: Cassiopea and Alewife Languages},
  author = {David A. Holland and Jingmei Hu and Ming Kawaguchi and Eric Lu and Stephen Chong and Margo I. Seltzer},
  journal= {arXiv preprint arXiv:1908.00093},
  year   = {2022}
}
R2 v1 2026-06-23T10:36:41.928Z