Electronic Theses and Dissertations

Date of Award

1-1-2021

Document Type

Dissertation

Degree Name

Ph.D. in Engineering Science

First Advisor

H. Conrad Cunningham

Second Advisor

J. Adam Jones

Third Advisor

Philip Rhodes

Relational Format

dissertation/thesis

Abstract

Transitional turbulence is a period of chaotic or unreliable variation in the state of a software system that results from changes in the system’s interconnected components. During these periods of instability, an external observer of the system’s state may “see” erroneous results. This is a problem that can affect visual user interfaces such as those in virtual and augmented reality applications and desktop or Web GUIs. In this research, we study two different reactive applications developed in C# on .NET. We reduce the transitional turbulence by augmenting the base applications with a dependency-graph-based event scheduling approach. The first study investigates desktop and Web GUIs. The second study investigates virtual and augmented reality applications built on the Unity3D game engine. The two studies use similar approaches, but both are somewhat embedded in the details of their applications and implementation platforms. In addition to presenting the two augmented applications, this dissertation characterizes the problem and its solution in a more general way. To do so, we use a design pattern to state the general problem-solution pair and enable it to be reused in similar contexts. We examine the two studies to identify their commonalities. We then unify the approaches by writing a new design pattern named Dynamically Coalescing Reactive Chains (DCRC). This dissertation both presents the new design pattern and records the systematic process we used to write it. To evaluate the design pattern and its usage, we apply it to the application in the first study as if we were approaching the application anew. The DCRC pattern facilitates the use of our approach for other applications and technologies and lays the foundation for further research on transitional turbulence and related software architecture issues.

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.