=Paper= {{Paper |id=Vol-3211/CR_116 |storemode=property |title=TASC4RE: A data-driven context model to support the elicitation of context-aware functionalities |pdfUrl=https://ceur-ws.org/Vol-3211/CR_116.pdf |volume=Vol-3211 |authors=Rodrigo Falcão,Maria Clara Pestana,Vaninha Vieira,Pol Benats,Loup Meurice,Maxime Gobert,Anthony Cleve,Gerd Wagner,Paul Johannesson,Maria Bergholtz |dblpUrl=https://dblp.org/rec/conf/er/FalcaoPV22 }} ==TASC4RE: A data-driven context model to support the elicitation of context-aware functionalities== https://ceur-ws.org/Vol-3211/CR_116.pdf
TASC4RE: a data-driven context model to support the
elicitation of context-aware functionalities
Rodrigo Falcão1 , Maria Clara Pestana2 and Vaninha Vieira3
1
  Fraunhofer IESE, Fraunhofer-Platz 1, Kaiserslautern, 67663, Germany
2
  Computer Science Graduate Program, UFBA, Av. Milton Santos s/n, Salvador, 40170-110, Brazil
3
  Institute of Computing, UFBA, Av. Milton Santos s/n, Salvador, 40170-110, Brazil


                                         Abstract
                                         In requirements elicitation for context-aware systems, context modeling is an essential early step.
                                         However, it has been overlooked by practitioners due to its perceived high complexity, in particular
                                         when it comes to the analysis of how different contexts may influence a user task of interest. To
                                         change this situation, data-driven context modeling approaches appear to be promising: Based on
                                         contextual data, algorithms can identify how contextual elements may, in combination with each other,
                                         influence user tasks. In this paper, we contribute the Task-specific Context Model for Requirements
                                         Elicitation (TASC4RE). TASC4RE is a context model representation aimed at supporting data-driven
                                         context modeling approaches. It combines the expressiveness of natural language, which is appreciated
                                         by human readers, with formality. TASC4RE was preliminarily evaluated in a controlled experiment
                                         with professionals in the context of a software development project. The results showed a positive trend
                                         towards the acceptance of the model.

                                         Keywords
                                         Context modeling, context awareness, data-driven, requirements engineering




1. Introduction
Almost three decades have passed since Schilit et al. coined the term “context-aware computing”
[1], and much research has been conducted in the field of context modeling since then (as
summarized in several secondary studies, e.g., [2] [3] [4] [5]). Just as there are several types of
context models, their applicability is also diverse.
   In requirements elicitation for context-aware systems, context modeling is an early step
that requires the identification of contextual elements for the application domain [6] [7] [8],
technical understanding regarding which of them are accessible [9] [10], evaluation of which
contextual elements are relevant for a given user task [6] [9] [11] [12], and analysis of meaningful
combinations of contextual elements [5] [9] [10] [13]. As a result, the context modeling process
is expected to produce a context model that expresses how the context influences user tasks, so
that requirements engineers can benefit from it to identify and describe novel context-aware
functionalities.


ER’2022 Forum and PhD Symposium.
Envelope-Open rodrigo.falcao@iese.fraunhofer.de (R. Falcão)
Orcid 0000-0003-1222-0046 (R. Falcão); 0000-0001-8382-7844 (M. C. Pestana)
                                       © 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
    CEUR
    Workshop
    Proceedings
                  http://ceur-ws.org
                  ISSN 1613-0073
                                       CEUR Workshop Proceedings (CEUR-WS.org)
   In practice, however, context models have not been of much help for requirements engineers.
A recent survey [14] showed that when it comes to support for requirements elicitation, context
models have been rarely used, and when they are, the benefit provided by them is generally
low. One reason presented in the survey is that context modeling activities are perceived by
practitioners as very complex, time-consuming, and non-intuitive. In a scenario with dozens of
contextual elements, the number of potential combinations of contextual elements is too high
to be analyzed manually. Without the analysis of relevance and combinations, context models
are limited to declaring what the context is; the next and fundamental step, understanding how
the context influences user tasks, has been left to the experience of professionals.
   In order to overcome the complexity of context modeling for requirements elicitation, data-
driven context modeling approaches have been considered adequate [15] [16]. Based on contex-
tual data, such mechanisms aim to identify meaningful combinations of contextual elements
that may influence a user task of interest. In our research, we implemented a data-driven context
modeling process, which leads to a structured list of contexts found to influence a targeted user
task. Although data-driven context modeling processes can be implemented using different
techniques, these techniques have in common the analysis of large amounts of contextual data
in order to discover relevant contexts that might influence user tasks of interest. The question is:
Independent of the technique used – how can the outcome of the data analysis be represented?
It must be translated into a context model from which requirements engineers can benefit
to elicit context-aware functionalities. In other words, the outcome of data-driven context
modeling techniques must be converted into a format that properly supports the comprehension
of task-relevant contexts, so that humans can get insights from it in order to creatively describe
context-aware functionalities.
   In this paper, we contribute the Task-specific Context Model for Requirements Elicitation
(TASC4RE). TASC4RE is a context model representation designed to be used in data-driven
context modeling approaches that search for meaningful combinations of contextual elements.
It combines the formality required for integration into automated context modeling approaches
and the expressiveness of natural language appreciated by human readers. We used TASC4RE
to support our data-driven context modeling process and evaluated it preliminarily in a software
development project at Fraunhofer IESE. The results showed a positive trend towards acceptance
of the model [17].
   The remainder of this paper is organized as follows: Section 2 provides the research back-
ground; Section 3 presents related work; Section 4 introduces the syntax and semantics of
TASC4RE; Section 5 reproduces its evaluation; Section 6 discusses the initial findings; and
Section 7 concludes the paper.


2. Background
2.1. Definitions
Since there exist a rather large number of definitions of context and its related concepts such as
entities, contextual elements, situations, and relationships, we consider it important to make it
clear what we mean when we refer to the terms contextual element, context, and combination.
   A widely accepted definition of context was proposed by Dey [18], which describes context
and entity as follows: “Context is any information that can be used to characterize the situation
of an entity. An entity is a person, place, or object that is considered relevant to the interaction
between a user and an application, including the user and applications themselves”.
   Vieira [6] makes a distinction between context and contextual elements (CE): “A contextual
element (CE) is any piece of data or information that enables to characterize an entity in a domain.”,
whereas “The context of an interaction between an agent and an application, in order to execute
some task, is the set of instantiated contextual elements that are necessary to support the task at
hand.”.
   We slightly adapt Vieira’s definition to state that context is a set of instantiated contextual
elements that influences the task at hand, because from our point of view, context can be used
not only to enable user tasks (necessary), but also to improve them (influence). The set of
instantiated contextual elements can have one or more contextual elements. In the latter case,
we say that the context is composed of a combination of contextual elements.

2.2. Data-driven context modeling
In our research, we implemented a data-driven context modeling process, aiming at creating
context models to support the elicitation of context-aware functionalities. The process (whose
preliminary version was described in [15]) is semi-automated and has three sub-processes: task
decomposition, data collection, and data processing.
   Task decomposition is a manual sub-process responsible for the identification of which step
in the use case that describes the user task will be used to drive the data collection. The data
collection sub-process is responsible for gathering the contextual data from the context sources
and organizing them in a dataset. This sub-process may or may not be automated. Finally, the
data processing sub-process is responsible for analyzing the dataset and creating the context
model based on the results. Data processing is an automated sub-process implemented with two
software components that cooperate to create context models. At the core, there is a contextual
data processor, which takes the dataset (and a metadata file with an additional description of
the dataset) as input and produces a list of contexts found to influence the targeted user task.
This result is used by the other component, a context model generator, which in turn creates
the context model that will be used by requirements engineers.
   The context model generator requires a language to represent the model. However, it is
important to understand the purpose of the context model we are looking for because context
models can support RE activities in different phases.

2.3. Positioning the desired context model
Many context models aim to support the implementation of context-aware systems or context-
aware middleware artifacts. As a rule, they are more technical in nature and target software
architects and developers who design and implement software components. In contrast, context
models1 intend to help requirements engineers characterize the context on a conceptual level.

     1
       Sometimes the terms context model and context meta-model are used interchangeably in the literature to refer
to the same level of abstraction. In this paper, we use the term “context model”, which is related to level M1 in the
meta-model hierarchy defined by the OMG [19].
                           Domain-related                                    Task-specific




            Identify CEs for             Analyze           Analyze relevance of       Analyze combinations
              the domain            accessibility of CEs   CEs for chosen task        of CEs for chosen task

                 creates                    refines               creates                     refines
                           domain-related                                    task-specific
                           context model                                    context model



Figure 1: Domain-related and task-specific phases of context modeling in RE.


The activities performed by the involved stakeholders can be split into two phases, as depicted
in Figure 1.
   The first phase is domain-related. It is more generic and requirements engineers identify the
contextual elements that are related to the application domain. As a result, a context model
is elaborated. Context models that are elaborated during the domain-related phase are then
refined, taking into consideration whether, or to which extent, it is technically feasible to access
the identified contextual elements. The second phase is task-specific. It narrows down the focus
on the identification of the relevant contextual elements and their combinations for selected
user tasks. This is essential for deriving the adaptation logic of the system. In summary, the
first phase focuses on answering what the context for the application domain is, and the second
phase answers how the context influences the user tasks. Since automated context modeling is
all about analyzing relevance and combinations of contextual elements, it asks for a context
model that fits the task-specific phase.


3. Related Work
Some context model representations that relate to the requirements engineering (RE) phase
are based on the Tropos goal model [20]. Ali et al. [21] extended it to model and analyze
location-based software, but since this model was location-specific and did not relate to context
in general, its applicability is limited. Later, the authors introduced the contextual goal models
(CGM) [22]. CGMs are designed to support RE. They are task-related, expressive in terms of
combinations of CEs, domain-independent due to their high level of abstraction, and described
using a formal language. However, this model expresses activation contexts and required
contexts for tasks and goals, and not which contexts influence tasks. Contexts that influence a
user task are not necessarily enablers of the task, as implied by the semantics of CGMs. Later,
Ali et al. [23] extended the CGM concept and introduced the notion of target context, which
relates to goals in the model. It could be adapted to express the idea of intrinsic CEs: From our
example in Section 4.1, the goal could be “Prepare a cup of coffee with coffee size = LARGE”, and
the context that leads to this goal could combine location and time, as we have in our example.
Still, the semantics of the CGM would be broken, as we would need at least one task leading to
the goal, which does not exist in the data-driven context modeling process.
   Mostéfaoui and Brézillon [24] use contextual graphs, a model that is syntactically similar to
TASC4RE, as it is also structured as a directed acyclic graph. This model is, however, semantically
different from TASC4RE because it expresses contexts that are necessary to perform actions
in a process, whereas our model expresses contexts that influence one specific user task of
interest. From an RE point of view, their model is better suited for documenting already known
context-aware functionalities; contextual graphs do not help too much in identifying new ones.
   Jeong-Dong et al. [25] propose a model based on the 5W1H method, which has been frequently
used in requirements engineering of context-aware systems [6]. The method includes answering
six questions (What, Why, Who, Where, When, and How) to identify contextual elements. The
model applies ontological concepts to support the development of context-aware services. This
model is well suited to the domain-related scope of context models (see Section 2.3), but falls
short in expressing task-specific contexts.
   Bauer and Spiekermann [13] propose a framework for conceptualizing context during the
requirements engineering phase of context-aware systems. At the end, a context model in the
form of a taxonomy is created. However, their model is domain-related and not task-specific.
   Saidani et al. [26] introduced a context modeling approach to support BPM. Their generic
meta-model associates business process components (which can include what we consider user
tasks) and contextual situations (which matches our definition of context). From a semantic
point of view, however, their model does not fit our purposes because the association between
business process contexts and contextual situations “expresses the fact that a business process
component cannot be executed unless one or more contextual conditions are met”.
   TASC4RE contrasts existing work by providing a unique set of characteristics. It is task-
specific and designed to tell requirement engineers not simply which contexts are necessary
to perform user tasks, but how the context influences user tasks. Furthermore, TASC4RE
has abstract constructs to express how contexts influence user tasks, and is therefore domain-
independent. Its expressiveness is improved by its differentiation between intrinsic and extrinsic
properties of contextual entities. Finally, TASC4RE is formally described to support automated
context modeling approaches.


4. TASC4RE
We propose a context model representation to support data-driven context modeling, called
Task-specific Context Model for Requirements Elicitation (TASC4RE). It represents task-specific
contexts in a directed acyclic graph that resembles natural language sentences such as “When...
𝑐𝑜𝑛𝑡𝑒𝑥𝑡1 then... 𝑡𝑎𝑠𝑘 with... 𝑐𝑜𝑛𝑡𝑒𝑥𝑡2 ”. The idea is to express how the context typically looks
like, according to the data analysis, when the user performs a task of interest. By expressing
which contexts influence which tasks, TASC4RE can provide better support for the elicitation
of concrete functionalities in comparison to domain-related models.
   To get the greatest benefit from an automated approach, minimal effort should be shifted
to the preparation steps, which would include the tailoring of a context meta-model for a
specific application domain. For this reason, TASC4RE has a formal description and generic
construct elements. Here we introduce its graphical domain-specific language (DSL), the notion
of intrinsic contextual elements used by it, and formalize its language.
                                     First part:                             Second part:                      Third part:
                        general contextual element instances                     task           intrinsic contextual element instances




                                                         day type =          User prepares                    coffee size =
               location = HOME     time = MORNING                     THEN                   WITH
                                                         WEEKEND             cup of coffee                       LARGE

    WHEN
                                        time =                               User prepares
               location = WORK                                        THEN
                                     AFTERNOON                               cup of coffee




Figure 2: Example of a task-specific context model (adapted from [17]).


Table 1
Elements of the task-specific context model’s graphical DSL.
  Element              Type                      Usage
    WHEN               Structural                Starting point, preceding contextual element instances
     THEN              Structural                Predecessor of task declaration
                                                 Predecessor of contextual element instances that are
     WITH              Structural
                                                 intrinsic to the object entity
           →           Structural                Connector
                                                 Container for dynamic content. Can be filled with the task
                       Content
                                                 description or contextual element instances


4.1. Graphical DSL
The task-specific context model is expressed through a graphical DSL consisting of five graphical
elements; when connected, they express task-specific contexts. Table 1 lists the elements of the
language. The ellipses ( WHEN , THEN , WITH ) are structural elements that bring
the expression of relevant contexts closer to natural language, so practitioners can read the
model more easily. The rectangle (          ) is the content element, which is used as a container
for the description of contextual element instances and user tasks. The arrow (→) is a structural
element that acts as a connector between the other elements.
   Fig. 2 shows an example. The diagram is a directed acyclic graph with one root node
( WHEN ). Each path from the root node towards a leaf is a task-specific context (𝑇 𝑆𝐶) and
describes how a context influences a user task of interest. The task-specific context has three
parts: the first with general contextual element instances; the second with the task description;
and the third with contextual element instances that are intrinsic to the object entity (see
Section 4.2).
   Consider the user task “Prepare a cup of coffee” in Fig.2. Each of the two paths contains a set
of contextual element instances that, together, were found to influence the task. For example,
in “When location = WORK and time = AFTERNOON then user prepares coffee”, the context
“location = WORK and time = AFTERNOON” (combination of instances of two contextual
elements: location and time) influences the user task “Prepare a cup of coffee”, according to the
model.
   We formalized the language to describe the task-specific contexts using the Extended Backus-
Naur Form (EBNF) [27] (see Listing 1).
                    Listing 1: Formal syntax for describing a task-specific context.
    1   TSC =       WHEN , { →, 𝐺𝑒𝑛𝑒𝑟𝑎𝑙 𝐶𝐸 𝐼 𝑛𝑠𝑡𝑎𝑛𝑐𝑒 }-, →, THEN , →, 𝑇 𝑎𝑠𝑘 𝐷𝑒𝑠𝑐𝑟𝑖𝑝𝑡𝑖𝑜𝑛 , →,{ WITH ,

        { →, 𝐼 𝑛𝑡𝑟𝑖𝑛𝑠𝑖𝑐 𝐶𝐸𝐼 𝑛𝑠𝑡𝑎𝑛𝑐𝑒 }-};
    2   𝐺𝑒𝑛𝑒𝑟𝑎𝑙 𝐶𝐸 𝐼 𝑛𝑠𝑡𝑎𝑛𝑐𝑒 = ? Textual description of contextual element instance that is not intrinsic to the
        object entity ?;
    3   𝑇 𝑎𝑠𝑘 𝐷𝑒𝑠𝑐𝑟𝑖𝑝𝑡𝑖𝑜𝑛 = ? Textual description of the task (preferably in active voice) ?;
    4   𝐼 𝑛𝑡𝑟𝑖𝑛𝑠𝑖𝑐 𝐶𝐸 𝐼 𝑛𝑠𝑡𝑎𝑛𝑐𝑒 = ? Textual description of contextual element instance that is intrinsic to the object
        entity ?;


4.2. The object entity and its intrinsic properties
The name of the user task usually names the corresponding use case, and use case names, as
described in [28], “are short active verb phrases naming some behavior found in the vocabulary
of the system you are modeling”. The verb may have an object. For example, in the user task
“Prepare a cup of coffee”, the object is “a cup of coffee”; in the user task “Watch a movie”, the
object is “a movie”. During the identification of the contextual elements that should be taken
into consideration in a certain application, each identified contextual element characterizes a
certain contextual entity. When the user task object is a contextual entity, we say that it is an
object entity.
   Some contextual elements characterize the object entity intrinsically and others extrinsically.
An intrinsic property of a thing is entirely about the thing, whereas an extrinsic property is
not [29]2 . The concept of “intrinsic/extrinsic context” was previously introduced by Costa
et al. in [30]; here we refer to “intrinsic/extrinsic contextual elements”. In the task-specific
context model, it is important to identify the contextual elements that characterize the object
entity intrinsically. This information is used by the automated modeling process to position the
contextual element instance either in the first part of the task-specific context or in the third
part (see Fig. 2).
   For example, consider the user task “Prepare a cup of coffee”. The object entity is “cup of
coffee”, and the list of contextual elements that characterizes this entity could include:

    1. coffee size
    2. coffee type
    3. time of the day when the cup of coffee is prepared
    4. location where the coffee is drunk
    5. person who prepares the cup of coffee

  Only the first two contextual elements (size and type) are intrinsic, as they relate only to the
entity cup of coffee. The others relate at least in part to other entities – environment (elements 3
and 4) and user (element 5).

     2
       There is a long discussion in philosophy about the definition of intrinsic and extrinsic properties. The definition
presented by [29] provides a basis for further consideration. For our purposes, though, if suffices, for it provides an
intuitive definition that can be used to help identify intrinsic contextual elements.
   A task-specific context could be “WHEN user location = home THEN user prepares coffee WITH
coffee size = LARGE”. Without the differentiation between intrinsic and extrinsic contextual
elements, the task-specific context would be “WHEN user location = home and coffee size =
LARGE THEN user prepares coffee”, which would sound strange because the size of the coffee
does not properly characterize the external circumstances (“When...”) that drove the execution of
the task at first place. The presence of the element WITH perfectly bridges the introduction
of contextual element instances that are intrinsic to the object entity.


5. Evaluation
We evaluated TASC4RE in the context of a controlled experiment where we implemented a
data-driven context modeling process and applied it to a live software project. As a result, a
data-driven context model was created, which used TASC4RE as the language to represent
it. The goals and content of the controlled experiment go beyond the scope of this paper; its
complete description can be found in our previous publication [17]. All materials and raw
results are available. In this section, we highlight the aspects of the controlled experiment
that concern the usage of TASC4RE, and add qualitative results, which were not present in the
previous paper.

5.1. The project setting
In the project Digital Villages [31], the needs of people living in villages were elicited and various
software-based solutions were created to address problems regarding communications, public
administration, local supply, and logistics. One of these solutions is DorfFunk3 , a communication
app with the characteristics of a social network, which has approximately 25,000 active users.
In DorfFunk, village residents can interact and get informed about their local community
by checking the newsfeed, creating posts, making comments, giving likes, and using other
functionalities. DorfFunk was developed and has been maintained by Fraunhofer IESE for more
than five years.

5.2. The tool support
The tools xPACE and TASC Modeler realized the contextual data processor and the context
model generator, respectively, which are the automated part of the data-driven context modeling
process (see Section 2.2). The former applies statistical methods to analyze the contextual dataset
and produces a machine-readable list of relevant contexts that were found to influence the user
task of interest; the latter takes the relevant contexts identified by xPACE as input to create a
human-friendly representation of a context model to support requirements engineers in the
elicitation of context-aware functionalities. TASC Modeler uses TASC4RE as the language to
express the context models. Further information about these tools, including a description of
the software architecture, details about the data-processing algorithm, and screenshots of the
TASC Modeler can be found in [32].

    3
        https://www.digitale-doerfer.de/unsere-loesungen/dorffunk/
5.3. The experiment
We performed a controlled experiment using a one-factor two-treatments randomized design
[33] with thirteen experienced professional software engineers, where we asked them to elicit
context-aware functionalities to improve the system-supported user task “Create a comment”
of the DorfFunk app. In this task, the user writes a comment to an existing post that they
saw in their feed (similar to what a Facebook4 user would do when they comment on a post
in the social network). The control group received a list of contextual elements available to
support them in elaborating context-aware functionalities, whereas the treatment group (five
participants) received the data-driven context model generated with our tools and therefore
expressed using TASC4RE. The number of participants in the groups were different due to a
deviation that was observed during the execution of the experiment.
   Our hypothesis was that the data-driven context model is perceived by individuals as a useful
instrument to support the elicitation of context-aware functionalities. To test this hypothesis, we
adapted the UTAUT (Unified Theory of Acceptance and Use of Technology [34]), tailoring the
items of five aspects – Performance expectancy (PE), Effort expectancy (EE), Attitude toward
using technology (AT), Self-efficacy (SE), and Anxiety (AX) – to our needs. For each aspect, the
participants of the treatment group provided their level of agreement to a set of items using a
5-point Likert scale. We coded the answer options numerically (1-Strongly disagree, 2-Disagree,
3-Neutral, 4-Agree, 5-Strongly agree). We reversed the code in item AT.1 of aspect AT, and in
all items of aspect AX, for they were stated in a negative way.
   Furthermore, we asked participants to provide (optionally) further comments about the
experiment through an open-end question, from where we could get additional insights that
were not captured in the hypothesis testing.

5.3.1. Preparation
Before using the tools, we performed post-hoc data collection to create a contextual dataset con-
taining information about fourteen contextual elements that were identified for the application
and which where accessible in our project setting. The list of contextual elements was: user
identity, user account type, and user role, concerning the contextual entity “User”; event start
date/time, post author, post creation time, post day type, post date/time of last comment, part
of the day of the post, and post type, concerning the contextual entity “Post”; current date/time,
current day type, and current part of the day, concerning the contextual entity “Environment”;
and content type, concerning the contextual entity “Comment”. Once the contextual dataset
had been created, we used the tools to create the data-driven context model.

5.3.2. Results
Hypothesis testing Table 2 shows the description of the items, the scores of each aspect, and
their reliability. The item scores were calculated based on the mean value of the participants’
ratings; the aspect score was calculated as the mean of the item scores composing each aspect.
To verify the reliability of the scores, we calculated their Cronbach’s alpha, which was higher

    4
        https://facebook.com
Table 2
The five investigated aspects of usefulness of the data-driven context model (expressed using TASC4RE).
 Aspect               Item   Description                                         Item score   Aspect score   Cronbach’s 𝛼
                             I would find the data-driven context model
                      PE.1   useful in the elicitation of context-aware          4.8
                             functionalities.
                             Using the data-driven context model enables
                      PE.2   me to accomplish the elicitation of context-aware   4.4
 PE - Performance            functionalities more quickly.
                                                                                              4.6            0.778
 Expectancy                  Using the data-driven context model
                      PE.3                                                       4.6
                             increases my productivity.
                             My usage of the data-driven context model
                      EE.1                                                       3.8
                             would be clear and understandable.
                             It would be easy for me to become skillful at
                      EE.2                                                       4.2
                             using the data-driven context model.
                             I would find the data-driven context model
 EE - Effort          EE.3                                                       3.8
                             easy to use.                                                     4.05           0.468
 Expectancy
                             Learning to interpret the data-driven context
                      EE.4                                                       4.4
                             model is easy for me.
                             Using the data-driven context model is a bad
                      AT.1                                                       5
                             idea.
                             The data-driven context model makes
                      AT.2   elicitation of context-aware features more          4.2
                             interesting.
 AT - Attitute               Working with the data-driven context model
                      AT.3                                                       3.8
 towards using               is fun.                                                          4.34           0.804
 Technology                  I like working with the data-driven context
                      AT.4                                                       4.4
                             model.
                             I could elicit context-aware functionalities
                             using the data-driven context model
                      SE.1                                                       3.2
                             if there was no one around to tell me what
                             to do as I go.
                             I could elicit context-aware functionalities
                             using the data-driven context model
                      SE.2                                                       4.4
                             if I could call someone for help if I got
                             stuck.
                             I could elicit context-aware functionalities
                             using the data-driven context model
                      SE.3   if I had a lot of time to complete the job for      4.4
                             which the data-driven context model was
                             provided.
 SE - Self-Efficacy          I could elicit context-aware functionalities                     3.75           0.752
                             using the data-driven context model
                      SE.4                                                       3
                             if I had just the data-driven context model
                             itself for assistance.
                             I feel apprehensive about using the data-
                      AX.1                                                       3.8
                             driven context model.
                             I hesitate to use the data-driven context
                      AX.2                                                       4.6
                             model for fear of making mistakes.
 AX - Anxiety                                                                                 4.2            0.903
                             The data-driven context model is somehow
                      AX.3                                                       4.2
                             intimidating to me.



than 0.7 for PE, AT, SE, and AX, hence acceptable [35], whereas for EE it was not acceptable.
Apart from the aspect Self-efficacy (SE), all aspects had high scores (> 0.4); therefore, we can
conclude that the participants evaluated the model positively.

Content analysis of open-end question Nine participants – five from the treatment group
– answered to the open-end question and we organized their comments into five clusters:
   Difficult eliciting context-sensitive functionalities: One participant of the treatment group
mentioned that “[w]hile in theory the task [elicitation of context-aware functionalities] was
clear, it was not easy in practice, but I really like the idea of this model as it provides many
useful information that one would typically not really think of and which can tremendously
improve the requirements and hence the solutions”. Four participants of the control group (i.e.,
participants that did not have the data-driven context model at hand) commented on the difficult
of eliciting context-aware functionalities (e.g., “It is really hard to come up with valuable use
cases”, “I found it difficult to create the requirements”, “I struggled a bit with coming up with
new requirements at a approx. 15 minutes”, “I would suggest to make the task more concrete”).
   Usefulness of the model: Two participants from the treatment group explicitly praised the
support provided by the data-driven context model to help them eliciting context-aware func-
tionalities. One of them mentioned that the insights provided by the model were more evident
in contexts that included the intrinsic part (which was not always the case). According to the
participant, “[t]hrough the complementary part of the model (with...), it was easier to derive
the goal of the user”.
   Usage of the model: Two participants from the treatment group mentioned that they felt
pressured by time during the experiment. One of them wrote: “when provided with the model I
was overwhelmed (...) it required cognitive efforts to interpret the data”; the other commented
that in real life they “would be able to analyze the context model better and use it to ask meaning
questions to [their] stakeholders”.
   Post processing the model: Two participants from the treatment group referred to the existence
of noise in the data-driven context model and suggested a human-based post-processing step to
validate it, “to remove things that do not make sense at all”, as pointed by one of them.
   Experimental procedure: Two participants from the treatment group complimented the ex-
perimental procedure (e.g. “Very well explained”, “I felt prepared and knew what to do”, “good
explanation”).


6. Discussion
The focus of this work is not on data-driven context modeling processes, but rather on context
models that can be used to support such automated approaches. TASC4RE serves as a formal
representation for task-specific context models designed to support data-driven context mod-
eling approaches. It also expresses task-specific contexts in a human-friendly way through
its graphical DSL, which structures the contexts influencing the user task of interest as in
natural-language phrases. An important contribution of TASC4RE is the incorporation of the
notion of extrinsic and intrinsic contextual elements into the context model representation to
avoid compromising its expressiveness.
   The intended simplicity of the TASC4RE notation aims at making it easy to understand, while
giving it the flexibility to be used generally. This claim regarding its generalizability must be
investigated, though. The question is whether all possible contexts that may influence user tasks
of interest can be expressed in terms of “when context then task [with intrinsic context]”. In our
specific application (see Section 5), TASC4RE was successfully used to express complex contexts
found to influence the user task with algorithms that sometimes combined five contextual
 SE.1 (n=5)             60.0%                                40.0%                          EE.1 (n=5)                     20.0%                                80.0%




 SE.2 (n=5)                                                                    100.0%   1   EE.2 (n=5)                                                                  100.0%   1
                                                                                        2                                                                                        2
                                                                                        3                                                                                        3
                                                                                        4                                                                                        4
 SE.3 (n=5)                                                                    100.0%   5   EE.3 (n=5)             40.0%                                60.0%                    5




 SE.4 (n=5)     80.0%                                20.0%                                  EE.4 (n=5)                                                                  100.0%


              100%   80%    60%   40%   20%   0%   20%   40%     60%   80%   100%                   100%   80%   60%   40%     20%   0%   20%   40%   60%   80%    100%




                                    (a) Self-efficacy.                                                                 (b) Effort expectancy.

Figure 3: Part of participants’ assessment with respect to the usefulness of the model.


elements (out of fourteen) in the same context.
   The results of the experiment showed a positive trend towards acceptance of TASC4RE. All
aspects but Self-efficacy (see Figure 3a) showed high scores. This is partially confirmed by the
feedback received from some participants through the open-end question, and led us to reflect
on how we could improve the DSL, or the overall user experience with the model, to make its
usage even clearer. Concerning the reliability of the results, the scores of all aspects but Effort
expectancy (see Figure 3b) were considered reliable. We found the cause in item EE.1, which
referred to how clear and understandable the usage of the data-driven context model would be.
If EE.1 was removed, the aspect score would be 4.13 and the reliability, acceptable (0.733).
   It is worth noting that, in the experiment, participants of the treatment group worked
individually, though. In practice, we envision the usage of the data-driven context model as part
of a group activity to elicit context-aware functionalities. We expect that the synergy among
participants will speed up the ability of getting more insights from the model and improving
the chances of correctly discarding occasional noise in the model. Furthermore, the participants
evaluated TASC4RE in the context of a concrete task-specific model that was generated using
contextual data of a certain user task of DorfFunk, meaning that the positive evaluation of the
model is bound not only to TASC4RE itself, but also to the content of the concrete model and to
the data-driven process (in particular the algorithm) that analyzed the contextual data – i.e.,
confounding constructs are one of the threats to the validity of the results.


7. Conclusion
Context models have provided very limited support when it comes to requirements elicitation
of context-aware functionalities. Context modeling for requirements elicitation is perceived
as a very complex activity by practitioners, and has largely been overlooked. As data-driven
context modeling seems to be promising to overcome the complexity of context modeling for
requirements elicitation, suitable context models are required by such approaches.
   In this paper, we presented TASC4RE, a context model designed to support data-driven
context modeling approaches in representing how contexts influence user tasks of interest.
It is a formally specified context model that combines the intuitiveness of a directed graph
representation and the expressiveness of natural language to help requirements engineers come
up with novel, unexpected context-aware functionalities based on data insights. The usage of
TASC4RE was positively evaluated in a controlled experiment with professionals in the context
of a software development project.
   As future work, we plan to use TASC4RE in more projects to validate its expressiveness
in multiple domains. It would also be beneficial to conduct a comparative study to get more
empirical evidence about the expressiveness of TASC4RE in contrast to other RE-focused context
models that aim at supporting the elicitation of context-aware functionalities.


Acknowledgments
This work was partially supported by CNPq, Brazil ; and by the German Federal Ministry of
Education and Research (BMBF), in the project DynaSoS (grant no. 01|S21104).


References
 [1] B. Schilit, N. Adams, R. Want, Context-aware computing applications, in: 1994 first
     workshop on mobile computing systems and applications, IEEE, 1994, pp. 85–90.
 [2] C. Bettini, O. Brdiczka, K. Henricksen, J. Indulska, D. Nicklas, A. Ranganathan, D. Riboni, A
     survey of context modelling and reasoning techniques, Pervasive and Mobile Computing
     6 (2010) 161–180.
 [3] M. Baldauf, S. Dustdar, F. Rosenberg, A survey on context-aware systems, International
     Journal of Ad Hoc and Ubiquitous Computing 2 (2007) 263–277.
 [4] Z. Aarab, R. Saidi, M. D. Rahmani, Context modeling and metamodeling: A state of the
     art, in: Proceedings of the Mediterranean Conference on Information & Communication
     Technologies 2015, Springer, 2016, pp. 287–295.
 [5] P. Pradeep, S. Krishnamoorthy, The MOM of context-aware systems: A survey, Computer
     Communications (2019).
 [6] V. Vieira, CEManTIKA: A Domain-Independent Sistema for Designing Context-Sensitive
     Systems, Ph.D. thesis, Centro de Informática–UFPE, Brasil, 2008.
 [7] C. Bauer, S. Spiekermann, Conceptualizing context for pervasive advertising, in: Pervasive
     Advertising, Springer, 2011, pp. 159–183.
 [8] C. Bauer, A. Novotny, A consolidated view of context for intelligent systems, Journal of
     Ambient Intelligence and Smart Environments 9 (2017) 377–393.
 [9] C. Bauer, A. K. Dey, Considering context in the design of intelligent systems: Current
     practices and suggestions for improvement, Journal of Systems and Software 112 (2016)
     26–47.
[10] K. Henricksen, A framework for context-aware pervasive computing applications, Ph.D.
     thesis, The University of Queensland, 2003.
[11] D. Hong, D. Chiu, V. Shen, Requirements elicitation for the design of context-aware
     applications in a ubiquitous environment, volume 113, 2005, pp. 590–596. doi:10.1145/
     1089551.1089658 .
[12] P. Brézillon, Context modeling: Task model and practice model, in: International and
     Interdisciplinary Conference on Modeling and Using Context, Springer, 2007, pp. 122–135.
[13] C. Bauer, A framework for conceptualizing context for intelligent systems (CCFIS), Journal
     of Ambient Intelligence and Smart Environments 6 (2014) 403–417.
[14] R. Falcão, K. Villela, V. Vieira, M. Trapp, I. L. de Faria, The practical role of context
     modeling in the elicitation of context-aware functionalities: a survey, in: 2021 IEEE 29th
     International Requirements Engineering Conference (RE), IEEE, 2021, pp. 35–45.
[15] R. Falcão, Improving the elicitation of delightful context-aware features: A data-based
     approach, in: 2017 IEEE 25th International Requirements Engineering Conference (RE),
     2017, pp. 562–567. doi:10.1109/RE.2017.42 .
[16] K. Villela, A. Heß, M. Koch, R. Falcão, E. C. Groen, J. Dörr, C. N. Valero, A. Ebert, Towards
     ubiquitous RE: A perspective on requirements engineering in the era of digital transforma-
     tion, in: 2018 IEEE 26th International Requirements Engineering Conference (RE), IEEE,
     2018, pp. 205–216.
[17] R. Falcão, M. Trapp, V. Vieira, A. Vianna Dias da Silva, Using a data-driven context model
     to support the elicitation of context-aware functionalities–a controlled experiment, in:
     International Conference on Product-Focused Software Process Improvement, Springer,
     2021, pp. 119–135.
[18] A. K. Dey, Understanding and using context, Personal and ubiquitous computing 5 (2001)
     4–7.
[19] Object Modeling Group, Meta-Modeling and the OMG Meta Object Facility (MOF),
     https://bit.ly/3PAWc5K, 2017. Accessed: 2021-11-09.
[20] P. Bresciani, A. Perini, P. Giorgini, F. Giunchiglia, J. Mylopoulos, Tropos: An agent-oriented
     software development methodology, Autonomous Agents and Multi-Agent Systems 8
     (2004) 203–236.
[21] R. Ali, F. Dalpiaz, P. Giorgini, Location-based software modeling and analysis: Tropos-
     based approach, in: International Conference on Conceptual Modeling, Springer, 2008, pp.
     169–182.
[22] R. Ali, F. Dalpiaz, P. Giorgini, A goal-based framework for contextual requirements
     modeling and analysis, Requirements Engineering 15 (2010) 439–458.
[23] R. Ali, F. Dalpiaz, P. Giorgini, V. E. S. Souza, Requirements evolution: from assumptions
     to reality, in: Enterprise, Business-Process and Information Systems Modeling, Springer,
     2011, pp. 372–382.
[24] G. K. Mostéfaoui, P. Brézillon, Modeling context-based security policies with contextual
     graphs, in: IEEE Annual Conference on Pervasive Computing and Communications
     Workshops, 2004. Proceedings of the Second, IEEE, 2004, pp. 28–32.
[25] K. Jeong-Dong, J. Son, D.-K. Baik, CA5W1H Onto: Ontological Context-Aware Model
     Based on 5W1H, International Journal of Distributed Sensor Networks (2012).
[26] O. Saidani, C. Rolland, S. Nurcan, Towards a generic context model for bpm, in: 2015 48th
     Hawaii International Conference on System Sciences, IEEE, 2015, pp. 4120–4129.
[27] ISO/IEC 14977:1996, ISO/IEC 14977 - Information Technology - Syntactic metalanguage -
     Extended BNF, Standard, ISO, 1996.
[28] J. Rumbaugh, G. Booch, I. Jacobson, The unified modeling language user guide, Addison-
     wesley, 1998.
[29] D. Lewis, Extrinsic properties, Philosophical Studies 44 (1983) 197–200.
[30] P. D. Costa, G. Guizzardi, J. P. A. Almeida, L. F. Pires, M. Van Sinderen, Situations in
     conceptual modeling of context, in: 2006 10th IEEE International Enterprise Distributed
     Object Computing Conference Workshops (EDOCW’06), IEEE, 2006, pp. 6–6.
[31] M. Trapp, S. Heß, Digital villages, in: Biological Transformation, Springer, 2019.
[32] R. Falcão, R. King, A. L. Carvalho, xPACE and TASC Modeler: Tool support for data-driven
     context modeling, in: REFSQ’22, CEUR WS, 2022. URL: http://ceur-ws.org/Vol-3122/.
[33] C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, A. Wesslén, Experimentation
     in software engineering, Springer Science & Business Media, 2012.
[34] V. Venkatesh, M. G. Morris, G. B. Davis, F. D. Davis, User acceptance of information
     technology: Toward a unified view, MIS quarterly (2003) 425–478.
[35] J. F. Hair, W. Black, B. Babin, R. Anderson, Multivariate data analysis, Pearson, 2009.