Blame view

related.tex 2.31 KB
Geoffrey Challen authored
1
2
\section{Related Work}
\label{sec-related}
Geoffrey Challen authored
3
Geoffrey Challen authored
4
5
6
New systems such as EnFrame~\cite{arxiv13-enframe} reflect growing interest
in managing uncertainty at the language level. EnFrame focuses on enabling
programming with uncertain data, rather than the runtime adaptation enabled
Geoffrey Challen authored
7
by \texttt{maybe}.
Geoffrey Challen authored
8
Geoffrey Challen authored
9
Aspect oriented programming (AOP)~\cite{aop} aims to increase modularity
Geoffrey Challen authored
10
11
12
13
14
15
through the separation of cross-cutting concerns. The programmer expresses
cross-cutting concerns in stand alone modules, or aspects, which specify a
computation to be performed as well as points in the program at which that
computation should be performed. Fundamentally, the goals of AOP and the
\texttt{maybe} statement differ, with AOP focusing on modularity and
\texttt{maybe} focused on enabling adaptation by expressing uncertainty.
Geoffrey Challen authored
16
Geoffrey Challen authored
17
\texttt{maybe} shares similarities with language-based approaches to adapting
Geoffrey Challen authored
18
19
energy consumption such as Eon~\cite{sensys07-eon} and
Levels~\cite{sensys07-levels}. However, these approaches still require
Geoffrey Challen authored
20
21
22
23
programmers to express certainty by associating code with energy states,
rather than allowing the \texttt{maybe} system to determine which energy
states are appropriate. \texttt{maybe} can also enable adaptation driven by
goals other than energy management.
Geoffrey Challen authored
24
Geoffrey Challen authored
25
26
27
28
29
30
31
Attempts to enable more adaptive mobile systems date back to systems such as
Odyssey~\cite{odyssey-sosp97}. However, a taxonomy of approaches to enabling
adaptation on early mobile systems~\cite{badrinath2000conceptual} reflects
the focus of early efforts on incorporating adaptation into libraries that
could be used by multiple apps. As we have pointed out previously, while
adaptation libraries are useful, \texttt{maybe} statements can make them more
powerful by allowing programmers to express uncertainty.
Geoffrey Challen authored
32
33
34
35

Recent approaches that allow mobile devices to effectively offload
computation by automating client-cloud partitioning are also related to the
\texttt{maybe} statement. Systems such as Tactics~\cite{tactics-mobisys03}
Geoffrey Challen authored
36
37
38
39
40
and MAUI~\cite{maui-mobisys10} used a variety of approaches to enabling this
form of adaptation but are narrowly-focused on harnessing opportunities for
remote execution. At present \texttt{maybe} focuses on single-device
adaptation, but we are interested in exploring the ability to use uncertainty
to distribute computation between multiple devices as future work.