Back to results

Massachusetts Institute of Technology

A modular programming language for engineering design

Abstract

dc:description.abstract

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.

Degree

thesis:*
Department dc:contributor.department
Massachusetts Institute of Technology. Dept. of Aeronautics and Astronautics.
Grantor dc:publisher
Massachusetts Institute of Technology
Year dc:date.issued
2008

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Coffee, Thomas Merritt
Advisor dc:contributor.advisor
  • Annalisa L. Weigel.

Subjects

dc:subject × 1

Rights

dc:rights
Statement dc:rights
  • M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission.
Language dc:language.iso
eng

Identifiers

dc:identifier.*
Handle dc:identifier.uri
http://hdl.handle.net/1721.1/43080
OAI identifier oai:identifier
oai:dspace.mit.edu:1721.1/43080

Chain of custody

source
Harvested from
MIT
Base URL
dspace.mit.edu/oai/request
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Coffee, Thomas Merritt. A modular programming language for engineering design. Massachusetts Institute of Technology, 2008. http://hdl.handle.net/1721.1/43080