# An Activity Theory-Based Approach for Context Analysis, Design and Evolution
## 4 Testing Ideas through Experimentation  
This section describes an experimental design that was carried out by the authors to estimate the real-world feasibility of an activity theory-based approach for designing and modeling contexts, as part of a context-aware software-centered system. The main objective was to estimate the impact of the proposed approach versus other modeling instruments, for the same setting. More specifically, the aim was to find measurable results for both approaches, for the same case study. In this sense, as a benchmark to compare with, an UML-based approach was chosen. The choice of using an UML-based approach as a method to contrast the proposed on took into account the fact that UML has a proven tradition in the history of software analysis and development. Additionally, UML is used as a tool to design and model contexts. This has been reported in different implementation cases and exposed in a wide variety of related works [13; 44; 45; 46; 47; 48; 49; 50; 51; 52]. In this sense, using different UML notations, as suggested by the cited works, it is possible to group elements of different diagrams, in order to express which information is related to a specific context and define it as a model. For example, _use case diagrams_ may be used to demarcate a system and its environment, but also _actors_ and _components_ directly connected by _associations_ can represent a system context (if _actors_ are represented by rectangles instead of the usual figures). Another aspect considered was the general knowledge on the subject possessed by the selected individuals of the population under study. That population consisted of software developers in the role of evaluators for the examined approaches. Further details will be provided later. Regarding the methods used to conduct the research, these were formulated via research questions, leading to two general hypotheses to be considered. The research questions were the following:  
**RQ1:**_Can activity theory heuristics and approaches provide a significant impact on how to obtain, analyze, and modeling software contexts?_  
This research question is rooted in the existence of gaps that can, and should, be filled by approaches concerned with the gathering, analysis, and modeling of evolving software contexts. There are several measurable attributes that point to a certain inflexibility of traditional instruments with regard to the novelty of needs for gathering software context information. In particular, there are certain considerations associated with social and human factors which often escape classical approaches. **RQ2:**_Can a series of objective measurements assess the impact of an activity theory-based approach for the analysis and modeling of software contexts?_  
This question allows for the investigation of the design of qualitative and/or quantitative indicators, which can be applied to the evaluated approach. Thus, the values of these indicators would lead to the establishment of criteria regarding the impact of this approach for the analysis and modeling of software contexts. **RQ3:**_Is it possible to compare the measurements obtained from an activity theory-based approach with widely used proposals such as a UML-based approach?_  
Indeed, if it is possible to arrive to a series of mechanisms or criteria to measure and evaluate an activity theory-based approach for dealing with software contexts, these could be used to establish objective comparisons with other methods. Such would be the case of UML-based approaches, as well as any other traditional or current instrument that could be subjected to this evaluation and comparison. These research questions were aimed towards establishing the truth value of the following hypotheses:  
**Hypothesis 1 (H1):**_The use of an activity theory-based approach does not significantly influence context modeling for context-aware software development_. **Hypothesis 2 (H2):**_The use of an activity theory-based approach significantly influences context modeling for context-aware software development_.