The Khepera Transformation System is a system designed for implementing complex program transformations in a research environment. This system provides the scaffolding for my dissertation work on debugging programs after significant, structure-changing transformations. It also provides an environment for the implementation of The Proteus System.
I presented a paper on Khepera at the Domain-Specific Languages conference (DSL'97, October 15-17, 1997, Fess Parker's Doubletree Resort, Santa Barbara, California).
Khepera: A System for Rapid Implementation of Domain Specific Languages
by Rickard E. Faith, Lars S. Nyland, Jan F. Prins
PostScript Version (383kB)
HTML Version (not as nicely formatted)
The Khepera system is a toolkit for the rapid implementation and long-term maintenance of domain specific languages (DSLs). Our viewpoint is that DSLs are most easily implemented via source-to-source translation from the DSL into another language and that this translation should be based on simple parsing, sophisticated tree-based analysis and manipulation, and source generation using pretty-printing techniques. Khepera emphasizes the use of familiar, pre-existing tools and provides support for transformation replay and debugging for the DSL processor and end-user programs. In this paper, we present an overview of our approach, including implementation details and a short example.
The Khepera Transformation System was implemented by Rik Faith. Type checking support was done by Bill Yakowenko. Lars Nyland helped with bug fixes, high-level testing, and discussions about design and implementation. Jan Prins is my dissertation advisor.
Development of this software at the University of North Carolina, Chapel Hill was supported by ARPA via ONR contract N00014-92-C-0182, by Rome Labs contract F30602-94-C-0037, and by a Cray Fellowship from Cray Research, Inc. and NCSC (North Carolina Supercomputing Center).
Here is a picture of Khepera (from E. A. Wallis Budge's The Gods of the Egyptians, Volume 1, illustration facing page 355 (Dover 1969 reprint of the original 1904 edition)):
Here is a picture of Khepera in his boat (from E. A. Wallis Budge's The Gods of the Egyptians, Volume 1, illustration facing page 334 (Dover 1969 reprint of the original 1904 edition)):