Loading...
The Life Changing HERMIT: A Case Study of the Worker/Wrapper Transformation
Torrence, Brad Eugene
Torrence, Brad Eugene
Citations
Altmetric:
Abstract
In software engineering, altering a program's original implementation disconnects it from the model that produced it. Reconnecting the model and new implementations must be done in a way that does not decrease confidence in the design's correctness and performance. This thesis demonstrates that it is possible, in practice, to connect the model of Conway's Game of Life with new implementations, using the worker/wrapper transformation theory. This connection allows development to continue without the sacrifice of re-implementation. HERMIT is a tool that allows programs implemented in Haskell to be transformed during the compilation process, and has features capable of performing worker/wrapper transformations. Specifically in these experiments, HERMIT is used to apply syntax transformations to replace Life's linked-list based implementation with one that uses other data structures in an effort to explore alternative implementations and improve overall performance. Previous work has successfully performed the worker/wrapper conversion on an individual function using HERMIT. This thesis presents the first time that a programmer-directed worker/wrapper transformation has been attempted on an entire program. From this experiment, substantial observations have been made. These observations have led to proposed improvements to the HERMIT system, as well as the formal approach to the worker/wrapper transformation process.
Description
Date
2015-05-31
Journal Title
Journal ISSN
Volume Title
Publisher
University of Kansas
Collections
Files
Research Projects
Organizational Units
Journal Issue
Keywords
Computer science, Computer engineering, Engineering, Game of Life, GHC, Haskell, HERMIT, transformation, Worker/Wrapper
