Computer Science Colloquia
Monday, December 1, 2014
Adviser: John Knight
Attending Faculty: Jack Davidson (Chair), Jim Cohoon, Kevin Sullivan, and Hongning Wang
4:30 PM in Rice 514
Ph.D. Qualifying Exam Presentation
Real-World Types and Their Uses
The relationship between real-world entities and programs is quite complex. Real-world entities are accessed through hardware like sensors and actuators. Current software systems typically represent those real-world entities as variables, values or instance; such practice ambiguously intertwines the virtual versions of real-world entities provided by hardware with the entities themselves. The project introduces the notion of real-world types to document real-world entities in programs; and the correspondence model to document and leverage the relationship between real-world entities and programs. Real-world types are derived from real-world entities. They include all of the relevant semantic attributes of real-world entities together with appropriate rules for using those entities in expressions, such as parameters. Using real-world types and the correspondence model, programmers will be able to enforce real-world rules in programs in a systematic way, thereby enabling a new class of fault detection. In this project, real-world types are illustrated and evaluated by applying an implementation to a set of open-source projects.