Date of Award:

2014

Document Type:

Thesis

Degree Name:

Master of Science (MS)

Department:

Computer Science

Advisor/Chair:

Curtis Dyreson

Co-Advisor/Chair:

Nicholas Flann

Abstract

Sequenced semantics, which was first proposed in the context of temporal databases, is the semantics for the evaluation of a program on values annotated with time metadata. The time metadata records when each value is “live” (is valid or has existence). Sequenced semantics stipulates that a computation on values annotated with temporal metadata must be equivalent to, in effect, running the computation at every time point with only the values alive at that time. Sequenced semantics is challenging to program because it is more than just a re-interpretation of the run-time behavior of a program; for instance, a sequenced “if-else” statement may need to evaluate both the “true” and “false” branches, in different time slices of the computation.

This thesis introduces MultiverseJava. MultiverseJava supports sequenced semantics for time stamped values in a Java program. Programmers currently have to resort to ad hoc methods to implement sequenced semantics in Java programs; hence, a better approach is needed. We show how MultiverseJava can be implemented using a MultiverseJava to Java translation. The translation layer weaves support for computing with the timestamped values into a Java program. This thesis describes the MultiverseJava architecture, the layer, semantic templates, and experiments to quantify the cost of MultiverseJava.

Share

COinS