Date of Award

9-2010

Degree Type

Thesis

Degree Name

Master of Applied Science (MASc)

Department

Software Engineering

Supervisor

Jacques Carette

Co-Supervisor

Spencer Smith

Language

English

Abstract

This thesis presents the design and implementation of a generative geometric kernel suitable for supporting a family of mesh generation programs. The kernel is designed as a program generator which is generic, parametric, type-safe. and maintainable. The generator can generate specialized code that has minimal traces of the design abstractions. We achieve genericity, understandability, and maintainability in the generator by a layered design that adopts its concepts from the affine geometry domain. We achieve parametricity and type-safety by using MetaOCaml's module system and its support for higher order modules. The cost of adopting natural domain abstractions is reduced by combining MetaOCaml's support for multi-stage programming with the technique of abstract interpretation.

McMaster University Library



Share

COinS