Commit 05e5517dd887751cc3293b823b5fd442aa356c22

Authored by Geoffrey Challen
1 parent 950e73bd

Cleanup pass.

abstract.tex
1 \begin{abstract} 1 \begin{abstract}
2 2
3 One of the reasons programming mobile systems is so hard is the wide variety 3 One of the reasons programming mobile systems is so hard is the wide variety
4 -of environments a typical app encounters at runtime. In many cases, only  
5 -post-deployment user testing can determine the right algorithm to use, the  
6 -rate at which something should happen, or when an app should attempt to  
7 -conserve energy. Programmers should not be forced to make these choices at 4 +of environments a typical app encounters at runtime. As a result, in many
  5 +cases only post-deployment user testing can determine the right algorithm to
  6 +use, the rate at which something should happen, or when an app should attempt
  7 +to conserve energy. Programmers should not be forced to make these choices at
8 development time. Unfortunately, languages leave no way for programmers to 8 development time. Unfortunately, languages leave no way for programmers to
9 express and structure uncertainty about runtime conditions, forcing them to 9 express and structure uncertainty about runtime conditions, forcing them to
10 -adopt fragile ad-hoc solutions. 10 +adopt ineffective or fragile ad-hoc solutions.
11 11
12 \sloppypar{We introduce a new approach based on \textit{structured uncertainty} 12 \sloppypar{We introduce a new approach based on \textit{structured uncertainty}
13 -through a new language construct: The \texttt{maybe} statement. 13 +through a new language construct: the \texttt{maybe} statement.
14 \texttt{maybe} statements allow programmers to defer choices about app 14 \texttt{maybe} statements allow programmers to defer choices about app
15 behavior that cannot be made at development time, while providing enough 15 behavior that cannot be made at development time, while providing enough
16 structure to allow a system to later adaptively choose from multiple 16 structure to allow a system to later adaptively choose from multiple
17 alternatives. Eliminating the uncertainty introduced by \texttt{maybe} 17 alternatives. Eliminating the uncertainty introduced by \texttt{maybe}
18 -statements can be done in a large variety of ways: Through simulation, split 18 +statements can be done in a large variety of ways: through simulation, split
19 testing, user configuration, temporal adaptation, or machine learning 19 testing, user configuration, temporal adaptation, or machine learning
20 techniques, depending on the type of adaptation appropriate for each 20 techniques, depending on the type of adaptation appropriate for each
21 situation. Our paper motivates the \texttt{maybe} statement, presents its 21 situation. Our paper motivates the \texttt{maybe} statement, presents its
introduction.tex
@@ -88,11 +88,14 @@ maybe { @@ -88,11 +88,14 @@ maybe {
88 // Don't attempt to save energy 88 // Don't attempt to save energy
89 } 89 }
90 \end{minted} 90 \end{minted}
  91 +
91 \vspace*{-0.2in} 92 \vspace*{-0.2in}
92 93
93 -\caption{\textbf{Example use of the \texttt{maybe} statement.} } 94 +\caption{\textbf{Example Use of the \texttt{maybe} Statement.} }
94 \label{fig-example-maybe} 95 \label{fig-example-maybe}
95 96
  97 +\vspace*{-0.2in}
  98 +
96 \end{figure} 99 \end{figure}
97 100
98 In this paper, we focus on the challenge of providing developers with 101 In this paper, we focus on the challenge of providing developers with
maybe.tex
@@ -27,7 +27,7 @@ maybe { @@ -27,7 +27,7 @@ maybe {
27 } or { 27 } or {
28 ret = slowPowerEfficientAlgorithm(input); 28 ret = slowPowerEfficientAlgorithm(input);
29 choice = SLOW; 29 choice = SLOW;
30 -} better { 30 +} analyze {
31 return { "repeat": false, 31 return { "repeat": false,
32 "score" : nanoTime() + powerDrain() } 32 "score" : nanoTime() + powerDrain() }
33 } 33 }
@@ -39,7 +39,7 @@ else { cleanUpAfterSlowAlg(ret); } @@ -39,7 +39,7 @@ else { cleanUpAfterSlowAlg(ret); }
39 39
40 \vspace*{-0.2in} 40 \vspace*{-0.2in}
41 41
42 -\caption{\textbf{More examples of \texttt{maybe} statements.}} 42 +\caption{\textbf{More Examples of \texttt{maybe} Statements.}}
43 43
44 \label{fig-maybeexamples} 44 \label{fig-maybeexamples}
45 45