As mentioned earlier, the application requires
graph algorithms such as breadth-first search to obtain
information and to guide the application’s behavior.
The graph information which was present in the do-
main model is, however, lost when transforming the
structural and behavioral models. In order to be able
to use the graph structure, it should be translated to
the application’s data model.
In the internal model, we store: (i) the variables
present in the DWDM with all their properties, and
(ii) the causal relations between the variables. This
information is captured by instantiating the Variable
class and the Causality class. These instances are
then stored and used for goal reasoning.
7.6 Application Construction
With all code elements generated or created, they can
be assembled. This is currently done manually. The
core framework is taken as a basis, the files contain-
ing the application specific code are added in separate
folders. These files are evaluated at run-time and their
classes instantiated through Java Reflection.
8 APPROACH APPLICATION
AND DISCUSSION
In this section, we will describe the application of our
approach in four experiments and discuss the results.
8.1 Application
Our modeling and design approach has been applied
in several settings to test their usefulness. Firstly, the
DWDM editor tool was used to facilitate the discus-
sion regarding the well-being domain among experts
in the fields of physical and mental well-being. After
explaining the modeling language, the experts could
discuss and reason about the domain elements in their
own field, and make connections to the other domain.
This small scale workshop was facilitated by one of
the authors of this paper, the resulting model can be
found at (Bosems, 2014). Validation of this overall
well-being model is currently being planned.
Secondly, a master graduation student was pro-
vided the DWDM editor to model the well-being
domain and test the design process. No model-
transformations were available, so further develop-
ment of the application development was done by
hand. The use of DWDMs was seen as useful to gain
insight in the technical application requirements. Re-
search was performed in to strategies for the selection
of “relevant” domain variables, given a certain goal
variable. Two strategies were identified and presented
by (Soriano Perez, 2014).
Thirdly, four students in a postgraduate course on
MDE were given the task to design an Activity Coach.
They were given the DWDM editor, and implementa-
tions of model transformations T1 and T2, allowing
them to generate PIM level models, as discussed in
sections 7.1 and 7.2. The time limit for the experiment
was 90 minutes. Results showed that the participants,
i.e. software engineers, were highly technology fo-
cused, not fully exploiting the domain knowledge and
models; participants were aimed at creating a soft-
ware solution, rather than thinking of the specifics of
the domain the application would be to focus in when
developed. Due to this narrow focus, DWDMs were
not used correctly. Additional experiments are needed
for further validation.
Finally, one of the authors compared the usage
of the process and model transformations discussed,
with the development of an application from scratch.
It was found that a full development of an applica-
tion using the structured method was faster than the
manual creation of an application. It should, how-
ever, be noted that due to in-depth knowledge of the
“desired” application structure, behavior and possible
implementation, the manual design and development
of the system was faster than what could be expected
when dealing with a new type of application. As such,
this experiment can be considered biased in that the
time required for the manual construction was lower
than what can be expected when the application struc-
ture and behavior is unknown.
8.2 Discussion
Although results show that our approach for the well-
being domain has benefits over traditional software
engineering models, and that these benefits can be ex-
ploited when they are used to guide the design and de-
velopment of well-being applications, there are some
considerations to be taken into account.
Firstly, the current process does not include steps
for the creation of a user interface. For this type of ap-
plication, the presentation to and interaction with the
user is of key importance; if the UI does not perform
adequately, the user will disregard the application.
Secondly, the current DWDM editor lacks features
that may improve usability. For example, the ability
to group, merge or hide modeling elements would in-
crease developer productivity.
Finally, the process relies on the input DWDM to
be valid. If this model is not valid, the resulting appli-
cation will be flawed too.
Model-drivenDevelopmentforUser-centricWell-beingSupport-FromDynamicWell-beingDomainModelsto
Context-awareApplications
431