diff --git a/certainty.tex b/certainty.tex index 9f3bf9f..a69d6bb 100644 --- a/certainty.tex +++ b/certainty.tex @@ -152,7 +152,7 @@ to drive the adaptation approaches discussed next. While large-scale split testing is intended to provide good coverage over all possible sources of uncertainty we have discussed, it still normally requires -that only one choice be made at any given time---implying that two +that only one decision be made at any given time---implying that two alternatives may never be evaluated under identical conditions. For \texttt{maybe} statements, however, we are exploring the idea of performing \textit{simultaneous} split testing. In this model the app forks at the top @@ -168,7 +168,7 @@ interference between alternatives executing in parallel. \subsection{\texttt{\large maybe} Endgames} The entire \texttt{maybe} approach is predicated on the fact that there does -exist, among the alternatives, a right choice, even if it depends on many +exist, among the alternatives, a right decision, even if it depends on many factors and uncertainties. We continue by discussing how the dataset generated by post-deployment testing can be used to determine how to correctly choose \texttt{maybe} alternatives at runtime. @@ -203,7 +203,7 @@ adaptation is time varying (dynamic) or not (static). We begin with the second, somewhat easier case. If the alternative is determined through static adaptation then the correct -choice is a function of some unchanging (or very-slowly changing) aspect of +decision is a function of some unchanging (or very-slowly changing) aspect of the deployed environment. Examples include the device model, average network conditions, the other apps installed on the device, or user characteristics such as gender, age, or charging habits. In this case it is possible that the @@ -227,7 +227,7 @@ into the fragile decision-making we are trying to avoid. Instead, the \texttt{maybe} system allows developers to experiment with and evaluate a variety of different dynamic adaptation strategies deployed in a -companion library, with the choice guided by post-deployment testing. For +companion library, with the decision guided by post-deployment testing. For example, if the performance of an alternative is discovered to be correlated with a link providing a certain amount of bandwidth, then that adaptation strategy can be connected with that particular \texttt{maybe} statement. @@ -236,18 +236,18 @@ Observe that in some cases of dynamic adaptation, what begins as a \texttt{maybe} statement may end as effectively \texttt{if-else} statement switching on a static threshold---the same approach we attacked to motivate our system. However, through the process of arriving at this point we have -determined several things that were initially unknown: what the alternatives -accomplish, that a single threshold works for all users, and what that -threshold is. And by maintaining the choice as a \texttt{maybe} statement, -they can continue the adaptation process as devices, users, and networks +determined several things that were initially unknown: (1) what the +alternatives accomplish, (2) that a single threshold works for all users, and +(3) what that threshold is. And by maintaining the choice as a \texttt{maybe} +statement, they can continue adaptating as devices, users, and networks change. Another benefit of this approach is that time-varying decisions can be -outsourced to developers with expertise in the particular area driving -adaptation policy decisions. For example, by exposing an energy-performance -tradeoff through a \texttt{maybe} statement, a developer allows it to be -driven by a sophisticated machine learning algorithm written by an expert in -energy adaptation, instead of their own ad-hoc approach. +outsourced to developers with expertise in the particular area affecting +adaptation decisions. For example, by exposing an energy-performance tradeoff +through a \texttt{maybe} statement, a developer allows it to be connected to +a sophisticated machine learning algorithm written by an expert in energy +adaptation, instead of their own ad-hoc approach. \subsubsection{Manual adaptation} @@ -255,7 +255,7 @@ In some cases even our best efforts to automatically adapt may fail, and it may be impossible to predict which alternative is best for a particular user using a particular device at a particular time. If the differences between the alternatives are small, then it may be appropriate to simply fall back to -a best-effort choice. However, if the differences between the alternatives +a best-effort decision. However, if the differences between the alternatives are significant then the \texttt{maybe} alternatives may need to be exposed to the user through a settings menu. Fortunately, information obtained through testing can still be presented to the user to guide their decision.