5 RELATED WORK
Task models have been found to be widely adapted in
the research community. Several related work cov-
ers the translation of task models into correspond-
ing UML diagrams, but in a limited way. For exam-
ple, (Luyten and Clerckx, 2003; Van Den Bergh and
Coninx, 2007) define mappings from CTTs to state
machines, but neither provide a formal set of rules
nor do they cover the full recursive case. Other work
maps CTTs to UML activity diagrams in a similar
way as in this work (Br
¨
uning et al., 2008; Br
¨
uning
et al., 2012). However, we feel that state charts are
easier to handle and use in actual implementations.
Furthermore, (Zhu et al., 2012) extract state ma-
chines from CTTs to derive the system behavior. Un-
fortunately, they only use it for verification, but do
not consider interactive execution. A recursive algo-
rithm to map CTTs to state machines is presented in
(Sinnig et al., 2013), but this only aims at extracting
possible executions for verifications, and also does
not consider interactive execution. Compared to this
work, related projects that employ (CTT) task models
to derive system information mostly seem to concen-
trate on the user interface (which is not enough when
focusing a more comprehensive approach to model-
driven systems engineering) or they generate UML
models on a higher and more abstract level, which re-
quire some manual effort to implement.
6 CONCLUSION
In this work, we have presented the first recursive al-
gorithm to translate CTTs, based on their tree struc-
ture, into executable state machines. Compared to
prior work, the generated state machines interact with
the environment by means of high-level events which
correspond to tasks in CTTs. These events can be
triggered by actual UI elements or concrete (sensor)
events in real implementations. A full tool chain for
this is presented in (Wagner, 2015). As the major
technical contribution of this paper, we have intro-
duced and extensively used incomplete or partial state
machines. These are composed in a recursive way
to form bigger and more complex (partial) state ma-
chines, which can act as central controllers for desk-
top or embedded applications.
REFERENCES
Br
¨
uning, J., Dittmar, A., Forbrig, P., and Reichart, D.
(2008). Getting SW engineers on board: Task mod-
elling with activity diagrams. Lecture Notes in Com-
puter Science (including subseries Lecture Notes in
Artificial Intelligence and Lecture Notes in Bioinfor-
matics), 4940 LNCS:175–192.
Br
¨
uning, J., Kunert, M., and Lantow, B. (2012). Modeling
and executing concurtasktrees using a uml and soil-
based metamodel. In Proceedings of the 12th Work-
shop on OCL and Textual Modelling, OCL ’12, pages
43–48, New York, NY, USA. ACM.
Eshuis, R. (2009). Reconciling statechart semantics. Sci-
ence of Computer Programming, 74(3):65–99.
Harel, D. (1987). Statecharts: a visual formalism for com-
plex systems. Science of Computer Programming,
8(3):231–274.
Luyten, K. and Clerckx, T. (2003). Derivation of a dialog
model from a task model by activity chain extraction.
Interactive Systems. Design . . . , pages 203–217.
Omg (2004). UML 2.4.1 Superstructure Specification. Oc-
tober, 02(August):1–786.
Patern
`
o, F. (2000). Model-Based Design and Evaluation of
Interactive Applications. Springer-Verlag London.
Patern
`
o, F. (2001). Task models in interactive software sys-
tems. Handbook of software engineering & knowl-
edge engineering, pages 817–836.
Patern
`
o, F., Santoro, C., and Spano, L. D. (2012). Concur
Task Trees (CTT).
Pnueli, A. and Shalev, M. (1991). What is in a step: On the
semantics of statecharts. 937:244–264.
Sinnig, D., Chalin, P., and Khendek, F. (2013). Use case
and task models: an integrated development method-
ology and its formal foundation. ACM Transactions
on Software Engineering and Methodology (TOSEM),
22(3):27.
Van Den Bergh, J. and Coninx, K. (2007). From Task to
Dialog Model in the UML. In Task Models and Dia-
grams for User Interface Design, pages 98 – 111.
Wagner, A. (2015). Multi-Device Extensions for CTT Dia-
grams and their Use in a Model-based Tool Chain for
the Internet of Things. Master’s thesis, TU M
¨
unchen,
Germany.
Zhu, B., Zhang, S., and Wang, A. (2012). Towards a for-
mal integrated model for function and user interface.
Proceedings - 13th ACIS International Conference
on Software Engineering, Artificial Intelligence, Net-
working, and Parallel/Distributed Computing, SNPD
2012, pages 275–280.
MODELSWARD 2016 - 4th International Conference on Model-Driven Engineering and Software Development
208