# Context-Aware End-User Development Review
## 4 Application Building Techniques
### Model-Based Specification  
An extended programming abstraction technique is model-based [8], where the application specification uses a model, i.e., pre-defined concepts with rules (e.g., a model for actions and temporal constraints). End-users can follow the model to build applications,  
\begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline \multirow{2}{*}{**Paper**} & \multicolumn{2}{c}{**Tool Implementation**} & \multicolumn{2}{c}{**Design \({}^{*}\)**} & \multicolumn{4}{c}{**Running \({}^{*}\)**} \\ \cline{2-9}  & **Approach** & **Expressiveness** & **PC** & **Mo** & **Ph** & **PC** & **Mo** & **Pl** & **Ph** \\ \hline EPIDOSITE & Rule-based & Annotations & ✓ & IoT (Smart home) and IR, accessed by phone apps & ✓ & & \\ \hline GFOWTH & AI planning & Ontology & ✓ & All, integrated by components of the architecture & ✓ & & \\ \hline VASH & Language & Annotations & ✓ & Web elements, mouse, keyboard events & ✓ & & \\ \hline EasyContext & Rule-based & \
\begin{tabular}{c} IF-THEN based on a \\ Backus-Naur form \\ (BNF) grammar \\ \end{tabular} & ✓ & \multirow{2}{*}{Based on Google Awareness API} & \multirow{2}{*}{✓} & \multirow{2}{*}{
\begin{tabular}{c} Human actions, context \\ attributes, events \\ \end{tabular} } & \multirow{2}{*}{✓} & \multirow{2}{*}{✓} & \multirow{2}{*}{✓} \\ \cline{1-1} \cline{5-5} CAPurAR & Rule-based & & IF-THEN, events & ✓ & & \\ \hline \hline \end{tabular}  
* PC: Personal Computer. Mo: Mobile. Pl (Platform) refers to a context or a service platform. Ph (Physical) refers to running applications that involve physical objects such as smart objects, objects with tags, media cubes, virtual/augmented reality.  
\end{table}
Table 5: _Cont._creating a workflow connecting concepts as input--process--output. Then, the system uses the model to interpret the defined actions, generating an interactive application.  
IVO (Integrated Virtual Operator), presented by [PERSON] et al. [57], is a framework to build and deploy applications by associating context conditions with activity workflows. It includes three tools: IVO Outlook, IVO Builder, and a mobile client.  
* IVO Outlook allows defining workflows based on temporary and proximity conditions through an Outlook Calendar and Outlook Contacts add-ons, respectively [79].
* IVO Builder is a visual UI to create workflows of activities based on location context. It allows for manipulating geographical representations to create areas of interest through polygon or circle. IVO Builder can import geo-referenced areas from Wikipedia and Wikimapia and then facilitates map control (e.g., zoom, map views), including scripting for advanced users. A user associates the areas of interest with related information (e.g., website link) and then creates workflows in the area. Afterward, the user defines actions to be executed in both \"on enter\" and \"on exit,\" e.g., change phone profile, update Facebook status. Available actions include filling forms and quizzes created by the IVO Builder tool.
* The mobile client provides the workflow functionalities, activating actions when the conditions match. It includes a UI that is either invisible (if not required), or a visual interface for user interaction, e.g., maps, augmented reality browser, forms, quizzes.