thesis

A modular programming language for engineering design

Abstract

Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Aeronautics and Astronautics, 2008.Includes bibliographical references (p. 137-142).We introduce a new universal model of computation called MDPL that generalizes other functional models like the lambda calculus and combinatory logic. This model leads naturally to a new type of programming language that combines the key strengths of imperative and functional languages for development and analysis of programs. These strengths have particular relevance for rapid analysis of large-scale engineering design problems. MDPL uses a novel approach to provide not only the flexibility to easily change relationships among elements in a program (as in imperative languages), but also the power to easily reuse and redeploy existing structures of such relationships in new places within a program (as in functional languages). The core formalism of MDPL is highly structured, but can be operated on by a family of formally defined algorithmic transformations that can automatically modify the structure of MDPL programs in useful ways to alter the relationships between essentially arbitrary program elements. These operations change the structure of a program to either change its functional interpretation, or to provide a different representation with the same interpretation, which may be used to make further changes. These algorithmic transformations play a critical role in rapid, incremental development of MDPL programs. We describe a prototype implementation of an MDPL-based graphical programming environment targeted at engineering modeling tasks. This environment is used to conduct an experimental case study comparing the performance of the MDPL-based environment with a mainstream spreadsheet-based environment in the hands of engineers addressing a space systems design analysis task in a time-critical setting. The results of the case study illustrate some of the practical advantages of MDPL and confirm the intuition behind its design.(cont) We also discuss the theoretical capabilities of MDPL in relation to general-purpose computer programming, and explain how it captures or supersedes many of the important features of existing programming languages from multiple paradigms. Finally, we discuss opportunities for future research and development, including: efficient implementation of the MDPL formalism; an effective graphical user interface for programming in MDPL-based languages; and potential extensions to MDPL for specialized application areas.by Thomas Merritt Coffee.S.M

    Similar works